Einrichten der Verschlüsselung in AWS Glue - AWS Glue

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.

Einrichten der Verschlüsselung in AWS Glue

Das folgende Beispiel zeigt die Optionen, die Sie konfigurieren müssen, wenn Sie die Verschlüsselung mit AWS Glue verwenden. Das Beispiel zeigt die Verwendung spezifischer AWS Key Management Service-Schlüssel (AWS KMS), aber Sie können auch andere Einstellungen entsprechend Ihren speziellen Bedürfnissen wählen. Dieser Workflow hebt nur die Optionen hervor, die sich auf die Verschlüsselung bei der Einrichtung von AWS Glue beziehen.

  1. Wenn der Benutzer der AWS Glue-Konsole keine Berechtigungsrichtlinie verwendet, die alle AWS Glue-API-Operationen (zum Beispiel "glue:*") zulässt, bestätigen Sie, dass die folgenden Berechtigungen erlaubt sind:

    • "glue:GetDataCatalogEncryptionSettings"

    • "glue:PutDataCatalogEncryptionSettings"

    • "glue:CreateSecurityConfiguration"

    • "glue:GetSecurityConfiguration"

    • "glue:GetSecurityConfigurations"

    • "glue:DeleteSecurityConfiguration"

  2. Jeder Client, der auf einen verschlüsselten Katalog zugreift, d. h. jeder Konsolenbenutzer, Crawler, Auftrag oder Entwicklungsendpunkt, benötigt die folgenden Berechtigungen.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-data-catalog>" } }
  3. Jeder Benutzer oder jede Rolle, der bzw. die auf ein verschlüsseltes Verbindungspasswort zugreift, benötigt die folgenden Berechtigungen.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "<key-arns-used-for-password-encryption>" } }
  4. Die Rolle eines jeden Extraktions-, Transformations- und Ladeauftrags (ETL), der verschlüsselte Daten in Amazon S3 schreibt, erfordert die folgenden Berechtigungen.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": "<key-arns-used-for-s3>" } }
  5. Jeder ETL-Auftrag oder Crawler, der verschlüsselte Amazon CloudWatch Logs schreibt, benötigt die folgenden Berechtigungen in den Schlüssel- und IAM-Richtlinien.

    In der Schlüsselrichtlinie (nicht in der IAM-Richtlinie):

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "<arn of key used for ETL/crawler cloudwatch encryption>" }

    Weitere Informationen zu Schlüsselrichtlinien finden Sie unter Verwenden von Schlüsselrichtlinien in AWS KMS im AWS Key Management Service- Entwicklerhandbuch.

    Fügen Sie in der IAM-Richtlinie die logs:AssociateKmsKey-Berechtigung hinzu:

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "logs:AssociateKmsKey" ], "Resource": "<arn of key used for ETL/crawler cloudwatch encryption>" }
  6. Jeder ETL-Auftrag, der ein verschlüsseltes Auftrags-Lesezeichen verwendet, benötigt die folgenden Berechtigungen:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-job-bookmark-encryption>" } }
  7. Wählen Sie im Navigationsbereich der AWS Glue-Konsole die Settings (Einstellungen) aus.

    1. Wählen Sie auf der Seite Data catalog settings (Data-Catalog-Einstellungen) die Option Metadata encryption (Metadatenverschlüsselung), um den Data Catalog zu verschlüsseln. Diese Option verschlüsselt alle Objekte im Data Catalog mit dem von Ihnen gewählten AWS KMS-Schlüssel.

    2. Wählen Sie für AWS KMS--Schlüssel) die Option aws/glue aus. Sie können auch einen von Ihnen erstellten AWS KMS-Schlüssel auswählen.

    Wichtig

    AWS Glue unterstützt nur symmetrische Kundenmasterschlüssel (Customer Master Keys, CMKs). In der Liste der AWS KMS-Schlüssel werden nur symmetrische Schlüssel angezeigt. Wenn Sie jedoch Choose a AWS KMS key ARN (Einen KMS-Schlüssel-ARN auswählen) verwenden, können Sie in der Konsole einen ARN für jeden Schlüsseltyp eingeben. Achten Sie darauf, dass Sie nur ARNs für symmetrische Schlüssel eingeben.

    Wenn die Verschlüsselung aktiviert ist, muss der Client, der auf den Data Catalog zugreift, über AWS KMS-Berechtigungen verfügen.

  8. Wählen Sie im Navigationsbereich Security configurations (Sicherheitskonfigurationen) aus. Eine Sicherheitskonfiguration ist eine Reihe von Sicherheitseigenschaften, die zur Konfiguration von AWS Glue-Prozessen verwendet werden können. Wählen Sie dann Add security configuration (Sicherheitskonfiguration hinzufügen). Wählen Sie in der Konfiguration eine der folgenden Optionen:

    1. Wählen Sie S3 encryption (S3-Verschlüsselung) aus. Für Encryption mode (Verschlüsselungsmodus) wählen Sie SSE-KMS. Wählen Sie für den AWS KMS-Schlüssel aws/s3 (stellen Sie sicher, dass der Benutzer die Berechtigung hat, diesen Schlüssel zu verwenden). Dies ermöglicht es, dass die vom Auftrag an Amazon S3 geschriebenen Daten den von AWS verwalteten AWS Glue-AWS KMS-Schlüssel verwenden können.

    2. Wählen Sie CloudWatch logs encryption (Verschlüsselung der CloudWatch-Protokolle) aus und wählen Sie einen CMK. (Stellen Sie sicher, dass der Benutzer über die Berechtigung verfügt, diesen Schlüssel zu verwenden). Weitere Informationen finden Sie unter Verschlüsseln von Protokolldaten in CloudWatch Logs mit AWS KMS im AWS Key Management Service -Benutzerhandbuch.

      Wichtig

      AWS Glue unterstützt nur symmetrische Kundenmasterschlüssel (Customer Master Keys, CMKs). In der Liste der AWS KMS-Schlüssel werden nur symmetrische Schlüssel angezeigt. Wenn Sie jedoch Choose a AWS KMS key ARN (Einen KMS-Schlüssel-ARN auswählen) verwenden, können Sie in der Konsole einen ARN für jeden Schlüsseltyp eingeben. Achten Sie darauf, dass Sie nur ARNs für symmetrische Schlüssel eingeben.

    3. Wählen Sie Advanced properties (Erweiterte Eigenschaften) und aktivieren Sie das Kontrollkästchen Job bookmark encryption (Verschlüsselung von Auftrags-Lesezeichen). Wählen Sie für den AWS KMS-Schlüssel aws/glue (stellen Sie sicher, dass der Benutzer die Berechtigung hat, diesen Schlüssel zu verwenden). Dies ermöglicht die Verschlüsselung von Auftragslesezeichen, die mit dem AWS Glue-AWS KMS-Schlüssel in Amazon-S3 geschrieben wurden.

  9. Wählen Sie im Navigationsbereich Connections aus.

    1. Wählen Sie Add connection (Verbindung hinzufügen), um eine Verbindung zum Java Database Connectivity (JDBC)-Datenspeicher herzustellen, der das Ziel Ihres ETL-Auftrags ist.

    2. Um die Verwendung der SSL (Secure Sockets Layer)-Verschlüsselung zu erzwingen, aktivieren Sie Require SSL connection (SSL-Verbindung erforderlich) und testen Sie Ihre Verbindung.

  10. Wählen Sie im Navigationsbereich die Option Jobs (Aufträge) aus.

    1. Wählen Sie Add job (Auftrag hinzufügen), um einen Auftrag zu erstellen, der Daten transformiert.

    2. Wählen Sie in der Auftragsdefinition die von Ihnen erstellte Sicherheitskonfiguration aus.

  11. Führen Sie Ihren Auftrag auf der AWS Glue-Konsole bei Bedarf aus. Vergewissern Sie sich, dass alle Amazon-S3-Daten, die vom Auftrag geschrieben wurden, die CloudWatch Logs, die vom Auftrag geschrieben wurden, und die Auftragslesezeichen verschlüsselt sind.