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üsselung von Daten im Ruhezustand in Step Functions
Lesen Sie den Blog
Weitere Informationen zu kundenverwalteten Schlüsseln finden Sie unter Stärkung der Datensicherheit mit einem vom Kunden verwalteten AWS KMS
AWS Step Functions verschlüsselt Ihre Daten im Ruhezustand immer mit transparenter serverseitiger Verschlüsselung. Die standardmäßige Verschlüsselung von Daten im Ruhezustand reduziert den betrieblichen Aufwand und die Komplexität, die mit dem Schutz vertraulicher Daten verbunden sind. Sie können sicherheitsrelevante Anwendungen entwickeln, die strenge Verschlüsselungsvorschriften und regulatorische Anforderungen erfüllen.
Sie können diese Verschlüsselungsebene zwar nicht deaktivieren oder einen anderen Verschlüsselungstyp auswählen, aber Sie können eine zweite Verschlüsselungsebene über den vorhandenen AWS eigenen Verschlüsselungsschlüsseln hinzufügen, indem Sie bei der Erstellung Ihrer Zustandsmaschine und Ihrer Aktivitätsressourcen einen vom Kunden verwalteten Schlüssel wählen:
-
Vom Kunden verwaltete Schlüssel — Step Functions unterstützt die Verwendung eines symmetrischen, vom Kunden verwalteten Schlüssels, den Sie erstellen, besitzen und verwalten, um eine zweite Verschlüsselungsebene über der vorhandenen AWS eigenen Verschlüsselung hinzuzufügen. Da Sie die volle Kontrolle über diese Verschlüsselungsebene haben, können Sie beispielsweise folgende Aufgaben ausführen:
-
Festlegung und Pflege wichtiger Richtlinien
-
Festlegung und Aufrechterhaltung von IAM Richtlinien und Zuschüssen
-
Aktivieren und Deaktivieren wichtiger Richtlinien
-
Kryptographisches Material mit rotierendem Schlüssel
-
Hinzufügen von Tags
-
Erstellen von Schlüsselaliasen
-
Schlüssel für das Löschen von Schlüsseln planen
Weitere Informationen finden Sie unter vom Kunden verwalteter Schlüssel im AWS Key Management Service Entwicklerhandbuch.
-
Sie können Ihre Daten mit einem vom Kunden verwalteten Schlüssel für AWS Step Functions Zustandsmaschinen und Aktivitäten verschlüsseln. Sie können einen Zeitraum für die Wiederverwendung von symmetrischen AWS KMS Schlüsseln und Datenschlüsseln konfigurieren, wenn Sie einen State Machine erstellen oder aktualisieren und wenn Sie eine Aktivität erstellen. Der Ausführungsverlauf und die State-Machine-Definition werden mit dem Schlüssel verschlüsselt, der auf die State Machine angewendet wird. Aktivitätseingaben werden mit dem Schlüssel verschlüsselt, der auf die Aktivität angewendet wurde.
Mit vom Kunden verwalteten AWS KMS Schlüsseln können Sie Kundendaten, einschließlich geschützter Gesundheitsinformationen (PHI), vor unbefugtem Zugriff schützen. Step Functions ist integriert CloudTrail, sodass Sie die neuesten Ereignisse in der CloudTrail Konsole im Ereignisverlauf anzeigen und überprüfen können.
Informationen zu AWS KMS finden Sie unter Was ist AWS Key Management Service?
Anmerkung
Step Functions ermöglicht automatisch und kostenlos die Verschlüsselung im Ruhezustand mit AWS eigenen Schlüsseln. Bei Verwendung eines vom Kunden verwalteten Schlüssels fallen jedoch AWS KMS Gebühren an. Informationen zu Preisen finden Sie unter AWS Key Management Service -Preise
Verschlüsselung mit einem vom Kunden verwalteten Schlüssel
Step Functions entschlüsselt Nutzdaten mit Ihrem vom Kunden verwalteten AWS KMS Schlüssel, bevor sie zur Ausführung einer Aufgabe an einen anderen Dienst weitergegeben werden. Die Daten werden bei der Übertragung mit Transport Layer Security () TLS verschlüsselt.
Wenn Daten von einem integrierten Service zurückgegeben werden, verschlüsselt Step Functions die Daten mit Ihrem vom Kunden verwalteten AWS KMS Schlüssel. Sie können denselben Schlüssel verwenden, um die Verschlüsselung für viele AWS Dienste konsistent anzuwenden.
Sie können einen vom Kunden verwalteten Schlüssel mit den folgenden Ressourcen verwenden:
-
State Machine — sowohl Standard- als auch Express-Workflowtypen
-
Aktivität
Sie können den Datenschlüssel angeben, indem Sie eine KMSSchlüssel-ID eingeben, mit der Step Functions Ihre Daten verschlüsselt.
-
KMSSchlüssel-ID — Schlüssel-ID für einen vom AWS KMS Kunden verwalteten Schlüssel in Form einer Schlüssel-ID, eines Schlüssels, eines Aliasnamens oder eines AliasARN. ARN
Erstellen Sie eine State Machine mit einem vom Kunden verwalteten Schlüssel
Voraussetzung: Bevor Sie eine Zustandsmaschine mit vom Kunden verwalteten AWS KMS Schlüsseln erstellen können, muss Ihr Benutzer oder Ihre Rolle über AWS KMS Berechtigungen für DescribeKey
und verfügenGenerateDataKey
.
Sie können die folgenden Schritte in der AWS Konsole, über oder durch Bereitstellung der API Infrastruktur mithilfe von AWS CloudFormation Ressourcen ausführen. (CloudFormation Beispiele werden weiter unten in diesem Handbuch vorgestellt.)
Schritt 1: AWS KMS Schlüssel erstellen
Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel mit der AWS KMS Konsole oder AWS KMS APIs erstellen.
Einen symmetrischen kundenverwalteten Schlüssel erstellen
Folgen Sie den Schritten zum Erstellen eines symmetrischen kundenverwalteten Schlüssels im Entwicklerhandbuch zum AWS Key Management Service .
Anmerkung
Optional: Wenn Sie einen Schlüssel erstellen, können Sie Schlüsseladministratoren wählen. Den ausgewählten Benutzern oder Rollen wird Zugriff auf die Verwaltung des Schlüssels gewährt, z. B. die Aktivierung oder Deaktivierung des Schlüssels über dieAPI. Sie können auch Key-Benutzer auswählen. Diesen Benutzern oder Rollen wird die Möglichkeit gewährt, den AWS KMS Schlüssel für kryptografische Operationen zu verwenden.
Schritt 2: Legen Sie die AWS KMS Schlüsselrichtlinie fest
Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Wenn Sie Ihren vom Kunden verwalteten Schlüssel erstellen, können Sie eine Schlüsselrichtlinie angeben. Weitere Informationen finden Sie unter Verwaltung des Zugriffs auf vom Kunden verwaltete Schlüssel im AWS Key Management Service Entwicklerhandbuch.
Im Folgenden finden Sie ein Beispiel für eine AWS KMS Schlüsselrichtlinie von der Konsole aus, ohne Schlüsseladministratoren oder Schlüsselbenutzer:
{ "Version": "2012-10-17", "Id": "key-consolepolicy-1", "Statement": [ { "Sid": "Enable IAM User Permissions for the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" } ] }
Informationen zur Angabe von Berechtigungen in einer Richtlinie und zur Problembehandlung beim Schlüsselzugriff finden Sie im AWS Key Management Service Entwicklerhandbuch.
Schritt 3: (Optional) Fügen Sie eine Schlüsselrichtlinie zur Verschlüsselung von Protokollen CloudWatch hinzu
Step Functions ist CloudWatch für die Protokollierung und Überwachung integriert. Sie haben die Möglichkeit, an CloudWatch Logs gesendete Daten zu verschlüsseln. Um die verschlüsselte Protokollierung verwenden zu können, müssen Sie in der State-Machine-Schlüsselrichtlinie für AWS KMS Aktionen Zugriff auf den Protokollzustellungsdienst gewähren. Sie können Protokollgruppen mithilfe des Zustandsmaschinenschlüssels verschlüsseln, oder Sie können einen anderen Schlüssel speziell für die Protokollgruppe wählen (z. B. „Protokollgruppenschlüssel“).
Um die verschlüsselte CloudWatch Protokollintegration für eine Zustandsmaschine zu aktivieren, müssen Sie Ihrer AWS KMS Schlüsselrichtlinie Folgendes hinzufügen:
{ "Id": "key-consolepolicy-logging", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable log service for a single log group", "Effect": "Allow", "Principal": { "Service": "logs.
region
.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnEquals": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:region
:account-id
:log-group:log-group-name
" } } } ] }
Anmerkung
Condition
In diesem Abschnitt wird der AWS KMS Schlüssel auf eine einzelne Protokollgruppe ARN beschränkt.
Sie müssen auch die Protokolldienstbereitstellung für Integrationen mit der folgenden wichtigen Richtlinie aktivieren:
{ "Sid": "Enable log service delivery for integrations", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "kms:Decrypt*", "Resource": "*" }
Anmerkung
Weitere Informationen zum Festlegen von Berechtigungen für den AWS KMS Schlüssel für Ihre Protokollgruppe finden Sie in der Dokumentation zu den CloudWatch Protokollen.
Schritt 4: Zustandsmaschine erstellen
Nachdem Sie einen Schlüssel erstellt und die Richtlinie eingerichtet haben, können Sie diesen Schlüssel verwenden, um eine neue Zustandsmaschine zu erstellen.
Wählen Sie bei der Erstellung der Zustandsmaschine Zusätzliche Konfiguration und anschließend die Verschlüsselung mit dem vom Kunden verwalteten Schlüssel aus. Anschließend können Sie Ihren Schlüssel auswählen und den Zeitraum für die Wiederverwendung von Datenschlüsseln zwischen 1 Minute und 15 Minuten festlegen.
Optional können Sie die Protokollierung aktivieren, indem Sie eine Protokollebene festlegen und die Protokollgruppe mit Ihrem AWS KMS Schlüssel verschlüsseln.
Anmerkung
Sie können die Verschlüsselung nur für eine neue Protokollgruppe in der Step Functions-Konsole aktivieren. Informationen zum Zuordnen eines AWS KMS Schlüssels zu einer vorhandenen Protokollgruppe finden Sie unter Zuordnen eines AWS KMS Schlüssels zu einer Protokollgruppe.
Schritt 5: Rufen Sie die mit Ihrem AWS KMS Schlüssel verschlüsselte Zustandsmaschine auf
Sie können Ihre verschlüsselte Zustandsmaschine wie gewohnt aufrufen, und Ihre Daten werden mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt.
Um eine Ausführung für Standard-Workflows und asynchrone Express-Workflows mit vom Kunden verwalteten Schlüsseln zu starten, sind Ihre Ausführungsrolle kms:Decrypt
und kms:GenerateDataKey
Berechtigungen erforderlich. Die Ausführungsrolle für die Ausführung von Synchronous Express erfordert. kms:Decrypt
Wenn Sie in der Konsole eine Zustandsmaschine erstellen und „Neue Rolle erstellen“ wählen, werden diese Berechtigungen automatisch für Sie übernommen.
Erstellen Sie eine Aktivität mit einem vom Kunden verwalteten Schlüssel
Das Erstellen einer Step Functions Functions-Aktivität mit einem vom Kunden verwalteten Schlüssel ähnelt dem Erstellen einer Zustandsmaschine mit einem vom Kunden verwalteten Schlüssel. Bevor Sie eine Aktivität mit vom Kunden verwalteten AWS KMS Schlüsseln erstellen können, benötigt Ihr Benutzer oder Ihre Rolle lediglich die AWS KMS entsprechenden BerechtigungenDescribeKey
. Bei der Erstellung der Aktivität wählen Sie den Schlüssel aus und legen die Konfigurationsparameter für die Verschlüsselung fest.
Beachten Sie, dass die Ressourcen der Step Functions Functions-Aktivität unveränderlich bleiben. Sie können die encryptionConfiguration
für eine Aktivität ARN einer vorhandenen Aktivität nicht aktualisieren. Sie müssen eine neue Aktivitätsressource erstellen. Anrufer der API Aktivitätsendpunkte müssen über die kms:DescribeKey
erforderlichen Berechtigungen verfügen, um erfolgreich eine Aktivität mit einem AWS KMS Schlüssel erstellen zu können.
Wenn die vom Kunden verwaltete Schlüsselverschlüsselung für eine Aktivitätsaufgabe aktiviert ist, benötigt kms:GenerateDataKey
die State-Machine-Ausführungsrolle eine kms:Decrypt
Genehmigung für den Aktivitätsschlüssel. Wenn Sie diese Zustandsmaschine von der Step Functions Functions-Konsole aus erstellen, fügt die Funktion zur auto Rollenerstellung diese Berechtigungen hinzu.
Definieren Sie die AWS KMS Berechtigungsrichtlinien mit bestimmten Bedingungen
Sie können den Verschlüsselungskontext in wichtigen Richtlinien und IAM Richtlinien verwenden, conditions
um den Zugriff auf Ihren symmetrischen, vom Kunden verwalteten Schlüssel zu kontrollieren. Um die Verwendung eines AWS KMS Schlüssels auf Anfragen von Step Functions im Namen einer bestimmten Rolle zu beschränken, können Sie die kms:ViaService
Bedingung verwenden.
Geltungsbereich mit Verschlüsselungskontext
Ein Verschlüsselungskontext ist ein optionaler Satz von Schlüssel-Wert-Paaren, die zusätzliche kontextbezogene Informationen zu den Daten enthalten.
AWS KMS verwendet den Verschlüsselungskontext als zusätzliche authentifizierte Daten, um die authentifizierte Verschlüsselung zu unterstützen. Wenn Sie einen Verschlüsselungskontext in eine Anforderung zum Verschlüsseln von Daten einbeziehen, wird der Verschlüsselungskontext AWS KMS an die verschlüsselten Daten gebunden. Zur Entschlüsselung von Daten müssen Sie denselben Verschlüsselungskontext in der Anfrage übergeben.
Step Functions bietet einen Verschlüsselungskontext für AWS KMS kryptografische Operationen, wobei der Schlüssel aws:states:stateMachineArn
für State Machines oder aws:states:activityArn
für Activities ist und der Wert die Ressource Amazon Resource Name (ARN) ist.
"encryptionContext": {"aws:states:stateMachineArn": "arn:aws:states:region
:123456789012:stateMachine:state_machine_name
"}
"encryptionContext": {"aws:states:activityArn": "arn:aws:states:region
:123456789012:activity:activity_name
"}
Das folgende Beispiel zeigt, wie die Verwendung eines AWS KMS Schlüssels für Ausführungsrollen mit kms:EncryptionContext
und dem aws:states:stateMachineArn
Kontextschlüssel auf bestimmte Zustandsmaschinen beschränkt werden kann:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow KMS Permissions for StepFunctionsWorkflowExecutions", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:aa-example-1:1234567890:key/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa" ], "Condition": { "StringEquals": { "kms:EncryptionContext:aws:states:stateMachineArn": "arn:aws:states:aa-example-1:1234567890:stateMachine:MyStateMachine" } } } ] }
Gültigkeitsbereich mit KMS: ViaService
Der kms:ViaService
Bedingungsschlüssel beschränkt die Verwendung eines AWS Key Management Service Schlüssels auf Anfragen von bestimmten AWS Diensten.
Die folgende Beispielrichtlinie verwendet die kms:ViaService
Bedingung, um zuzulassen, dass der AWS KMS Schlüssel nur dann für bestimmte Aktionen verwendet wird, wenn die Anforderung von Step Functions in der ca-central-1
Region stammt und im Namen von handelt: ExampleRole
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow access for Key Administrators in a region", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::1234567890:role/ExampleRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "states.ca-central-1.amazonaws.com" } } } ] }
Anmerkung
Die kms:ViaService
Bedingung gilt nur, wenn der API Aufrufer AWS KMS Berechtigungen benötigt (z. B.CreateStateMachine
, CreateActivity
GetActivityTask
, usw.). Das Hinzufügen einer kms:ViaService
Bedingung zu einer Ausführungsrolle kann verhindern, dass eine neue Ausführung gestartet wird, oder dazu führen, dass eine laufende Ausführung fehlschlägt.
Erforderliche Berechtigungen für API Anrufer
Um Step Functions API Functions-Aktionen aufzurufen, die verschlüsselte Daten zurückgeben, benötigen Anrufer AWS KMS
Berechtigungen. Alternativ verfügen einige API Aktionen über eine Option (METADATA_ONLY
), mit der nur Metadaten zurückgegeben werden können, sodass keine AWS KMS Berechtigungen erforderlich sind. Weitere Informationen finden Sie in den Step FunctionsAPI.
Damit eine Ausführung erfolgreich abgeschlossen werden kann, wenn die vom Kunden verwaltete Schlüsselverschlüsselung verwendet wird, müssen die Ausführungsrolle kms:GenerateDataKey
und die kms:Decrypt
Berechtigungen für die von der Zustandsmaschine verwendeten AWS KMS Schlüssel erteilt werden.
Die folgende Tabelle zeigt die AWS KMS Berechtigungen, die Sie benötigen, um Step Functions State API Machine-Aufrufer bereitzustellen. Sie können die Berechtigungen in der Schlüsselrichtlinie oder IAM Richtlinie für die Rolle angeben.
APIsmithilfe des AWS KMS Schlüssels von State Machine | Vom Anrufer erforderlich |
CreateStateMachine | km:DescribeKey, km: GenerateDataKey |
UpdateStateMachine | km:DescribeKey, km: GenerateDataKey |
DescribeStateMachine | kms:Decrypt |
DescribeStateMachineForExecution | kms:Decrypt |
StartExecution | -- |
StartSyncExecution | kms:Decrypt |
SendTaskSuccess | -- |
SendTaskFailure | -- |
StopExecution | -- |
RedriveExecution | -- |
DescribeExecution | kms:Decrypt |
GetExecutionHistory | kms:Decrypt |
Die folgende Tabelle zeigt die AWS KMS Berechtigungen, die Sie benötigen, um Step Functions APIFunctions-Aktivitätsaufrufer bereitzustellen. Sie können die Berechtigungen in der Schlüsselrichtlinie oder IAM Richtlinie für die Rolle angeben.
APIsmithilfe des AWS KMS Schlüssels von Activity | Vom Anrufer erforderlich |
CreateActivity | km: DescribeKey |
GetActivityTask | kms:Decrypt |
Wann erteile ich der Rolle „Anrufer“ oder „Ausführung“ Berechtigungen?
Wenn eine IAM Rolle oder ein Benutzer die Step Functions aufruftAPI, ruft der Step Functions API Functions-Dienst im Namen des Aufrufers AWS KMS auf. In diesem Fall müssen Sie dem API Anrufer die AWS KMS Erlaubnis erteilen. Wenn eine Ausführungsrolle AWS KMS direkt aufruft, müssen Sie der Ausführungsrolle AWS KMS Berechtigungen erteilen.
AWS CloudFormation Ressourcen für die Verschlüsselungskonfiguration
AWS CloudFormation Ressourcentypen für Step Functions können Zustandsmaschinen- und Aktivitätsressourcen mit Verschlüsselungskonfigurationen bereitstellen.
Standardmäßig bietet Step Functions eine transparente serverseitige Verschlüsselung. Beides AWS::StepFunctions::Activity
und AWS::StepFunctions::StateMachine
akzeptieren Sie eine optionale EncryptionConfiguration
Eigenschaft, mit der ein vom Kunden verwalteter AWS KMS Schlüssel für die serverseitige Verschlüsselung konfiguriert werden kann.
Voraussetzung: Bevor Sie eine Zustandsmaschine mit vom Kunden verwalteten AWS KMS Schlüsseln erstellen können, muss Ihr Benutzer oder Ihre Rolle über AWS KMS Berechtigungen für DescribeKey
und GenerateDataKey
verfügen.
Updates für StateMachine erfordert Keine Unterbrechung. Aktualisierungen der Aktivitätsressourcen erfordern: Ersatz.
Verwenden Sie die folgende Syntax, um eine EncryptionConfiguration
Eigenschaft in Ihrer AWS CloudFormation Vorlage zu deklarieren:
JSON
{ "KmsKeyId" : String, "KmsDataKeyReusePeriodSeconds" : Integer, "Type" : String }
YAML
KmsKeyId: String KmsDataKeyReusePeriodSeconds: Integer Type: String
Eigenschaften
-
Typ — Verschlüsselungsoption für den Zustandsmaschine oder die Aktivität. Zulässige Werte:
CUSTOMER_MANAGED_KMS_KEY
|AWS_OWNED_KEY
-
KmsKeyId— Alias, AliasARN, Schlüssel-ID oder Schlüssel ARN des symmetrischen AWS KMS Verschlüsselungsschlüssels, der den Datenschlüssel verschlüsselt. Um einen AWS KMS Schlüssel in einem anderen AWS Konto anzugeben, muss der Kunde den Schlüssel ARN oder Alias verwenden. ARN Informationen kmsKeyId dazu finden Sie KeyIdin den AWS KMS Dokumenten.
-
KmsDataKeyReusePeriodSeconds- Maximale Dauer, für die Datenschlüssel wiederverwendet SFN werden. Wenn der Zeitraum abgelaufen ist, wird Step Functions aufgerufen
GenerateDataKey
. Diese Einstellung kann nur festgelegt werden, wenn Type auf stehtCUSTOMER_MANAGED_KMS_KEY
. Der Wert kann zwischen 60 und 900 Sekunden liegen. Der Standardwert beträgt 300 Sekunden.
AWS CloudFormation Beispiele
Beispiel: StateMachine mit vom Kunden verwaltetem Schlüssel
AWSTemplateFormatVersion: '2010-09-09' Description: An example template for a Step Functions State Machine. Resources: MyStateMachine: Type: AWS::StepFunctions::StateMachine Properties: StateMachineName: HelloWorld-StateMachine Definition: StartAt: PassState States: PassState: Type: Pass End: true RoleArn: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/example" EncryptionConfiguration: KmsKeyId: !Ref MyKmsKey KmsDataKeyReusePeriodSeconds: 100 Type: CUSTOMER_MANAGED_KMS_KEY MyKmsKey: Type: AWS::KMS::Key Properties: Description: Symmetric KMS key used for encryption/decryption
Beispiel: Aktivität mit vom Kunden verwaltetem Schlüssel
AWSTemplateFormatVersion: '2010-09-09' Description: An example template for a Step Functions Activity. Resources: Activity: Type: AWS::StepFunctions::Activity Properties: Name: ActivityWithKmsEncryption EncryptionConfiguration: KmsKeyId: !Ref MyKmsKey KmsDataKeyReusePeriodSeconds: 100 Type: CUSTOMER_MANAGED_KMS_KEY MyKmsKey: Type: AWS::KMS::Key Properties: Description: Symmetric KMS key used for encryption/decryption
Um die Verschlüsselung für eine Aktivität zu aktualisieren, muss eine neue Ressource erstellt werden
Die Aktivitätskonfiguration ist unveränderlich und die Ressourcennamen müssen eindeutig sein. Um vom Kunden verwaltete Schlüssel für die Verschlüsselung festzulegen, müssen Sie eine neue Aktivität erstellen. Wenn Sie versuchen, die Konfiguration in Ihrer CFN Vorlage für eine bestehende Aktivität zu ändern, erhalten Sie eine ActivityAlreadyExists
Ausnahme.
Um Ihre Aktivität so zu aktualisieren, dass sie vom Kunden verwaltete Schlüssel enthält, geben Sie in Ihrer CFN Vorlage einen neuen Namen für die Aktivität ein. Im Folgenden finden Sie ein Beispiel, das eine neue Aktivität mit einer vom Kunden verwalteten Schlüsselkonfiguration erstellt:
Bestehende Aktivitätsdefinition
AWSTemplateFormatVersion: '2010-09-09'
Description: An example template for a new Step Functions Activity.
Resources:
Activity:
Type: AWS::StepFunctions::Activity
Properties:
Name: ActivityName
EncryptionConfiguration:
Type: AWS_OWNED_KEY
Neue Aktivitätsdefinition
AWSTemplateFormatVersion: '2010-09-09' Description: An example template for a Step Functions Activity. Resources: Activity: Type: AWS::StepFunctions::Activity Properties: Name: ActivityWithKmsEncryption EncryptionConfiguration: KmsKeyId: !Ref MyKmsKey KmsDataKeyReusePeriodSeconds: 100 Type: CUSTOMER_MANAGED_KMS_KEY MyKmsKey: Type: AWS::KMS::Key Properties: Description: Symmetric KMS key used for encryption/decryption
Überwachung der Verwendung Ihres Verschlüsselungsschlüssels
Wenn Sie einen vom AWS KMS Kunden verwalteten Schlüssel verwenden, um Ihre Step Functions-Ressourcen CloudTrail zu verschlüsseln, können Sie damit Anfragen verfolgen, an AWS KMS die Step Functions sendet.
Sie können den Verschlüsselungskontext auch in Prüfaufzeichnungen und Protokollen verwenden, um festzustellen, wie der vom Kunden verwaltete Schlüssel verwendet wird. Der Verschlüsselungskontext erscheint auch in Protokollen, die von AWS CloudTrailgeneriert wurden.
Die folgenden Beispiele sind CloudTrail Ereignisse fürDecrypt
, und GenerateDataKey
zur Überwachung von AWS KMS VorgängenDescribeKey
, die von Step Functions aufgerufen werden, um auf Daten zuzugreifen, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt wurden:
FAQs
Was passiert, wenn mein Schlüssel zum Löschen markiert ist oder in AWS KMS gelöscht wird?
Wenn der Schlüssel gelöscht oder zum Löschen markiert wird AWS KMS, schlagen alle zugehörigen laufenden Ausführungen fehl. Neue Ausführungen können erst gestartet werden, wenn Sie den mit dem Workflow verknüpften Schlüssel entfernen oder ändern. Nach dem Löschen eines AWS KMS Schlüssels bleiben alle verschlüsselten Daten, die mit der Workflow-Ausführung verknüpft sind, verschlüsselt und können nicht mehr entschlüsselt werden, sodass die Daten nicht wiederhergestellt werden können.
Was passiert, wenn ein AWS KMS Schlüssel in deaktiviert ist? AWS KMS
Wenn ein AWS KMS Schlüssel in deaktiviert ist AWS KMS, schlagen alle zugehörigen laufenden Ausführungen fehl. Neue Ausführungen können nicht gestartet werden. Sie können die mit diesem deaktivierten AWS KMS Schlüssel verschlüsselten Daten nicht mehr entschlüsseln, bis er wieder aktiviert ist.
Was passiert mit Ereignissen zur Änderung des Ausführungsstatus, an die gesendet wurde? EventBridge
Bei Workflows, die mit Ihrem vom Kunden verwalteten AWS KMS Schlüssel verschlüsselt wurden, werden Eingabe, Ausgabe, Fehler und Ursache bei der Änderung des Ausführungsstatus nicht berücksichtigt.
Weitere Informationen
Informationen zur Verschlüsselung inaktiver Daten finden Sie unter AWS Key Management Service Konzepte und bewährte Sicherheitsmethoden für AWS Key Management Service im AWS Key Management Service Entwicklerhandbuch.