Organisationen und OEs erlauben, einen KMS-Schlüssel zu verwenden - Amazon Elastic Compute Cloud

Organisationen und OEs erlauben, einen KMS-Schlüssel zu verwenden

Wenn Sie ein AMI freigeben, das durch verschlüsselte Snapshots gesichert ist, müssen Sie auch den Organisationen oder Organisationseinheiten (OUs) erlauben, die KMS-Schlüssel zu benutzen, die zum Verschlüsseln der Snapshots verwendet wurden.

Anmerkung

Die verschlüsselten Snapshots müssen mit einem vom Kunden verwalteten Schlüssel verschlüsselt sein. Sie können keine AMIs freigeben, die von Snapshots unterstützt werden, die mit dem verwalteten Standardschlüssel AWS verschlüsselt sind.

Um den Zugriff auf den KMS-Schlüssel zu steuern, können Sie in der Schlüsselrichtlinie die Schlüssel aws:PrincipalOrgIDund die aws:PrincipalOrgPaths-Bedingungsschlüssel verwenden, um nur bestimmten Prinzipalen Zugriff auf die angegebenen Aktionen zu gewähren. Bei diesem Prinzipal kann es sich um einen Benutzer, eine IAM-Rolle, einen Verbundbenutzer oder einen AWS-Konto-Root-Benutzer handeln.

Die Bedingungsschlüssel werden wie folgt verwendet:

  • aws:PrincipalOrgID – Erlaubt jeden Prinzipal, der zu der Organisation gehört, die durch die angegebene ID repräsentiert wird.

  • aws:PrincipalOrgPaths – Erlaubt jeden Prinzipal, der zu der OE angehört, die durch den angegebenen Pfade repräsentiert wird.

Wenn Sie einer Organisation (einschließlich der OEs und Konten, die dazugehören) die Berechtigung gewähren möchten, einen KMS-Schlüssel zu verwenden, fügen Sie der Schlüsselrichtlinie die folgende Anweisung hinzu.

{ "Sid": "Allow access for organization root", "Effect": "Allow", "Principal": "*", "Action": [ "kms:Describe*", "kms:List*", "kms:Get*", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-123example" } } }

Um bestimmte OEs (und den zugehörigen Konten) die Berechtigung zu gewähren, einen KMS-Schlüssel zu verwenden, können Sie eine ähnliche Richtlinie wie im folgenden Beispiel verwenden.

{ "Sid": "Allow access for specific OUs and their descendants", "Effect": "Allow", "Principal": "*", "Action": [ "kms:Describe*", "kms:List*", "kms:Get*", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-123example" }, "ForAnyValue:StringLike": { "aws:PrincipalOrgPaths": [ "o-123example/r-ab12/ou-ab12-33333333/*", "o-123example/r-ab12/ou-ab12-22222222/*" ] } } }

Weitere Beispiele für Bedingungsanweisungen finden Sie unter aws:PrincipalOrgID und aws:PrincipalOrgPaths im IAM-Benutzerhandbuch.

Weitere Informationen über kontoübergreifender Zugriff finden Sie im AWS Key Management Service-Entwicklerhandbuch unter Zulassen der Verwendung eines KMS-Schlüssels durch Benutzer in anderen Konten.