View a markdown version of this page

Schlüsselverwaltung in Amazon Managed Service für Apache Flink - Managed Service für Apache Flink

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.

Schlüsselverwaltung in Amazon Managed Service für Apache Flink

In Amazon MSF können Sie wählen, ob Sie entweder einen Von AWS verwaltete Schlüssel oder Ihre eigenen vom Kunden verwalteten Schlüssel (CMKs) zum Verschlüsseln von Daten verwenden möchten. CMKs in AWS Key Management Service (AWS KMS) sind Verschlüsselungsschlüssel, die Sie selbst erstellen, besitzen und verwalten.

Standardmäßig verwendet Amazon MSF AWS-eigene Schlüssel (AOKs), um Ihre Daten in kurzlebigen (laufenden Anwendungsspeicher) und dauerhaften (dauerhaften Anwendungsspeicher) Speichern zu verschlüsseln. Das bedeutet, dass alle Daten, die einem Flink-Prüfpunkt oder -Snapshot unterliegen, standardmäßig verschlüsselt werden. AOKs sind die Standardverschlüsselungsmethode in Amazon MSF und es ist keine zusätzliche Einrichtung erforderlich. Um Daten während der Übertragung zu verschlüsseln, verwendet Amazon MSF standardmäßig TLS und HTTP+SSL und erfordert keine zusätzliche Einrichtung oder Konfiguration.

In Amazon MSF ist CMK eine Funktion, mit der Sie die Daten Ihrer Anwendung mit einem Schlüssel verschlüsseln können, den Sie erstellen, besitzen und mit dem Sie verwalten. AWS KMS

Was ist mit CMKs verschlüsselt?

In einer Amazon MSF-Anwendung werden Daten, die einem Flink-Prüfpunkt oder -Snapshot unterliegen, mit einem CMK verschlüsselt, den Sie für diese Anwendung definieren. Folglich verschlüsselt Ihr CMK Daten, die entweder im laufenden Anwendungsspeicher oder im dauerhaften Anwendungsspeicher gespeichert sind. In den folgenden Abschnitten wird das Verfahren zum Einrichten von CMKs für Ihre Amazon MSF-Anwendungen beschrieben.

Richtlinie zur Schlüsselrotation

Amazon MSF verwaltet die Schlüsselrotationsrichtlinie für Ihre CMKs nicht. Sie sind für Ihre eigene Schlüsselrotation verantwortlich. Das liegt daran, dass Sie CMKs erstellen und verwalten. Informationen zur Verwendung Ihrer Schlüsselrotationsrichtlinie mit CMK in Amazon MSF finden Sie unter. Richtlinie zur Schlüsselrotation

Was ist nicht mit CMKs verschlüsselt?

Quellen und Senken

Die Verschlüsselung von Datenquellen und Datensenken wird nicht von Amazon MSF verwaltet. Sie wird von Ihrer Quell- oder Senkenkonfiguration oder Anwendungs-Connector-Konfiguration verwaltet.

Rückwirkende Anwendung der Verschlüsselung

CMK in Amazon MSF bietet keine Unterstützung für die rückwirkende Anwendung von CMKs auf einen vorhandenen historischen Snapshot.

Verschlüsselung protokollieren

Derzeit unterstützt Amazon MSF keine Protokollverschlüsselung mit KMS CMK für Protokolle, die von Ihrem Anwendungscode jar generiert wurden. Sie müssen sicherstellen, dass die Protokolle keine Daten enthalten, für die eine CMK-Verschlüsselung erforderlich ist.

Verschlüsseln von Daten während der Übertragung.

Sie können CMK nicht verwenden, um Daten während der Übertragung zu verschlüsseln. Standardmäßig verschlüsselt Amazon MSF alle Daten während der Übertragung mit TLS oder HTTP und SSL.

Unterstützte KMS-Schlüsseltypen

CMK in Amazon MSF unterstützt symmetrische Schlüssel. https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks

KMS-Schlüsselberechtigungen

CMK in Amazon MSF benötigt die Erlaubnis, die folgenden KMS-Aktionen auszuführen. Diese Berechtigungen sind erforderlich, um den Zugriff zu validieren, CMK-verschlüsselten laufenden Anwendungsspeicher zu erstellen und den CMK-verschlüsselten Anwendungsstatus in einem dauerhaften Anwendungsspeicher zu speichern.

  • km: DescribeKey

    Erteilt die Erlaubnis, einen KMS-Schlüsselalias zum Schlüssel-ARN aufzulösen.

  • kms:Decrypt

    Erteilt die Berechtigung für den Zugriff auf den dauerhaften Anwendungsstatus und die Bereitstellung von laufendem Anwendungsspeicher.

  • km: GenerateDataKey

    Erteilt die Erlaubnis, den dauerhaften Anwendungsstatus zu speichern.

  • km: GenerateDataKeyWithoutPlaintext

    Erteilt die Erlaubnis, laufenden Anwendungsspeicher bereitzustellen.

  • km: CreateGrant

    Erteilt die Erlaubnis, auf den laufenden Anwendungsspeicher zuzugreifen.

Kontext und Einschränkungen der KMS-Verschlüsselung

CMK in Amazon MSF stellt den Verschlüsselungskontext bereit, wenn auf Schlüssel zugegriffen wird, um verschlüsselte Daten zu lesen oder zu schreiben, d. h. kms:EncryptionContext:aws:kinesisanalytics:arn Zusätzlich zum Verschlüsselungskontext werden beim Lesen oder Schreiben eines dauerhaften Anwendungsspeichers SourceAccount die Quellkontexte https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn aws: SourceArn und aws: bereitgestellt.

Bei der Erstellung von Zuschüssen für die Bereitstellung von verschlüsseltem, laufendem Anwendungsspeicher erstellt Amazon MSF CMK Zuschüsse mit Einschränkungstyp, EncryptionContextSubset um sicherzustellen, dass nur der https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html Entschlüsselungsvorgang durchgelassen wird. "kms:GrantOperations": "Decrypt"

Richtlinie zur Schlüsselrotation

Amazon MSF verwaltet die Schlüsselrotationsrichtlinie für Ihre CMKs nicht. Sie sind für Ihre eigene Schlüsselrotation verantwortlich, da Sie CMKs erstellen und verwalten.

In KMS verwenden Sie entweder die automatische oder die manuelle Schlüsselrotation, um neues kryptografisches Material für Ihre CMKs zu erstellen. Informationen zum Rotieren Ihrer Schlüssel finden Sie unter Rotate AWS KMS keys im AWS Key Management Service Entwicklerhandbuch.

Wenn Sie die Schlüssel für CMKs in Amazon MSF rotieren, müssen Sie sicherstellen, dass der Operator (API-Aufrufer) über Berechtigungen sowohl für den vorherigen als auch für den neuen Schlüssel verfügt.

Anmerkung

Eine Anwendung kann mit einem Snapshot beginnen, der mit AOK verschlüsselt wurde, nachdem er für die Verwendung von CMK konfiguriert wurde. Eine Anwendung kann auch von einem Snapshot aus starten, der mit einem älteren CMK verschlüsselt wurde. Um eine Anwendung von einem Snapshot aus zu starten, muss der Operator (API-Aufrufer) über Berechtigungen sowohl für den alten als auch für den neuen Schlüssel verfügen.

In Amazon MSF empfehlen wir, dass Sie Ihre Anwendungen mithilfe der CMK-Verschlüsselung beenden und neu starten. Dadurch wird sichergestellt, dass der neue Hauptschlüssel für die Rotation auf alle Daten im laufenden Anwendungsspeicher und im dauerhaften Anwendungsspeicher angewendet wird. Wenn Sie Ihre Anwendung nicht beenden und neu starten, wird das neue Schlüsselmaterial nur auf den dauerhaften Anwendungsspeicher angewendet. Der laufende Anwendungsspeicher wird weiterhin mit dem Material des vorherigen Rotationsschlüssels verschlüsselt.

Wenn Sie den für CMK verwendeten AWS KMS key ARN ändern, sollten Sie ihn UpdateApplication in Amazon MSF verwenden. Dadurch wird sichergestellt, dass Ihre Flink-Anwendung im Rahmen der UpdateApplication Anwendung der CMK-Änderungen neu gestartet wird.

Anmerkung

Wenn Sie einen Alias oder einen Alias-ARN angeben, löst Amazon MSF den Alias in einen Schlüssel-ARN auf und speichert den Schlüssel-ARN als konfigurierten Schlüssel für die Anwendung.

Least-privileged wichtige Grundsatzerklärungen

Informationen zu den wichtigsten Grundsatzerklärungen finden Sie unter Erstellen Sie eine KMS-Schlüsselrichtlinie undBerechtigungen für den Anwendungslebenszyklusoperator (API-Aufrufer).

Beispiel AWS CloudTrail Einträge protokollieren

Wenn Amazon MSF CMKs verwendet AWS KMS, AWS CloudTrail werden automatisch alle AWS KMS API-Aufrufe und zugehörige Details protokolliert. Diese Protokolle enthalten Informationen wie die Anfrage, den AWS-Service KMS-Schlüssel-ARN, ausgeführte API-Aktionen und Zeitstempel, die die verschlüsselten Daten ausschließen. Diese Protokolle bieten wichtige Prüfprotokolle für die Einhaltung von Vorschriften, Sicherheitsüberwachung und Problembehebung. Sie zeigen, welche Dienste wann auf Ihre Schlüssel zugegriffen haben.

Beispiel 1: AWS KMS Entschlüsseln Sie den API-Aufruf mithilfe einer angenommenen Rolle in Amazon MSF

Das folgende CloudTrail Protokoll zeigt, wie Amazon MSF einen https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html KMS:Decrypt-Testvorgang auf einem CMK durchführt. Amazon MSF stellt diese Anfrage mithilfe einer Rolle, während die API verwendet wird. Operator CreateApplication Das folgende Protokoll enthält wichtige Details, wie den Ziel-KMS-Schlüssel-ARN, die zugehörige Amazon MSF-Anwendung (MyCmkApplication) und den Zeitstempel des Vorgangs.

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "REDACTED", "arn": "arn:aws:sts::123456789012:assumed-role/Operator/CmkTestingSession", "accountId": "123456789012", "accessKeyId": "REDACTED", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "REDACTED", "arn": "arn:aws:iam::123456789012:role/Operator", "accountId": "123456789012", "userName": "Operator" }, "attributes": { "creationDate": "2025-08-07T13:29:28Z", "mfaAuthenticated": "false" } }, "invokedBy": "kinesisanalytics.amazonaws.com" }, "eventTime": "2025-08-07T13:45:45Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "kinesisanalytics.amazonaws.com", "userAgent": "kinesisanalytics.amazonaws.com", "errorCode": "DryRunOperationException", "errorMessage": "The request would have succeeded, but the DryRun option is set.", "requestParameters": { "encryptionContext": { "aws:kinesisanalytics:arn": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/MyCmkApplication" }, "keyId": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "dryRun": true }, "responseElements": null, "additionalEventData": { "keyMaterialId": "REDACTED" }, "requestID": "56764d19-1eb1-48f1-8044-594aa7dd05c4", "eventID": "1371b402-f1dc-4c47-8f3a-1004e4803c5a", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management" }
Beispiel 2: AWS KMS Entschlüsseln Sie den API-Aufruf in Amazon MSF mit direkter Serviceauthentifizierung

Das folgende CloudTrail Protokoll zeigt, wie Amazon MSF einen https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html KMS:Decrypt-Testvorgang auf einem CMK durchführt. Amazon MSF stellt diese Anfrage über eine direkte AWS Service-to-Service-Authentifizierung, anstatt eine Rolle zu übernehmen. Das folgende Protokoll enthält wichtige Details, wie den Ziel-KMS-Schlüssel-ARN, die zugehörige Amazon MSF-Anwendung (MyCmkApplication) und eine gemeinsame Ereignis-ID des Vorgangs.

{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "kinesisanalytics.amazonaws.com" }, "eventTime": "2025-08-07T13:45:45Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "kinesisanalytics.amazonaws.com", "userAgent": "kinesisanalytics.amazonaws.com", "errorCode": "DryRunOperationException", "errorMessage": "The request would have succeeded, but the DryRun option is set.", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionContext": { "aws:kinesisanalytics:arn": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/MyCmkApplication" }, "dryRun": true }, "responseElements": null, "additionalEventData": { "keyMaterialId": "REDACTED" }, "requestID": "5fe45ada-7519-4608-be2f-5a9b8ddd62b2", "eventID": "6206b08f-ce04-3011-9ec2-55951d357b2c", "readOnly": true, "resources": [ { "accountId": "123456789012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "Application-account-ID", "sharedEventID": "acbe4a39-ced9-4f53-9f3c-21ef7e89dc37", "eventCategory": "Management" }