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

Amazon Managed Service for Apache Flink (Amazon MSF) war zuvor als Amazon Kinesis Data Analytics for Apache Flink bekannt.

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 Von AWS verwaltete Schlüsseloder 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-Checkpoint 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

Womit ist verschlüsselt? CMKs

In einer Amazon MSF-Anwendung werden Daten, die einem Flink-Checkpoint 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 CMKs zur Einrichtung Ihrer Amazon MSF-Anwendungen beschrieben.

Richtlinie zur Schlüsselrotation

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

Womit ist nicht verschlüsselt? CMKs

Quellen und Senken

Die Verschlüsselung von Datenquellen und Datensenken wird nicht von Amazon MSF verwaltet. Sie wird durch Ihre Quell- oder Senkenkonfiguration oder Anwendungskonnektorkonfiguration verwaltet.

Rückwirkende Anwendung der Verschlüsselung

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

Verschlüsselung von Protokollen

Derzeit unterstützt Amazon MSF keine Protokollverschlüsselung mit KMS CMK für Protokolle, die mit 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.

KMS-Schlüsselberechtigungen

CMK in Amazon MSF benötigt die Erlaubnis, die folgenden KMS-Aktionen durchzuführen. Diese Berechtigungen sind erforderlich, um den Zugriff zu validieren, einen CMK-verschlüsselten Speicher für laufende Anwendungen zu erstellen und den Status einer CMK-verschlüsselten Anwendung im dauerhaften Anwendungsspeicher zu speichern.

  • km: DescribeKey

    Erteilt die Berechtigung, einen KMS-Schlüsselalias in den Schlüssel-ARN aufzulösen.

  • kms:Decrypt

    Erteilt die Berechtigung für den Zugriff auf den dauerhaften Status der Anwendung und für die Bereitstellung laufender Anwendungsspeicher.

  • km: GenerateDataKey

    Erteilt die Erlaubnis, den dauerhaften Anwendungsstatus zu speichern.

  • km: GenerateDataKeyWithoutPlaintext

    Erteilt die Erlaubnis zur Bereitstellung von Speicher für laufende Anwendungen.

  • km: CreateGrant

    Erteilt die Berechtigung für den Zugriff auf den Speicher laufender Anwendungen.

Kontext und Einschränkungen der KMS-Verschlüsselung

CMK in Amazon MSF bietet Verschlüsselungskontext beim Zugriff auf Schlüssel zum Lesen oder Schreiben verschlüsselter Daten, d. h. kms:EncryptionContext:aws:kinesisanalytics:arn Zusätzlich zum Verschlüsselungskontext SourceAccount werden die Quellkontexte aws: SourceArn und aws: beim Lesen oder Schreiben von dauerhaftem Anwendungsspeicher bereitgestellt.

Bei der Erstellung von Zuschüssen für die Bereitstellung von verschlüsseltem Speicher für laufende Anwendungen erstellt Amazon MSF CMK Zuschüsse mit dem Einschränkungstyp, EncryptionContextSubsetum sicherzustellen, dass nur Entschlüsselungsvorgänge durchgelassen werden. "kms:GrantOperations": "Decrypt"

Richtlinie zur Schlüsselrotation

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

In KMS verwenden Sie entweder die automatische oder die manuelle Schlüsselrotation, um neues kryptografisches Material für Sie CMKs zu erstellen. Informationen dazu, wie Sie Ihre Schlüssel rotieren können, finden Sie unter Rotation AWS KMS keys im AWS Key Management Service Entwicklerhandbuch.

Wenn Sie Schlüssel 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 Rotations-Hauptschlüssel 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 vorherigen Rotationsschlüsselmaterial verschlüsselt.

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

Anmerkung

Wenn Sie einen Alias oder 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.

Wichtige Richtlinienerklärungen für die am wenigsten privilegierten Personen

Informationen zu den wichtigsten Grundsatzerklärungen finden Sie unter und. Erstellen Sie eine KMS-Schlüsselrichtlinie Berechtigungen für den Application Lifecycle Operator (API-Aufrufer)

Beispiele für AWS CloudTrail Protokolleinträge

Wenn Amazon MSF CMKs in verwendet AWS KMS, protokolliert es AWS CloudTrail automatisch alle AWS KMS API-Aufrufe und zugehörige Details. Diese Protokolle enthalten Informationen wie die Anfrage, AWS-Service den KMS-Schlüssel-ARN, ausgeführte API-Aktionen und Zeitstempel mit Ausnahme der verschlüsselten Daten. Diese Protokolle bieten wichtige Prüfpfade für die Einhaltung von Vorschriften, die Sicherheitsüberwachung und die Fehlerbehebung, indem sie zeigen, welche Dienste wann auf Ihre Schlüssel zugegriffen haben.

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

Das folgende CloudTrail Protokoll zeigt, wie Amazon MSF einen KMS:Decrypt-Testvorgang auf einem CMK durchführt. Amazon MSF stellt diese Anfrage mithilfe einer Operator Rolle, während es die CreateApplicationAPI verwendet. 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: API-Aufruf in Amazon MSF mit direkter Serviceauthentifizierung AWS KMS entschlüsseln

Das folgende CloudTrail Protokoll zeigt, wie Amazon MSF einen KMS:Decrypt-Testvorgang auf einem CMK durchführt. Amazon MSF stellt diese Anfrage durch 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" }