Verschlüsseln Ihres Data Catalog - 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.

Verschlüsseln Ihres Data Catalog

AWS Glue Data Catalog Die Verschlüsselung bietet mehr Sicherheit für Ihre sensiblen Daten. AWS Glue integriert sich in AWS Key Management Service (AWS KMS), um Metadaten zu verschlüsseln, die im Datenkatalog gespeichert sind. Sie können die Verschlüsselungseinstellungen für Ressourcen im Datenkatalog mithilfe der AWS Glue Konsole oder der AWS CLI aktivieren oder deaktivieren.

Wenn Sie die Verschlüsselung für Ihren Datenkatalog aktivieren, werden alle neuen Objekte, die Sie erstellen, verschlüsselt. Wenn Sie die Verschlüsselung deaktivieren, werden die neu erstellten Objekte nicht verschlüsselt, aber vorhandene verschlüsselte Objekte bleiben verschlüsselt.

Sie können Ihren gesamten Datenkatalog mit AWS verwalteten oder vom Kunden verwalteten Verschlüsselungsschlüsseln verschlüsseln. Weitere Informationen zu Schlüsseltypen und Status finden Sie unter AWS Key Management Service Konzepte im AWS Key Management Service Entwicklerhandbuch.

Anmerkung

Wenn Sie den verschlüsselten Datenkatalog mit einem Crawler verwenden, müssen Sie die Verschlüsselungseinstellungen beibehalten. Das Entfernen von Verschlüsselungseinstellungen, nachdem ein Crawler einen verschlüsselten Katalog verarbeitet hat, löst Fehler aus. Wenn Sie Verschlüsselungseinstellungen entfernen müssen, erstellen Sie einen neuen Crawler, anstatt den vorhandenen Crawler zu ändern.

AWS verwaltete Schlüssel

AWS Verwaltete Schlüssel sind KMS-Schlüssel in Ihrem Konto, die in Ihrem Namen von einem integrierten AWS Dienst erstellt, verwaltet und verwendet werden. AWS KMS Sie können die AWS verwalteten Schlüssel in Ihrem Konto einsehen, ihre wichtigsten Richtlinien einsehen und ihre Verwendung in AWS CloudTrail Protokollen überprüfen. Sie haben jedoch nicht die Möglichkeit, diese Schlüssel zu verwalten oder ihre Berechtigungen zu ändern.

Encryption at Rest wird automatisch in AWS KMS die Verwaltung der AWS verwalteten Schlüssel integriert AWS Glue , die zur Verschlüsselung Ihrer Metadaten verwendet werden. Wenn bei der Aktivierung der Metadatenverschlüsselung kein AWS verwalteter Schlüssel vorhanden ist, AWS KMS wird automatisch ein neuer Schlüssel für Sie erstellt.

Weitere Informationen finden Sie unter Von AWS verwaltete Schlüssel.

Kundenseitig verwaltete Schlüssel

Kundenverwaltete Schlüssel sind KMS-Schlüssel in Ihrem AWS-Konto System, die Sie erstellen, besitzen und verwalten. Sie haben die volle Kontrolle über diese KMS-Schlüssel. Sie können:

  • Sie können ihre wichtigsten Richtlinien, IAM-Richtlinien und Erteilungen einrichten und pflegen

  • Sie können diese aktivieren und deaktivieren

  • Sie können ihr kryptographisches Material rotieren

  • Schlagworte hinzufügen

  • Sie können Aliase erstellen, die auf sie verweisen

  • Sie können sie zum Löschen einplanen

Weitere Informationen zum Verwalten von Berechtigungen eines kundenseitig verwalteten Schlüssels finden Sie unter Kundenseitig verwaltete Schlüssel.

Wichtig

AWS Glue unterstützt nur symmetrische, vom Kunden verwaltete Schlüssel. In der Liste der KMS-Schlüssel werden nur symmetrische Schlüssel angezeigt. Wenn Sie jedoch auf Einen KMS-Schlüssel-ARN auswählen klicken, können Sie in der Konsole einen ARN für jeden Schlüsseltyp eingeben. Stellen Sie sicher, dass Sie nur ARNs für symmetrische Schlüssel eingeben.

Folgen Sie dazu den Schritten zum Erstellen eines symmetrischen kundenverwalteten Schlüssels im Entwicklerhandbuch zum AWS Key Management Service .

Wenn Sie die Data-Catalog-Verschlüsselung im Ruhezustand aktivieren, werden folgende Ressourcentypen mit KMS-Schlüsseln verschlüsselt:

  • Datenbanken

  • Tabellen

  • Partitionen

  • Tabellenversionen

  • Spaltenstatistiken

  • Benutzerdefinierte Funktionen

  • Data-Catalog-Ansichten

AWS Glue Verschlüsselungskontext

Ein Verschlüsselungskontext ist ein optionaler Satz von Schlüssel-Wert-Paaren, der zusätzliche Kontextinformationen zu den Daten enthalten kann. AWS KMS verwendet den Verschlüsselungskontext als Additional Authenticated Data (AAD) zur Unterstützung der authentifizierten Verschlüsselung. Wenn Sie einen Verschlüsselungskontext in eine Anforderung zum Verschlüsseln von Daten einbeziehen, wird der Verschlüsselungskontext an die verschlüsselten Daten AWS KMS gebunden. Um Daten zu entschlüsseln, fügen Sie denselben Verschlüsselungskontext in die Anforderung ein. AWS Glue verwendet bei allen AWS KMS kryptografischen Vorgängen denselben Verschlüsselungskontext, wobei der Schlüssel glue_catalog_id und der Wert der ist. catalogId

"encryptionContext": { "glue_catalog_id": "111122223333" }

Wenn Sie einen AWS verwalteten Schlüssel oder einen symmetrischen, vom Kunden verwalteten Schlüssel zur Verschlüsselung Ihres Datenkatalogs verwenden, können Sie den Verschlüsselungskontext auch in Prüfaufzeichnungen und Protokollen verwenden, um festzustellen, wie der Schlüssel verwendet wird. Der Verschlüsselungskontext erscheint auch in Protokollen, die von AWS CloudTrail oder Amazon CloudWatch Logs generiert werden.

Aktivieren der Verschlüsselung

Sie können die Verschlüsselung für Ihre AWS Glue Data Catalog Objekte in den Datenkatalogeinstellungen der AWS Glue Konsole oder mithilfe von aktivieren AWS CLI.

Console
So aktivieren Sie die Verschlüsselung über die Konsole
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Glue Konsole unter https://console.aws.amazon.com/glue/.

  2. Wählen Sie im Navigationsbereich die Option Datenkatalog.

  3. Aktivieren Sie auf der Seite mit den Einstellungen für den Datenkatalog das Kontrollkästchen Metadatenverschlüsselung und wählen Sie einen AWS KMS Schlüssel aus.

    Wenn Sie die Verschlüsselung aktivieren und keinen vom Kunden verwalteten Schlüssel angeben, verwenden die Verschlüsselungseinstellungen einen AWS verwalteten KMS-Schlüssel.

  4. (Optional) Wenn Sie einen vom Kunden verwalteten Schlüssel zum Verschlüsseln Ihres Datenkatalogs verwenden, haben Sie im Datenkatalog die Möglichkeit, eine IAM-Rolle zum Verschlüsseln und Entschlüsseln von Ressourcen zu registrieren. Sie müssen Ihrer IAM-Rolle Berechtigungen erteilen, die AWS Glue Sie in Ihrem Namen übernehmen können. Dazu gehören auch AWS KMS Berechtigungen zum Verschlüsseln und Entschlüsseln von Daten.

    Wenn Sie eine neue Ressource im Datenkatalog erstellen, AWS Glue übernimmt sie die IAM-Rolle, die für die Verschlüsselung der Daten vorgesehen ist. Ähnlich verhält es sich, wenn ein Verbraucher auf die Ressource zugreift, AWS Glue übernimmt er die IAM-Rolle zur Entschlüsselung von Daten. Wenn Sie eine IAM-Rolle mit den notwendigen Berechtigungen registrieren, benötigt der aufrufende Principal keine Berechtigungen mehr, um auf den Schlüssel zuzugreifen und die Daten zu entschlüsseln.

    Wichtig

    Sie können KMS-Operationen nur dann an eine IAM-Rolle delegieren, wenn Sie einen kundenverwalteten Schlüssel für die Verschlüsselung der Data-Catalog-Ressourcen verwenden. Die KMS-Rollendelegierungsfunktion unterstützt derzeit nicht die Verwendung von AWS -verwalteten Schlüsseln zum Verschlüsseln von Data-Catalog-Ressourcen.

    Warnung

    Wenn Sie eine IAM-Rolle für die Delegierung von KMS-Vorgängen aktivieren, können Sie nicht mehr auf die Datenkatalogressourcen zugreifen, die zuvor mit einem verwalteten Schlüssel verschlüsselt wurden. AWS

    1. Um eine IAM-Rolle zu aktivieren, die davon ausgehen AWS Glue kann, Daten in Ihrem Namen zu ver- und entschlüsseln, wählen Sie die Option KMS-Operationen an eine IAM-Rolle delegieren aus.

    2. Wählen Sie als Nächstes eine IAM-Rolle aus.

      Eine Anleitung zum Erstellen einer IAM;-Rolle finden Sie unter Erstellen von IAM-Rollen für AWS Glue.

      Die IAM-Rolle, die den Zugriff auf den Datenkatalog AWS Glue voraussetzt, muss über die Berechtigungen zum Verschlüsseln und Entschlüsseln von Metadaten im Datenkatalog verfügen. Sie können eine IAM-Rolle erstellen und die folgenden Inline-Richtlinien anfügen:

      • Fügen Sie die folgende Richtlinie hinzu, um AWS KMS Berechtigungen zum Verschlüsseln und Entschlüsseln des Datenkatalogs einzubeziehen.

        JSON
        JSON
        { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/<key-id>" } ] }
      • Fügen Sie als Nächstes die folgende Vertrauensrichtlinie zur Rolle hinzu, damit der AWS Glue Dienst die IAM-Rolle übernimmt.

        JSON
        JSON
        { "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
      • Fügen Sie als Nächstes die iam:PassRole-Berechtigung zur IAM-Rolle hinzu.

        JSON
        JSON
        { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::111122223333:role/<encryption-role-name>" ] } ] }

    Wenn Sie die Verschlüsselung aktivieren und keine IAM-Rolle für die Übernahme angegeben haben, muss der Principal, der AWS Glue auf den Datenkatalog zugreift, über die erforderlichen Berechtigungen verfügen, um die folgenden API-Operationen auszuführen:

    • kms:Decrypt

    • kms:Encrypt

    • kms:GenerateDataKey

AWS CLI
Um die Verschlüsselung mit dem SDK zu aktivieren oder AWS CLI
  • Verwenden Sie die API-Operation PutDataCatalogEncryptionSettings. Wenn kein Schlüssel angegeben ist, wird der AWS verwaltete Verschlüsselungsschlüssel für das Kundenkonto AWS Glue verwendet, um den Datenkatalog zu verschlüsseln.

    aws glue put-data-catalog-encryption-settings \ --data-catalog-encryption-settings '{ "EncryptionAtRest": { "CatalogEncryptionMode": "SSE-KMS-WITH-SERVICE-ROLE", "SseAwsKmsKeyId": "arn:aws:kms:<region>:<account-id>:key/<key-id>", "CatalogEncryptionServiceRole":"arn:aws:iam::<account-id>:role/<encryption-role-name>" } }'

Wenn Sie die Verschlüsselung aktivieren, werden alle Objekte, die Sie in den Data-Catalog-Objekten erstellen, verschlüsselt. Wenn Sie diese Einstellung deaktivieren, werden die Objekte, die Sie im Data Katalog erstellen, nicht mehr verschlüsselt. Sie können weiterhin mit den erforderlichen KMS-Berechtigungen auf die vorhandenen verschlüsselten Objekte im Datenkatalog zugreifen.

Wichtig

Der AWS KMS Schlüssel muss im AWS KMS Schlüsselspeicher für alle damit verschlüsselten Objekte im Datenkatalog verfügbar bleiben. Wenn Sie den Schlüssel entfernen, können die Objekte nicht mehr entschlüsselt werden. In einigen Szenarien kann dies sinnvoll sein, um den Zugriff auf Metadaten des Data Catalog zu verhindern.

Überwachen Sie Ihre KMS-Schlüssel für AWS Glue

Wenn Sie KMS-Schlüssel mit Ihren Datenkatalogressourcen verwenden, können Sie AWS CloudTrail oder Amazon CloudWatch Logs verwenden, um Anfragen zu verfolgen, die AWS Glue an gesendet AWS KMS werden. AWS CloudTrail überwacht und zeichnet KMS-Vorgänge auf, AWS Glue die auf Daten zugreifen, die mit Ihren KMS-Schlüsseln verschlüsselt sind.

Bei den folgenden Beispielen handelt es sich um AWS CloudTrail Ereignisse für die Decrypt GenerateDataKey AND-Operationen.

Decrypt
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAXPHTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAXPHTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2024-01-10T14:33:56Z", "mfaAuthenticated": "false" } }, "invokedBy": "glue.amazonaws.com" }, "eventTime": "2024-01-10T15:18:11Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "eu-west-2", "sourceIPAddress": "glue.amazonaws.com", "userAgent": "glue.amazonaws.com", "requestParameters": { "encryptionContext": { "glue_catalog_id": "111122223333" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "43b019aa-34b8-4798-9b98-ee968b2d63df", "eventID": "d7614763-d3fe-4f84-a1e1-3ca4d2a5bbd5", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:<region>:111122223333:key/<key-id>" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }
GenerateDataKey
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAXPHTESTANDEXAMPLE:V_00_GLUE_KMS_GENERATE_DATA_KEY_111122223333", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/V_00_GLUE_KMS_GENERATE_DATA_KEY_111122223333", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAXPHTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "AKIAIOSFODNN7EXAMPLE", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2024-01-05T21:15:47Z", "mfaAuthenticated": "false" } }, "invokedBy": "glue.amazonaws.com" }, "eventTime": "2024-01-05T21:15:47Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "eu-west-2", "sourceIPAddress": "glue.amazonaws.com", "userAgent": "glue.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:eu-west-2:AKIAIOSFODNN7EXAMPLE:key/AKIAIOSFODNN7EXAMPLE", "encryptionContext": { "glue_catalog_id": "111122223333" }, "keySpec": "AES_256" }, "responseElements": null, "requestID": "64d1783a-4b62-44ba-b0ab-388b50188070", "eventID": "1c73689b-2ef2-443b-aed7-8c126585ca5e", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:eu-west-2:111122223333:key/AKIAIOSFODNN7EXAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }