View a markdown version of this page

Protokolle verschlüsseln - Amazon EMR

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.

Protokolle verschlüsseln

Verschlüsselung von EMR Serverless-Protokollen mit verwaltetem Speicher

Verwenden Sie die managedPersistenceMonitoringConfiguration Konfiguration, wenn Sie eine Auftragsausführung einreichen, um Protokolle im verwalteten Speicher mit Ihrem eigenen KMS-Schlüssel zu verschlüsseln.

{ "monitoringConfiguration": { "managedPersistenceMonitoringConfiguration" : { "encryptionKeyArn": "key-arn" } } }

Verschlüsselung von EMR-Protokollen ohne Server mit Amazon S3-Buckets

Verwenden Sie die s3MonitoringConfiguration Konfiguration, wenn Sie eine Auftragsausführung einreichen, um Protokolle in Ihrem Amazon S3-Bucket mit Ihrem eigenen KMS-Schlüssel zu verschlüsseln.

{ "monitoringConfiguration": { "s3MonitoringConfiguration": { "logUri": "s3://amzn-s3-demo-logging-bucket/logs/", "encryptionKeyArn": "key-arn" } } }

Verschlüsselung von EMR-Protokollen ohne Server mit Amazon CloudWatch

Um Protokolle in Amazon CloudWatch mit Ihrem eigenen KMS-Schlüssel zu verschlüsseln, verwenden Sie die cloudWatchLoggingConfiguration Konfiguration, wenn Sie eine Auftragsausführung einreichen.

{ "monitoringConfiguration": { "cloudWatchLoggingConfiguration": { "enabled": true, "encryptionKeyArn": "key-arn" } } }

Erforderliche Berechtigungen für die Protokollverschlüsselung

Erforderliche Benutzerberechtigungen

Der Benutzer, der den Job einreicht oder die Protokolle oder die Benutzeroberflächen der Anwendung einsieht, muss über 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 dem Benutzer, der den Job einreicht, die KMS-Schlüsselberechtigungen fehlen, lehnt EMR Serverless die Übermittlung der Auftragsausführung ab.

Beispiel für eine wichtige Richtlinie

Die folgende wichtige Richtlinie gewährt die Berechtigungen für kms:GenerateDataKey undkms:Decrypt:

{ "Effect": "Allow", "Principal":{ "AWS": "arn:aws:iam::111122223333:user/user-name" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" }

Beispiel für eine IAM-Richtlinie

Die folgende IAM-Richtlinie gewährt die Berechtigungen für kms:GenerateDataKey undkms:Decrypt:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:*:123456789012:key/12345678-1234-1234-1234-123456789012" ], "Sid": "AllowKMSGeneratedatakey" } ] }

Um die Spark- oder Tez-Benutzeroberfläche zu starten, geben Sie Ihren Benutzern, Gruppen oder Rollen wie folgt die Zugriffsberechtigungen auf die emr-serverless:GetDashboardForJobRun API:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:GetDashboardForJobRun" ], "Resource": [ "*" ], "Sid": "AllowEMRSERVERLESSGetdashboardforjobrun" } ] }

Verschlüsselungsschlüsselberechtigungen für Amazon S3 und verwalteten Speicher

Wenn Sie Protokolle mit Ihrem eigenen Verschlüsselungsschlüssel entweder im verwalteten Speicher oder in Ihren S3-Buckets verschlüsseln, konfigurieren Sie die KMS-Schlüsselberechtigungen wie folgt.

Der emr-serverless.amazonaws.com Prinzipal muss in der Richtlinie für den KMS-Schlüssel über die folgenden Berechtigungen verfügen:

{ "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" } } }

Aus Sicherheitsgründen empfehlen wir, der KMS-Schlüsselrichtlinie einen aws:SourceArn Bedingungsschlüssel hinzuzufügen. Mit dem globalen IAM-Bedingungsschlüssel wird aws:SourceArn sichergestellt, dass EMR Serverless den KMS-Schlüssel nur für einen Anwendungs-ARN verwendet.

Die IAM-Richtlinie der Job-Runtime-Rolle muss über die folgenden Berechtigungen verfügen:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:*:123456789012:key/12345678-1234-1234-1234-123456789012" ], "Sid": "AllowKMSGeneratedatakey" } ] }

Berechtigungen für Verschlüsselungsschlüssel für Amazon CloudWatch

Verwenden Sie die folgende IAM-Richtlinie für die Job-Runtime-Rolle, um den KMS-Schlüssel-ARN Ihrer Protokollgruppe zuzuordnen.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:*:123456789012:log-group:my-log-group-name:*" ], "Sid": "AllowLOGSAssociatekmskey" } ] }

Konfigurieren Sie die KMS-Schlüsselrichtlinie, um Amazon CloudWatch KMS-Berechtigungen zu gewähren:

JSON
{ "Version":"2012-10-17", "Id": "key-default-1", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "*" ], "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:*:123456789012:*" } }, "Sid": "AllowKMSDecrypt" } ] }