2017-11-01 1 views
0

In KMS gibt es die Amazon Alias-Schlüssel (z. B. /alias/aws/s3) und Customer Master Keys (CMKs).IAM-Richtlinie, um nur Zugriff auf Alias-Schlüssel von Amazon zu gewähren

Für jedes Entwicklungsteam, ich habe ein paar CMKS mit Aliasnamen (zB /alias/team1/default, /alias/team1/confidential)

ich den Zugang zu ermöglichen, möchten die Schlüssel für alle IAM Benutzer/Gruppen/Rollen aliased aws, aber Team bieten Level-Zugriff auf Teamebene Tasten

Mein Problem kommt, wenn der Zugang zu aws zu ermöglichen versuchen, Schlüssel verwaltet

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "NotAction": [ 
     "iam:*", 
     "kms:*" 
     ], 
     "Resource": "*", 
     "Condition": { 
     "Null": { 
      "aws:MultiFactorAuthAge": "false" 
     } 
     } 
    }, 
    { 
     "Effect": "Allow", 
     "Resource": "arn:aws:kms:us-east-1:111111111111:alias/aws/*", 
     "Action": [ 
     "kms:Encrypt", 
     "kms:Decrypt", 
     "kms:GenerateDataKey*", 
     "kms:DescribeKey" 
     ], 
     "Condition": { 
     "Null": { 
      "aws:MultiFactorAuthAge": "false" 
     } 
     } 
    } 
    ] 
} 

implizit iam:* und kms:*, um zu verweigern aber Zugang t erlauben o aws aliased Keys

Wenn mit dem IAM Politik Simulator arbeiten, es sieht aus wie ich Zugriff auf den vollen Schlüssel arn zu bieten habe (arn:aws:kms:us-east-1:111111111111:key/abcd123-acbd-1234-abcd-acbcd1234abcd) anstelle dem Alias ​​(arn:aws:kms:us-east-1:111111111111:alias/aws/*)

Gibt es eine bessere Art und Weise zu verwalten Dies?

Ich weiß, dass ich Zugriff auf CMKS mit Schlüssel Richtlinien verwalten können und nicht den Zugang von IAM erlauben, aber Sie können keine Gruppen als Principal in einem Schlüssel KMS verwenden Politik

+1

Seien Sie vorsichtig mit dem NotAction Element. In Ihrer Beispielrichtlinie haben Sie alle Dienste und Aktionen zugelassen, die NICHT iam: * und kms: * sind. Referenz: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html –

+0

Dies ist für unser Dev-Konto und die Gruppe, für die ich das mache, ist eine "Poweruser" -Gruppe. Die Idee ist, dass sie die Fähigkeit haben sollten, Dinge zu probieren und ohne Reibung zu experimentieren, aber sollte sich ein Team entscheiden, mit ihren eigenen Schlüsseln zu verschlüsseln, möchte ich den Schlüsselzugriff isolieren – tkwargs

Antwort

1

Sie können für Schlüssel alias als die Ressource verwenden APIs, die zum Steuern des Zugriffs auf APIs verwendet werden, die auf die Aliase selbst einwirken (z. B. Alias ​​erstellen/löschen) und ein Alias ​​können nicht als ARN anstelle einer Schlüssel-ID verwendet werden, um den Zugriff auf die zugrunde liegenden Schlüssel zu steuern. Sie können auf die Tabelle in der folgenden URL verweisen, in der erläutert wird, welche Ressource/ARN mit KMS-APIs verwendet werden soll.

http://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html

Sie können diesen Ansatz berücksichtigen: die IAM-Gruppe erlauben eine IAM-Rolle zu übernehmen und die IAM-Rolle in der Schlüsselpolitik der CMK zu ermöglichen.

Quelle: https://forums.aws.amazon.com/thread.jspa?threadID=173540

Verwandte Themen