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.
Festplattenverschlüsselung mit KMS CMK
EMR Serverless verschlüsselt standardmäßig alle Festplatten, die an Worker angeschlossen sind, mithilfe von diensteigenen Verschlüsselungsschlüsseln. Sie können diese Festplatten optional mit Ihren eigenen, vom AWS KMS Kunden verwalteten Schlüsseln () verschlüsseln. CMKs Auf diese Weise haben Sie mehr Kontrolle über Ihre Verschlüsselungsschlüssel, einschließlich der Möglichkeit, wichtige Richtlinien festzulegen und zu verwalten und die Verwendung von Schlüsseln zu überprüfen.
Sie können die Festplattenverschlüsselung entweder bei der Erstellung einer Anwendung oder beim Senden einzelner Jobs konfigurieren. Wenn sie auf Anwendungsebene aktiviert ist, erben alle Jobs in dieser Anwendung die Verschlüsselungseinstellungen. Sie können auch die Standardeinstellung der Anwendung außer Kraft setzen, indem Sie beim Absenden eines Jobs eine Festplattenverschlüsselungskonfiguration angeben.
Anmerkung
EMR Serverless Disk Encryption unterstützt nur symmetrische KMS-Schlüssel. Asymmetrische KMS-Schlüssel werden nicht unterstützt. Sie müssen einen KMS-Schlüssel für die symmetrische Verschlüsselung verwenden, der in erstellt wurde. AWS KMS Weitere Informationen zu finden Sie AWS KMS unter Was ist AWS KMS?
Verschlüsselungskontext verwenden
Optional verwendet EMR Serverless den Verschlüsselungskontext, um zusätzliche authentifizierte Daten für Verschlüsselungsvorgänge bereitzustellen. Der Verschlüsselungskontext besteht aus einer Reihe von Schlüssel-Wert-Paaren, die nicht geheime zusätzliche authentifizierte Daten enthalten können. Der Verschlüsselungskontext ist kryptografisch an die verschlüsselten Daten gebunden, sodass für die Entschlüsselung der Daten derselbe Verschlüsselungskontext erforderlich ist.
In EMR Serverless können Sie den benutzerdefinierten Verschlüsselungskontext bei der Konfiguration der Festplattenverschlüsselung angeben. Dieser Verschlüsselungskontext ist in AWS CloudTrail Protokollen enthalten, um Ihnen zu helfen, Ihre KMS-Operationen zu identifizieren und zu verstehen.
Anmerkung
Speichern Sie vertrauliche Informationen nicht im Verschlüsselungskontext, da sie in AWS CloudTrail Protokollen als Klartext erscheinen.
Konfiguration der Festplattenverschlüsselung mit vom Kunden verwalteten Schlüsseln
CreateApplication
Um Festplatten mit Ihrem eigenen KMS-Schlüssel zu verschlüsseln, fügen Sie den diskEncryptionConfiguration Parameter bei der Erstellung einer EMR Serverless-Anwendung hinzu.
aws emr-serverless create-application \ --type TYPE \ --name APPLICATION_ID \ --release-label RELEASE_LABEL \ --region AWS_REGION \ --disk-encryption-configuration '{ "encryptionKeyArn": "key-arn", "encryptionContext": { "key": "value" } }'
UpdateApplication
Um den and/or ARN-Verschlüsselungskontext für den KMS-Schlüssel zu aktualisieren, geben Sie beim Aktualisieren einer Anwendung den diskEncryptionConfiguration Parameter mit den neuen Werten an.
aws emr-serverless update-application \ --name APPLICATION_ID \ --region AWS_REGION \ --disk-encryption-configuration '{ "encryptionKeyArn": "key-arn", "encryptionContext": { "key": "value" } }'
Anmerkung
Um die konfigurierte Festplattenverschlüsselung für eine Anwendung aufzuheben, übergeben Sie diskEncryptionConfiguration beim Aktualisieren der Anwendung einen leeren Wert.
StartJobRun
Um Festplatten mit Ihrem eigenen KMS-Schlüssel zu verschlüsseln, verwenden Sie die diskEncryptionConfiguration Konfiguration, wenn Sie eine Jobausführung einreichen.
--configuration-overrides '{ "diskEncryptionConfiguration": { "encryptionKeyArn": "key-arn", "encryptionContext": { "key": "value" } } }'
Öffentliche Livy-Endpunkte
Um Festplatten mit Ihrem eigenen KMS-Schlüssel zu verschlüsseln, wenn Sie Spark-Sitzungen über öffentliche Livy-Endpunkte erstellen, geben Sie die Verschlüsselungskonfiguration im Sitzungsobjekt an. conf
data = { "kind": "pyspark", "heartbeatTimeoutInSecond": 60, "conf": { "emr-serverless.session.executionRoleArn": "role_arn", "spark.emr-serverless.disk.encryptionKeyArn": "key-arn", "spark.emr-serverless.disk.encryptionContext": "key1:value1,key2:value2" # Optional } } # Send request to create a session with the Livy API endpoint request = AWSRequest(method='POST', url=endpoint + "/sessions", data=json.dumps(data), headers=headers)
Erforderliche Berechtigungen für die Festplattenverschlüsselung
Verschlüsselungsschlüsselberechtigungen für EMR Serverless
Wenn Sie Festplatten mit Ihrem eigenen Verschlüsselungsschlüssel verschlüsseln, müssen Sie die folgenden KMS-Schlüsselberechtigungen für den Prinzipal konfigurieren: emr-serverless.amazonaws.com
-
kms:GenerateDataKey: Um Datenschlüssel für die Verschlüsselung von Festplattenvolumes zu generieren -
kms:Decrypt: Zum Entschlüsseln von Datenschlüsseln beim Zugriff auf verschlüsselte Festplatteninhalte
{ "Effect": "Allow", "Principal":{ "Service": "emr-serverless.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:emr-serverless:region:aws-account-id:/applications/application-id" }, "StringEquals": { "kms:EncryptionContext:applicationId": "application-id", "aws:SourceAccount": "aws-account-id" } } }
Aus Sicherheitsgründen empfehlen wir, der KMS-Schlüsselrichtlinie einen aws:SourceArn Bedingungsschlüssel hinzuzufügen. Der globale IAM-Bedingungsschlüssel aws:SourceArn trägt dazu bei, dass EMR Serverless den KMS-Schlüssel nur für einen Anwendungs-ARN verwendet. Darüber hinaus bietet die Aufnahme des aws:SourceAccount Bedingungsschlüssels eine weitere Sicherheitsebene, da die Verwendung Ihres KMS-Schlüssels auf Anfragen beschränkt wird, die von der in der Bedingung angegebenen AWS Konto-ID stammen.
Die IAM-Richtlinie der Job-Runtime-Rolle muss über die folgenden Berechtigungen verfügen:
{ "Sid": "Enable GDK and Decrypt", "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "key-arn" } }
Erforderliche Benutzerberechtigungen
Der Benutzer, der den Job einreicht, muss über die Berechtigungen zur Verwendung des Schlüssels verfügen. Sie können die Berechtigungen entweder in der KMS-Schlüsselrichtlinie oder in der IAM-Richtlinie für den Benutzer, die Gruppe oder die Rolle angeben. Wenn der Benutzer, der den Job einreicht, nicht über die KMS-Schlüsselberechtigungen verfügt, lehnt EMR Serverless die Übermittlung der Auftragsausführung ab.
Beispiel für eine Schlüsselrichtlinie
Die folgende wichtige Richtlinie bietet die Berechtigungen für und: kms:DescribeKey kms:GenerateDataKey kms:Decrypt
-
kms:DescribeKey: Um zu überprüfen, ob der vom Kunden verwaltete KMS-Schlüssel aktiviert und SYMMETRISCH ist, bevor Sie ihn verwenden.
{ "Sid": "Enable DescribeKey", "Effect": "Allow", "Principal":{ "AWS": "arn:aws:iam::111122223333:user/user-name" }, "Action": [ "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Enable GDK and Decrypt", "Effect": "Allow", "Principal":{ "AWS": "arn:aws:iam::111122223333:user/user-name" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "emr-serverless.region.amazonaws.com", "kms:EncryptionContext:key": "value" } } }
Aus Sicherheitsgründen empfehlen wir, der KMS-Schlüsselrichtlinie einen kms:viaService Bedingungsschlüssel hinzuzufügen. Dadurch wird die Verwendung des KMS-Schlüssels auf Überprüfungsanforderungen beschränkt, die nur von EMR-serverlos gesendet werden.
Beispiel für eine IAM-Richtlinie
Die folgende IAM-Richtlinie bietet die Berechtigungen für, und. kms:DescribeKey kms:GenerateDataKey kms:Decrypt
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "key-arn" } }
Überwachung der Schlüsselnutzung
Sie können die Verwendung Ihrer vom Kunden verwalteten Schlüssel in EMR Serverless über überwachen. AWS CloudTrail AWS CloudTrail erfasst alle API-Aufrufe AWS KMS als Ereignisse, einschließlich Aufrufe von der EMR Serverless-Konsole, der EMR Serverless API, der AWS CLI oder dem SDK. AWS
Zu den erfassten Informationen gehört der von Ihnen angegebene Verschlüsselungskontext, der Ihnen helfen kann, die spezifischen EMR-Serverless-Ressourcen zu identifizieren und zu prüfen, die Ihren KMS-Schlüssel verwendet haben. Möglicherweise finden Sie unter Ereignisse, die den folgenden ähneln. AWS CloudTrail Weitere Informationen zur Verwendung AWS CloudTrail finden Sie im AWS CloudTrail Benutzerhandbuch.
GenerateDataKey
Beispielereignis für GenerateDataKey Operationen, bei denen EMR Serverless verschlüsselte Festplattenvolumes erstellt
{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "principalId": "user", "invokedBy": "AWS Internal" }, "eventTime": "2025-07-28T21:43:51Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "ipAddress", "userAgent": "userAgent", "requestParameters": { "encryptionContext": { "applicationId": "test" }, "keyId": "arn:aws:kms:region:accountId:key/ffffffff-fffff-aaaaa-eeee-sample", "keySpec": "AES_256" }, "responseElements": null, "additionalEventData": { "keyMaterialId": "145c963debe558dfb01848d2a4539da940f3478852f86cfe2f52d5df796a5a02" }, "requestID": "cc9d1c5e-97c4-4a4f-ae7a-e576sample", "eventID": "0b0fef09-f28d-4da8-a5a1-17b74sample", "readOnly": true, "resources": [ { "accountId": "account", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:region:accountId:key/ffffffff-fffff-aaaaa-eeee-sample" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "accountId", "eventCategory": "Management" }
Decrypt
Beispielereignis für Decrypt-Operationen, wenn EMR Serverless auf verschlüsselte Daten zugreift.
{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "principalId": "user", "invokedBy": "AWS Internal" }, "eventTime": "2025-07-28T21:43:51Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "ipAddress", "userAgent": "userAgent", "requestParameters": { "encryptionContext": { "applicationId": "test" }, "keyId": "arn:aws:kms:region:accountId:key/ffffffff-fffff-aaaaa-eeee-sample", "keySpec": "AES_256" }, "responseElements": null, "additionalEventData": { "keyMaterialId": "145c963debe558dfb01848d2a4539da940f3478852f86cfe2f52d5df796a5a02" }, "requestID": "cc9d1c5e-97c4-4a4f-ae7a-e576sample", "eventID": "0b0fef09-f28d-4da8-a5a1-17b74sample", "readOnly": true, "resources": [ { "accountId": "account", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:region:accountId:key/ffffffff-fffff-aaaaa-eeee-sample" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "accountId", "eventCategory": "Management" }
Weitere Informationen
Die folgenden Ressourcen enthalten weitere Informationen zur Datenverschlüsselung im Ruhezustand:
-
Weitere Informationen zu AWS KMS grundlegenden Konzepten finden Sie im Entwicklerhandbuch.AWS KMS
-
Weitere Informationen zu bewährten Sicherheitsmethoden für AWS KMS finden Sie im AWS KMS Entwicklerhandbuch.