Benutzern in anderen Konten die Verwendung des KMS-Schlüssels erlauben - AWS Key Management Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Benutzern in anderen Konten die Verwendung des KMS-Schlüssels erlauben

Sie können IAM-Benutzern oder -Rollen in einem anderen AWS-Konto die Verwendung eines KMS-Schlüssels in Ihrem Konto erlauben. Der kontoübergreifende Zugriff erfordert die Berechtigung in der Schlüsselrichtlinie des KMS-Schlüssels und in einer IAM-Richtlinie im Konto des externen Benutzers.

Die kontenübergreifende Berechtigung gilt nur für die folgenden Operationen:

Wenn Sie einem Benutzer in einem anderen Konto die Berechtigung für andere Operationen erteilen, haben diese Berechtigungen keine Auswirkungen. Wenn Sie beispielsweise einem Prinzipal in einem anderen Konto kms:ListKeys Berechtigung in einer IAM-Richtlinie oder kms:ScheduleKeyDeletion Berechtigung für einen KMS-Schlüssel in einer Schlüsselrichtlinie erteilen, schlagen die Versuche des Benutzers, diese Operationen für Ihre Ressourcen aufzurufen, weiterhin fehl.

Weitere Informationen zur Verwendung von KMS-Schlüsseln in verschiedenen Konten für AWS KMS-Operationen finden Sie in der Spalte Kontenübergreifende Nutzung in der AWS KMS Berechtigungen und Verwenden von KMS-Schlüsseln in anderen Konten. Es gibt auch einen Abschnitt über kontenübergreifende Nutzung in jeder API-Beschreibung in der AWS Key Management Service-API-Referenz.

Warnung

Seien Sie vorsichtig, wenn Sie Prinzipalen Berechtigungen zur Verwendung Ihrer KMS-Schlüssel erteilen. Wenn möglich, befolgen Sie dem Prinzip der geringsten Berechtigung. Geben Sie Benutzern nur Zugriff auf die KMS-Schlüssel, die sie für die erforderlichen Vorgänge benötigen.

Seien Sie auch vorsichtig bei der Verwendung eines unbekannten KMS-Schlüssels, insbesondere eines KMS-Schlüssels in einem anderen Konto. Bösartige Benutzer geben Ihnen möglicherweise die Berechtigung, ihren KMS-Schlüssel zu verwenden, um Informationen über Sie oder Ihr Konto abzurufen.

Weitere Informationen zur Verwendung von Richtlinien zum Steuern des Zugriffs auf die Ressourcen in Ihrem Konto finden Sie unter Bewährte Methoden für IAM-Richtlinien.

Um Benutzern und Rollen in einem anderen Konto die Berechtigung zur Verwendung eines KMS-Schlüssels zu erteilen, müssen Sie zwei verschiedene Arten von Richtlinien verwenden:

  • Die Schlüsselrichtlinie für den KMS-Schlüssel muss dem externen Konto (oder den Benutzern und Rollen im externen Konto) die Berechtigung zur Verwendung des KMS-Schlüssels erteilen. Die Schlüsselrichtlinie ist in dem Konto definiert, in dem der KMS-Schlüssel hinterlegt ist.

  • IAM-Richtlinien im externen Konto müssen die Schlüsselrichtlinien-Berechtigungen an seine Benutzer und Rollen delegieren. Diese Richtlinien werden im externen Konto festgelegt und erteilen Berechtigungen für Benutzer und Rollen in diesem Konto.

Die Schlüsselrichtlinie bestimmt, wer Zugriff auf den KMS-Schlüssel haben kann. Die IAM-Richtlinie bestimmt, wer Zugriff auf den KMS-Schlüssel hat. Weder die Schlüsselrichtlinie noch die IAM-Richtlinie allein sind ausreichend – Sie müssen beides ändern.

Um die Schlüsselrichtlinie zu bearbeiten, können Sie die Richtlinienansicht in der AWS Management Console oder die CreateKey- oder -PutKeyPolicyOperationen verwenden. Weitere Informationen zum Festlegen der Schlüsselrichtlinie beim Erstellen eines KMS-Schlüssels finden Sie unter Erstellen von KMS-Schlüssel, die von anderen Konten verwendet werden können.

Hilfe zum Bearbeiten von IAM-Richtlinien finden Sie unter Verwenden von IAM-Richtlinien mit AWS KMS.

Ein Beispiel, das zeigt, wie die Schlüsselrichtlinie und IAM-Richtlinien zusammenarbeiten, um die Verwendung eines KMS-Schlüssel in einem anderen Konto zu ermöglichen, finden Sie unter Beispiel 2: Der Benutzer übernimmt eine Rolle mit der Berechtigung zur Verwendung eines KMS-Schlüssels in einem anderen AWS-Konto..

Sie können die resultierenden kontenübergreifenden AWS KMS-Operationen auf dem KMS-Schlüssel in Ihren AWS CloudTrail-Protokollen anzeigen. Operationen, die KMS-Schlüssel in anderen Konten verwenden, werden sowohl im Konto des Anrufers als auch im Konto des KMS-Schlüsselbesitzers protokolliert.

Anmerkung

Die Beispiele in diesem Thema zeigen, wie Sie eine Schlüsselrichtlinie und eine IAM-Richtlinie zusammen verwenden, um den Zugriff auf einen KMS-Schlüssel bereitzustellen und einzuschränken. Diese generischen Beispiele sollen nicht die Berechtigungen darstellen, die ein bestimmter AWS-Service von einem KMS-Schlüssel erfordert. Weitere Informationen zu Berechtigungen, die ein AWS-Service benötigt, finden Sie im Thema zur Verschlüsselung in der Service-Dokumentation.

Schritt 1: Hinzufügen einer Schlüsselrichtlinienanweisung im lokalen Konto

Die Schlüsselrichtlinie für einen KMS-Schlüssel ist der erste Bestimmungsfaktor dafür, wer auf den KMS-Schlüssel zugreifen kann und welche Operationen sie ausführen können. Die Schlüsselrichtlinie ist immer in dem Konto, in dem der KMS-Schlüssel hinterlegt ist. Anders als IAM-Richtlinien geben Schlüsselrichtlinien keine Ressource an. Die Ressource ist der KMS-Schlüssel, der die Schlüsselrichtlinie zugeordnet ist. Wenn Sie eine kontenübergreifende Berechtigung erteilen, muss die Schlüsselrichtlinie für den KMS-Schlüssel dem externen Konto (oder den Benutzern und Rollen im externen Konto) die Berechtigung erteilen, den KMS-Schlüssel zu verwenden.

Um einem externen Konto die Berechtigung zur Verwendung des KMS-Schlüssels zu erteilen, fügen Sie der Schlüsselrichtlinie eine Anweisung hinzu, die das externe Konto angibt. Geben Sie im Principal-Element der Schlüsselrichtlinie den Amazon-Ressourcennamen (ARN) des externen Kontos ein.

Wenn Sie ein externes Konto in einer Schlüsselrichtlinie angeben, können IAM-Administratoren im externen Konto IAM-Richtlinien verwenden, um diese Berechtigungen an alle Benutzer und Rollen im externen Konto zu delegieren. Sie können auch entscheiden, welche der in der Schlüsselrichtlinie angegebenen Aktionen die Benutzer und Rollen ausführen dürfen.

Berechtigungen, die dem externen Konto und seinen Prinzipalen erteilt werden, sind nur wirksam, wenn das externe Konto in der Region aktiviert ist, die den KMS-Schlüssel und seine Schlüsselrichtlinie hostet. Informationen zu Regionen, die standardmäßig nicht aktiviert sind („Opt-In-Regionen“), finden Sie unter Verwalten von AWS-Regionen in Allgemeine AWS-Referenz.

Angenommen, Sie möchten Konto 444455556666 erlauben, einen symmetrischen KMS-Schlüssel im Konto 111122223333 zu verwenden. Fügen Sie dazu der Schlüsselrichtlinie für den KMS-Schlüssel in Konto 111122223333 eine Schlüsselrichtlinie wie die im folgenden Beispiel hinzu. Diese Richtlinienanweisung erteilt dem externen Konto 444455556666 die Berechtigung, den KMS-Schlüssel in kryptografischen Operationen für KMS-Schlüssel mit symmetrischer Verschlüsselung zu verwenden.

Anmerkung

Das folgende Beispiel stellt ein Beispiel für eine Schlüsselrichtlinie für die gemeinsame Nutzung eines KMS-Schlüssels mit einem anderen Konto dar. Ersetzen Sie die Werte Sid, Principal und Action im Beispiel durch gültige Werte für die vorgesehene Verwendung Ihres KMS-Schlüssels.

{ "Sid": "Allow an external account to use this KMS key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

Anstatt dem externen Konto die Berechtigung zu erteilen, können Sie bestimmte externe Benutzer und Rollen in der Schlüsselrichtlinie angeben. Diese Benutzer und Rollen können den KMS-Schlüssel jedoch erst verwenden, wenn IAM-Administratoren im externen Konto ihren Identitäten die richtigen IAM-Richtlinien anfügen. Die IAM-Richtlinien können allen oder einer Teilmenge der externen Benutzer und Rollen, die in der Schlüsselrichtlinie angegeben sind, die Berechtigung erteilen. Und sie können alle oder eine Teilmenge der Aktionen zulassen, die in der Schlüsselrichtlinie angegeben sind.

Die Angabe von Identitäten in einer Schlüsselrichtlinie beschränkt die Berechtigungen, die IAM-Administratoren im externen Konto bereitstellen können. Die Richtlinienverwaltung mit zwei Konten wird jedoch komplexer. Angenommen, Sie müssen einen Benutzer oder eine Rolle hinzufügen. Sie müssen diese Identität der Schlüsselrichtlinie in dem Konto hinzufügen, das den KMS-Schlüssel besitzt, und IAM-Richtlinien im Konto der Identität erstellen.

Um bestimmte externe Benutzer oder Rollen in einer Schlüsselrichtlinie anzugeben, geben Sie im Principal-Element den Amazon-Ressourcennamen (ARN) eines Benutzers oder einer Rolle im externen Konto ein.

Die folgende Schlüsselrichtlinienanweisung erlaubt es beispielsweise ExampleRole im Konto 444455556666, einen KMS-Schlüssel im Konto 111122223333 zu verwenden. Diese Schlüssel-Richtlinienanweisung erteilt dem externen Konto 444455556666 die Berechtigung, den KMS-Schlüssel in kryptografischen Operationen für KMS-Schlüssel mit symmetrischer Verschlüsselung zu verwenden.

Anmerkung

Das folgende Beispiel stellt ein Beispiel für eine Schlüsselrichtlinie für die gemeinsame Nutzung eines KMS-Schlüssels mit einem anderen Konto dar. Ersetzen Sie die Werte Sid, Principal und Action im Beispiel durch gültige Werte für die vorgesehene Verwendung Ihres KMS-Schlüssels.

{ "Sid": "Allow an external account to use this KMS key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:role/ExampleRole" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }
Anmerkung

Setzen Sie den Prinzipal nicht auf ein Sternchen (*) in einer Schlüsselrichtlinienanweisung, die Berechtigungen erlaubt, es sei denn, Sie verwenden Bedingungen, um die Schlüsselrichtlinie einzuschränken. Ein Sternchen gibt jeder Identität in jedem AWS-Konto die Berechtigung, den KMS-Schlüssel zu verwenden, es sei denn, eine andere Richtlinienanweisung verweigert dies explizit. Benutzer in anderen AWS-Konten können Ihren KMS-Schlüssel verwenden, wenn sie in ihrem eigenen Konto über entsprechende Berechtigungen verfügen.

Sie müssen auch entscheiden, welche Berechtigungen Sie dem externen Konto erteilen möchten. Eine Liste der Berechtigungen für KMS-Schlüssel finden Sie unter AWS KMS Berechtigungen.

Sie können dem externen Konto die Berechtigung erteilen, den KMS-Schlüssel in kryptografischen Operationen zu verwenden und den KMS-Schlüssel mit AWS-Services zu verwenden, die in AWS KMS integriert sind. Verwenden Sie dazu den Abschnitt Key Users (Schlüsselbenutzer) der AWS Management Console. Details hierzu finden Sie unter Erstellen von KMS-Schlüssel, die von anderen Konten verwendet werden können.

Um andere Berechtigungen in Schlüsselrichtlinien anzugeben, bearbeiten Sie das Schlüsselrichtliniendokument. Sie können beispielsweise Benutzern die Berechtigung zum Entschlüsseln, aber nicht zum Verschlüsseln erteilen, oder die Berechtigung zum Anzeigen des KMS-Schlüssels, aber nicht zur Verwendung. Um das Schlüsselrichtliniendokument zu bearbeiten, können Sie die Richtlinienansicht in der AWS Management Console oder den CreateKey - oder -PutKeyPolicyOperationen verwenden.

Schritt 2: Hinzufügen von IAM-Richtlinien im externen Konto

Die Schlüsselrichtlinie im Konto, dem der KMS-Schlüssel gehört, legt den gültigen Bereich für Berechtigungen fest. Benutzer und Rollen im externen Konto können den KMS-Schlüssel erst verwenden, wenn Sie IAM-Richtlinien anfügen, die diese Berechtigungen delegieren, oder Erteilungen verwenden, um den Zugriff auf den KMS-Schlüssel zu verwalten. Die IAM-Richtlinien werden im externen Konto festgelegt.

Wenn die Schlüsselrichtlinie dem externen Konto die Berechtigung erteilt, können Sie jedem Benutzer oder jeder Rolle im Konto IAM-Richtlinien zuweisen. Aber wenn die Schlüsselrichtlinie den angegebenen Benutzern oder Rollen die Berechtigung erteilt, kann die IAM-Richtlinie diese Berechtigungen nur allen oder einer Teilmenge der angegebenen Benutzer und Rollen erteilen. Wenn eine IAM-Richtlinie anderen externen Benutzern oder Rollen den Zugriff auf KMS-Schlüssel gewährt, hat dies keine Auswirkungen.

Die Schlüsselrichtlinie beschränkt auch die Aktionen in der IAM-Richtlinie. Die IAM-Richtlinie kann alle oder eine Teilmenge der Aktionen delegieren, die in der Schlüsselrichtlinie angegeben sind. Wenn die IAM-Richtlinie Aktionen auflistet, die nicht in der Schlüsselrichtlinie angegeben sind, sind diese Berechtigungen nicht wirksam.

Die folgende IAM-Beispielrichtlinie erlaubt es dem Prinzipal, den KMS-Schlüssel im Konto 111122223333 für kryptografische Operationen zu verwenden. Um diese Berechtigung Benutzern und Rollen im Konto 444455556666 zu erteilen, fügen Sie die Richtlinie den Benutzern oder Rollen im Konto 444455556666 an.

Anmerkung

Das folgende Beispiel stellt eine IAM-Richtlinie für die gemeinsame Nutzung eines KMS-Schlüssels mit einem anderen Konto dar. Ersetzen Sie die Werte Sid, Resource und Action im Beispiel durch gültige Werte für die vorgesehene Verwendung Ihres KMS-Schlüssels.

{ "Sid": "AllowUseOfKeyInAccount111122223333", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

Beachten Sie die folgenden Details über diese Richtlinie:

  • Im Gegensatz zu Schlüsselrichtlinien enthalten IAM-Richtlinienanweisungen das Principal-Element nicht. In IAM-Richtlinien ist der Prinzipal die Identität, der die Richtlinie angefügt ist.

  • Das Resource-Element in der IAM-Richtlinie identifiziert den KMS-Schlüssel, den der Prinzipal verwenden kann. Um einen KMS-Schlüssel anzugeben, fügen Sie dessen Schüssel-ARN dem Resource-Element hinzu.

  • Sie können mehrere KMS-Schlüssel im Resource-Element angeben. Wenn Sie jedoch keine bestimmten KMS-Schlüssel im Resource-Element angeben, können Sie versehentlich Zugriff auf mehr KMS-Schlüssel gewähren, als Sie beabsichtigen.

  • Damit der externe Benutzer den KMS-Schlüssel mit AWS-Services verwenden kann, die in AWS KMS integriert sind, müssen Sie möglicherweise Berechtigungen zur Schlüsselrichtlinie oder der IAM-Richtlinie hinzufügen. Details hierzu finden Sie unter Zulassen der Verwendung externer KMS-Schlüssel mit AWS-Services.

Weitere Informationen zur Arbeit mit IAM-Richtlinien finden Sie unter IAM-Richtlinien.

Erstellen von KMS-Schlüssel, die von anderen Konten verwendet werden können

Wenn Sie die -CreateKeyOperation verwenden, um einen KMS-Schlüssel zu erstellen, können Sie seinen Policy Parameter verwenden, um eine Schlüsselrichtlinie anzugeben, die einem externen Konto oder externen Benutzern und Rollen die Berechtigung zur Verwendung des KMS-Schlüssels erteilt. Sie müssen auch IAM-Richtlinien im externen Konto hinzufügen, die diese Berechtigungen an die Benutzer und Rollen des Kontos delegieren, auch wenn Benutzer und Rollen in der Schlüsselrichtlinie angegeben sind. Sie können die Schlüsselrichtlinie jederzeit ändern, indem Sie die -PutKeyPolicyOperation verwenden.

Wenn Sie einen KMS-Schlüssel in der AWS Management Console erstellen, erstellen Sie auch dessen Schlüsselrichtlinie. Wenn Sie Identitäten im Abschnitt Key Administrators (Schlüsseladministratoren) und Key Users (Schlüsselbenutzer) auswählen, fügt AWS KMS Richtlinienanweisungen für diese Identitäten zur Schlüsselrichtlinie des KMS-Schlüssels hinzu.

Im Abschnitt Key Users (Schlüsselbenutzer) können Sie auch externe Konten als Schlüsselbenutzer hinzufügen.

Das Konsolenelement, das externe Konten zur Schlüsselrichtlinie für einen KMS-Schlüssel hinzufügt.

Wenn Sie die Konto-ID eines externen Kontos eingeben, fügt AWS KMS der Schlüsselrichtlinie zwei Anweisungen hinzu. Diese Aktion wirkt sich nur auf die Schlüsselrichtlinie aus. Benutzer und Rollen im externen Konto können den KMS-Schlüssel erst verwenden, wenn Sie IAM-Richtlinien anfügen, um ihnen einige oder alle dieser Berechtigungen zu erteilen.

Die erste Schlüsselrichtlinienanweisung erteilt dem externen Konto die Berechtigung, den KMS-Schlüssel in kryptografischen Operationen zu verwenden.

Anmerkung

Die folgenden Beispiele stellen eine Schlüsselrichtlinie für die gemeinsame Nutzung eines KMS-Schlüssels mit einem anderen Konto dar. Ersetzen Sie die Werte Sid, Principal und Action im Beispiel durch gültige Werte für die vorgesehene Verwendung Ihres KMS-Schlüssels.

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

Die zweite Schlüsselrichtlinienanweisung erlaubt es dem externen Konto, Erteilungen für den KMS-Schlüssel zu erstellen, anzuzeigen und zu widerrufen, aber nur, wenn die Anforderung von einem AWS-Service stammt, der in AWS KMS integriert ist. Diese Berechtigungen erlauben es anderen AWS-Services, die Benutzerdaten verschlüsseln, den KMS-Schlüssel zu verwenden.

Diese Berechtigungen sind für KMS-Schlüssel konzipiert, die Benutzerdaten in -AWSServices wie Amazon WorkMail verschlüsseln. Diese Services verwenden in der Regel Erteilungen, um die Berechtigungen zu erhalten, die sie für die Verwendung des KMS-Schlüssels im Namen des Benutzers benötigen. Details hierzu finden Sie unter Zulassen der Verwendung externer KMS-Schlüssel mit AWS-Services.

{ "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } }

Wenn diese Berechtigungen nicht Ihren Anforderungen entsprechen, können Sie sie in der Konsolenrichtlinienansicht oder mithilfe der PutKeyPolicy Operation bearbeiten. Sie können bestimmte externe Benutzer und Rollen angeben, anstatt dem externen Konto die Berechtigung zu erteilen. Sie können die Aktionen ändern, die die Richtlinie angibt. Außerdem können Sie globale und AWS KMS-Richtlinienbedingungen verwenden, um die Berechtigungen einzuschränken.

Zulassen der Verwendung externer KMS-Schlüssel mit AWS-Services

Sie können einem Benutzer in einem anderen Konto die Berechtigung erteilen, Ihren KMS-Schlüssel mit einem Service zu verwenden, der in AWS KMS integriert ist. Beispielsweise kann ein Benutzer in einem externen Konto Ihren KMS-Schlüssel verwenden, um die Objekte in einem Amazon-S3-Bucket zu verschlüsseln oder die in AWS Secrets Manager gespeicherten Geheimnisse zu verschlüsseln.

Die Schlüsselrichtlinie muss dem externen Benutzer oder dem Konto des externen Benutzers die Berechtigung zur Verwendung des KMS-Schlüssels erteilen. Darüber hinaus müssen Sie IAM-Richtlinien an die Identität anfügen, die dem Benutzer die Berechtigung zur Nutzung des AWS-Service erteilt. Außerdem erfordert der Service möglicherweise, dass Benutzer über zusätzliche Berechtigungen in der Schlüsselrichtlinie oder IAM-Richtlinie verfügen. Eine Liste der Berechtigungen, die der AWS-Service für einen vom Kunden verwalteten Schlüssel benötigt, finden Sie im Thema „Datenschutz“ im Kapitel „Sicherheit“ des Benutzerhandbuchs oder des Entwicklerhandbuchs für den Service.

Verwenden von KMS-Schlüsseln in anderen Konten

Wenn Sie über die Berechtigung verfügen, einen KMS-Schlüssel in einem anderen AWS-Konto zu verwenden, können Sie den KMS-Schlüssel in der AWS Management Console, den AWS-SDKs, der AWS CLI und AWS Tools for PowerShell verwenden.

Um einen KMS-Schlüssel in einem anderen Konto in einem Shell-Befehl oder einer API-Anforderung zu identifizieren, verwenden Sie die folgenden Schlüsselbezeichner.

Wenn Sie nur eine Schlüssel-ID oder einen Aliasnamen eingeben, geht AWS davon aus, dass sich der KMS-Schlüssel in Ihrem Konto befindet.

Die AWS KMS-Konsole zeigt keine KMS-Schlüssel in anderen Konten an, selbst wenn Sie über die Berechtigung verfügen, sie zu verwenden. Außerdem enthalten die Listen der KMS-Schlüssel, die in den Konsolen anderer AWS-Services angezeigt werden, keine KMS-Schlüssel in anderen Konten.

Um einen KMS-Schlüssel in einem anderen Konto in der Konsole eines AWS-Service anzugeben, müssen Sie den Schlüssel-ARN oder Alias-ARN des KMS-Schlüssels eingeben. Die erforderliche Schlüssel-ID variiert je nach Service und kann auch zwischen der Servicekonsole und ihren API-Operationen variieren. Weitere Informationen finden Sie in der Service-Dokumentation.