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.
Steuern Sie den Zugriff auf Ihren externen Schlüsselspeicher
Alle AWS KMS Zugriffskontrollfunktionen — wichtige Richtlinien, IAM-Richtlinien und Grants —, die Sie mit Standard-KMS-Schlüsseln verwenden, funktionieren auf dieselbe Weise für KMS-Schlüssel in einem externen Schlüsselspeicher. Sie können IAM-Richtlinien verwenden, um den Zugriff auf die API-Operationen zur Erstellung und Verwaltung externer Schlüsselspeicher zu steuern. Sie verwenden IAM-Richtlinien und Schlüsselrichtlinien, um den Zugriff auf die AWS KMS keys in Ihrem externen Schlüsselspeicher gespeicherten Daten zu steuern. Sie können auch Dienststeuerungsrichtlinien für Ihre AWS Organisation und VPC-Endpunktrichtlinien verwenden, um den Zugriff auf KMS-Schlüssel in Ihrem externen Schlüsselspeicher zu steuern.
Sie sollten Benutzern und Rollen ausschließlich die Berechtigungen gewähren, die sie für die Aufgaben benötigen, die sie voraussichtlich ausführen werden.
Themen
Autorisierung externer Schlüsselspeichermanager
Prinzipale, die einen externen Schlüsselspeicher erstellen und verwalten, benötigen Berechtigungen für die benutzerdefinierten Schlüsselspeicheroperationen. Die folgende Liste beschreibt die Mindestberechtigungen, die Manager externer Schlüsselspeicher benötigen. Da es sich bei einem benutzerdefinierten Schlüsselspeicher nicht um eine AWS Ressource handelt, können Sie keine Berechtigungen für einen externen Schlüsselspeicher für Prinzipale in anderen Ländern erteilen. AWS-Konten
-
kms:CreateCustomKeyStore
-
kms:DescribeCustomKeyStores
-
kms:ConnectCustomKeyStore
-
kms:DisconnectCustomKeyStore
-
kms:UpdateCustomKeyStore
-
kms:DeleteCustomKeyStore
Prinzipale, die einen externen Schlüsselspeicher erstellen, benötigen die Berechtigung, die externen Schlüsselspeicherkomponenten zu erstellen und zu konfigurieren. Prinzipale können externe Schlüsselspeicher nur in ihren eigenen Konten erstellen. Um einen externen Schlüsselspeicher mit der Konnektivität eines VPC-Endpunkt-Services zu erstellen, müssen die Prinzipale über die Berechtigung verfügen, die folgenden Komponenten zu erstellen:
-
Eine Amazon VPC
-
Öffentliche und private Subnetze
-
Einen Network Load Balancer und eine Zielgruppe
-
Einen VPC-Endpunkt-Service von Amazon
Einzelheiten finden Sie unter Identity and Access Management für Amazon VPC, Identity and Access Management für VPC-Endpunkte und VPC-Endpunktservices und Elastic Load Balancing-API-Berechtigungen.
Autorisierung von Benutzern von KMS-Schlüsseln in externen Schlüsselspeichern
Prinzipale, die AWS KMS keys in Ihrem externen Schlüsselspeicher etwas erstellen und verwalten, benötigen dieselben Berechtigungen wie diejenigen, die alle KMS-Schlüssel in erstellen und verwalten. AWS KMS Die Standard-Schlüsselrichtlinie für KMS-Schlüssel in einem externen Schlüsselspeicher ist identisch mit der Standard-Schlüsselrichtlinie für KMS-Schlüssel in AWS KMS. Attributbasierte Zugriffskontrolle (ABAC), das Tags und Aliasse verwendet, um den Zugriff auf KMS-Schlüssel zu steuern, ist auch für KMS-Schlüssel in externen Schlüsselspeichern wirksam.
Prinzipale, die die KMS-Schlüssel in Ihrem benutzerdefinierten Schlüsselspeicher für kryptografische Operationen verwenden, benötigen die Berechtigung zum Ausführen der kryptografischen Operation mit dem KMS-Schlüssel, z. B. kms:Decrypt. Sie können diese Berechtigungen in einer IAM-Richtlinie oder Schlüsselrichtlinie bereitstellen. Sie benötigen keine zusätzlichen Berechtigungen, um einen KMS-Schlüssel in einem benutzerdefinierten Schlüsselspeicher verwenden zu können.
Um eine Berechtigung festzulegen, die nur für KMS-Schlüssel in einem externen Schlüsselspeicher gilt, verwenden Sie die Richtlinienbedingung kms:KeyOrigin mit einem Wert von EXTERNAL_KEY_STORE
. Sie können diese Bedingung verwenden, um die CreateKey kms-Berechtigung oder jede andere für eine KMS-Schlüsselressource spezifische Berechtigung einzuschränken. Die folgende IAM-Richtlinie erlaubt es beispielsweise der Identität, der sie zugeordnet ist, die angegebenen Operationen für alle KMS-Schlüssel des Kontos aufzurufen, vorausgesetzt, die KMS-Schlüssel befinden sich in einem externen Schlüsselspeicher. Beachten Sie, dass Sie die Berechtigung auf KMS-Schlüssel in einem externen Schlüsselspeicher und KMS-Schlüssel in einem AWS-Konto, aber nicht auf einen bestimmten externen Schlüsselspeicher im Konto beschränken können.
{ "Sid": "AllowKeysInExternalKeyStores", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/*", "Condition": { "StringEquals": { "kms:KeyOrigin": "EXTERNAL_KEY_STORE" } } }
Autorisieren Sie AWS KMS die Kommunikation mit Ihrem externen Schlüsselspeicher-Proxy
AWS KMS kommuniziert mit Ihrem externen Schlüsselmanager nur über den externen Schlüsselspeicher-Proxy, den Sie bereitstellen. AWS KMS authentifiziert sich gegenüber Ihrem Proxy, indem es seine Anfragen mithilfe des Signature Version 4-Prozesses (Sigv4) mit den von Ihnen angegebenen Proxyauthentifizierungsdaten für den externen Schlüsselspeicher signiert. Wenn Sie öffentliche Endpunktkonnektivität für Ihren externen Schlüsselspeicher-Proxy verwenden, sind AWS KMS keine zusätzlichen Berechtigungen erforderlich.
Wenn Sie jedoch VPC-Endpunktservice-Konnektivität verwenden, müssen Sie die AWS KMS Erlaubnis erteilen, einen Schnittstellenendpunkt für Ihren Amazon VPC-Endpunktservice zu erstellen. Diese Berechtigung ist unabhängig davon erforderlich, ob sich der externe Schlüsselspeicher-Proxy in Ihrer VPC oder der externe Schlüsselspeicher-Proxy an einem anderen Ort befindet, aber den VPC-Endpunktdienst für die Kommunikation verwendet. AWS KMS
Um die Erstellung eines Schnittstellenendpunkts AWS KMS zu ermöglichen, verwenden Sie die Amazon VPC-Konsole oder den ModifyVpcEndpointServicePermissionsVorgang. Erlauben Sie Berechtigungen für den folgenden Prinzipal: cks.kms.
.<region>
.amazonaws.com
Mit dem folgenden AWS CLI Befehl können Sie beispielsweise eine Verbindung AWS KMS zum angegebenen VPC-Endpunktdienst in der Region USA West (Oregon) (us-west-2) herstellen. Bevor Sie diesen Befehl verwenden, ersetzen Sie die Amazon VPC Service ID und AWS-Region durch gültige Werte für Ihre Konfiguration.
modify-vpc-endpoint-service-permissions --service-id
vpce-svc-12abc34567def0987
--add-allowed-principals '["cks.kms.us-west-2
.amazonaws.com"]'
Um diese Berechtigung zu entfernen, verwenden Sie die Amazon VPC-Konsole oder den ModifyVpcEndpointServicePermissionsmit dem RemoveAllowedPrincipals
Parameter.
Proxy-Autorisierung für externen Schlüsselspeicher (optional)
Einige externe Schlüsselspeicher-Proxys implementieren Autorisierungsanforderungen für die Verwendung ihrer externen Schlüssel. Ein externer Schlüsselspeicher-Proxy ist berechtigt, aber nicht verpflichtet, ein Autorisierungsschema zu entwerfen und zu implementieren, das es bestimmten Benutzern erlaubt, bestimmte Operationen nur unter bestimmten Bedingungen anzufordern. Beispielsweise könnte ein Proxy so konfiguriert sein, dass er Benutzer:in A die Verschlüsselung mit einem bestimmten externen Schlüssel erlaubt, aber nicht die Entschlüsselung mit diesem Schlüssel.
Die Proxy-Autorisierung ist unabhängig von der SIGV4-basierten Proxyauthentifizierung, die für alle externen Schlüsselspeicher-Proxys AWS KMS erforderlich ist. Sie ist auch unabhängig von den Schlüsselrichtlinien, IAM-Richtlinien und Berechtigungen, die den Zugriff auf Operationen zulassen, die den externen Schlüsselspeicher oder seine KMS-Schlüssel betreffen.
Um die Autorisierung durch den externen Schlüsselspeicher-Proxy zu ermöglichen, AWS KMS enthält jede Proxy-API-Anfrage Metadaten, einschließlich des Aufrufers, des KMS-Schlüssels, des AWS KMS Vorgangs und (falls vorhanden). AWS-Service Die Anforderungsmetadaten für Version 1 (v1) der externen Schlüssel-Proxy-API lauten wie folgt.
"requestMetadata": { "awsPrincipalArn": string, "awsSourceVpc": string, // optional "awsSourceVpce": string, // optional "kmsKeyArn": string, "kmsOperation": string, "kmsRequestId": string, "kmsViaService": string // optional }
Sie können Ihren Proxy beispielsweise so konfigurieren, dass Anfragen von einem bestimmten Principal (awsPrincipalArn
) zugelassen werden, aber nur, wenn die Anfrage im Namen des Prinzipals von einem bestimmten AWS-Service (kmsViaService
) gestellt wird.
Wenn die Proxyautorisierung fehlschlägt, schlägt der entsprechende AWS KMS Vorgang fehl und es wird eine Meldung angezeigt, die den Fehler erklärt. Details hierzu finden Sie unter Probleme mit der Proxy-Autorisierung.
mTLS-Authentifizierung (optional)
Damit Ihr externer Schlüsselspeicher-Proxy Anfragen authentifizieren kann AWS KMS, AWS KMS signiert er alle Anfragen an Ihren externen Schlüsselspeicher-Proxy mit den Signature V4 (Sigv4) -Proxyauthentifizierungsdaten für Ihren externen Schlüsselspeicher.
Um zusätzliche Sicherheit zu bieten, dass Ihr externer Schlüsselspeicher-Proxy nur auf AWS KMS Anfragen reagiert, unterstützen einige externe Schlüsselproxys Mutual Transport Layer Security (mTLS), bei der beide Parteien einer Transaktion Zertifikate verwenden, um sich gegenseitig zu authentifizieren. mTLS fügt der serverseitigen Authentifizierung, die Standard-TLS bietet, eine clientseitige Authentifizierung hinzu, bei der der externe Schlüsselspeicher-Proxyserver den AWS KMS Client authentifiziert. In dem seltenen Fall, dass Ihre Proxy-Authentifizierungsanmeldeinformation kompromittiert wird, verhindert mTLS, dass ein Dritter erfolgreiche API-Anforderungen an den externen Schlüsselspeicher-Proxy stellt.
Um mTLS zu implementieren, konfigurieren Sie Ihren externen Schlüsselspeicher-Proxy so, dass er nur clientseitige TLS-Zertifikate mit den folgenden Eigenschaften akzeptiert:
-
Der Subject Common Name auf dem TLS-Zertifikat muss
cks.kms.
lauten, zum Beispiel<Region>
.amazonaws.comcks.kms.
.eu-west-3
.amazonaws.com -
Das Zertifikat muss mit einer Zertifizierungsstelle verknüpft sein, die mit Amazon Trust Services
verbunden ist.