View a markdown version of this page

Datenverschlüsselung - Amazon Connect-Entscheidungen

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.

Datenverschlüsselung

Dieses Thema enthält spezifische Informationen zu Amazon Connect-Entscheidungen zur Verschlüsselung bei der Übertragung und zur Verschlüsselung im Ruhezustand.

Verschlüsselung während der Übertragung

Die gesamte Kommunikation zwischen Kunden und Amazon Connect Decisions sowie zwischen Amazon Connect Decisions und seinen nachgelagerten Abhängigkeiten wird durch Verbindungen mit TLS 1.2 oder höher geschützt.

Verschlüsselung im Ruhezustand

Alle Daten im Ruhezustand werden serverseitig verschlüsselt. Es ist keine zusätzliche Konfiguration erforderlich, da die Verschlüsselung vom Dienst transparent abgewickelt wird.

Standardmäßig verschlüsselt Amazon Connect Decisions Ihre Daten mit AWS-eigenen Verschlüsselungsschlüsseln von AWS Key Management Service (AWS KMS). Sie müssen keine Maßnahmen ergreifen, um die AWS-eigenen Schlüssel zu schützen, mit denen Ihre Daten verschlüsselt werden. Weitere Informationen finden Sie im AWS Key Management Service Developer Guide unter AWS-eigene Schlüssel.

Sie können optional einen vom Kunden verwalteten KMS-Schlüssel konfigurieren, um die volle Kontrolle über den Schlüssellebenszyklus zu haben, einschließlich Erstellung, Rotation, Deaktivierung und Verwaltung der Zugriffsrichtlinien.

Verschlüsselung von Daten im Ruhezustand mit vom Kunden verwalteten KMS-Schlüsseln

Wie Amazon Connect Decisions einen vom Kunden verwalteten KMS-Schlüssel verwendet

Wenn Sie einen vom Kunden verwalteten KMS-Schlüssel konfigurieren, verwendet Amazon Connect Decisions ihn, um alle Daten in Ihrer Instance im Ruhezustand zu verschlüsseln. Dies schließt Daten ein, die in der dem Dienst zugrunde liegenden Infrastruktur gespeichert sind.

Der Dienst greift über drei Mechanismen auf Ihren Schlüssel zu:

  • Dienstprinzipal — Der scn.amazonaws.com Dienstprinzipal ruft KMS direkt für Encrypt, Decrypt und GenerateDataKey Operationen auf und übergibt dabei den Verschlüsselungskontext und verwirrte stellvertretende Header.

  • Zuschüsse — Der Dienst gewährt Ihren Schlüssel, wenn Sie eine Instanz erstellen. Diese Zuschüsse ermöglichen es abhängigen AWS-Services, Daten mithilfe Ihres Schlüssels zu verschlüsseln und zu entschlüsseln. Zuschüsse werden zurückgezogen, wenn die Instanz gelöscht wird.

  • Instanzrolle über FAS — Eine serviceverknüpfte Rolle greift über die scn.<region>.amazonaws.com ViaService Bedingung auf Ihren Schlüssel zu, wenn Sie mit der Konsole interagieren.

Verschlüsselungskontext: Alle direkten KMS-Operationen beinhalten den folgenden Verschlüsselungskontext:

{"aws:scn:arn": "arn:aws:scn:<region>:<account-id>:instance/<instance-id>"}

Zwischenspeichern von Datenschlüsseln: Amazon Connect Decisions speichert Datenschlüssel für bis zu 15 Minuten im Cache. Das bedeutet, dass der Dienst, nachdem Sie den Zugriff auf Ihren KMS-Schlüssel deaktiviert oder widerrufen haben, einen zwischengespeicherten Datenschlüssel bis zu 15 Minuten lang weiter verwenden kann, bevor der Betrieb fehlschlägt.

Konfiguration eines vom Kunden verwalteten KMS-Schlüssels

Amazon Connect Decisions unterstützt nur KMS-Schlüssel mit symmetrischer Verschlüsselung. Multi-region Schlüssel werden unterstützt.

Konfiguration von Berechtigungen zur Verwendung eines vom Kunden verwalteten KMS-Schlüssels

Um einen vom Kunden verwalteten KMS-Schlüssel zu verwenden, konfigurieren Sie Ihre Schlüsselrichtlinie anhand der folgenden drei Schritte:

  1. Erstellen Sie einen KMS-Schlüssel mit der unten aufgeführten Basisrichtlinie.

  2. Erstellen Sie eine Amazon Connect Decisions-Instanz und wählen Sie diesen Schlüssel aus.

  3. (Optional, empfohlen) Aktualisieren Sie die Schlüsselrichtlinie mit Einschränkungen auf Instanzebene.

Schritt 1 — Erstellen Sie einen Schlüssel mit der Basisrichtlinie

Öffnen Sie die AWS KMS-Konsole, wählen Sie Create key aus und ersetzen Sie die Standardrichtlinie durch die folgende. <customer-account-id>Ersetzen Sie es durch Ihre AWS-Konto-ID und <region> durch Ihre AWS-Region.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccountRootFullAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<customer-account-id>:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "AllowScnRetrievalOfKeyMetadata", "Effect": "Allow", "Principal": { "Service": "scn.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "<customer-account-id>" } } }, { "Sid": "AllowScnEncryptDecryptWithContext", "Effect": "Allow", "Principal": { "Service": "scn.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "<customer-account-id>" } } }, { "Sid": "AllowScnCryptoViaDependencyServices", "Effect": "Allow", "Principal": { "Service": "scn.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "redshift-serverless.<region>.amazonaws.com", "aoss.<region>.amazonaws.com", "dynamodb.<region>.amazonaws.com", "s3.<region>.amazonaws.com" ] } } }, { "Sid": "AllowScnCreateGrantForDependencyServices", "Effect": "Allow", "Principal": { "Service": "scn.amazonaws.com" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Encrypt", "Decrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "DescribeKey", "RetireGrant", "ReEncryptFrom", "ReEncryptTo", "CreateGrant" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Sid": "AllowInstanceRoleDescribeKey", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/service-role/scn-instance-role-*" }, "StringEquals": { "kms:ViaService": "scn.<region>.amazonaws.com" } } }, { "Sid": "AllowInstanceRoleEncryptDecrypt", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/service-role/scn-instance-role-*" }, "StringEquals": { "kms:ViaService": "scn.<region>.amazonaws.com" } } }, { "Sid": "AllowInstanceRoleCreateGrant", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/service-role/scn-instance-role-*" }, "StringEquals": { "kms:ViaService": "scn.<region>.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Encrypt", "Decrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "DescribeKey", "CreateGrant" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }

Erläuterungen zur Grundsatzerklärung:

  • AllowAccountRootFullAccess— Stellt sicher, dass der Schlüsselinhaber die volle Kontrolle behält. Erforderlich, um das Sperren des Schlüssels zu verhindern.

  • AllowScnRetrievalOfKeyMetadata— Ermöglicht dem Service, die Schlüsselkonfiguration bei der Instanzerstellung zu überprüfen. Eingeschränkt auf Ihr Konto über. aws:SourceAccount

  • AllowScnEncryptDecryptWithContext— Ermöglicht direkte kryptografische Operationen mit Ihren Daten. Nach Schritt 3 wird dies über den Verschlüsselungskontext weiter auf Ihre spezifische Instanz beschränkt.

  • AllowScnCryptoViaDependencyServices— Ermöglicht kryptografische Operationen über Abhängigkeitsdienste, die den Verschlüsselungskontext nicht unterstützen. Eingeschränkt auf bestimmte kms:ViaService Dienstendpunkte.

  • AllowScnCreateGrantForDependencyServices— Ermöglicht die Erstellung von Zuschüssen für Abhängigkeitsdienste. Beschränkt auf aufgelistete Operationen und nur auf AWS-Ressourcen.

  • AllowInstanceRoleDescribeKey— Ermöglicht der serviceverknüpften Rolle der Instance, den Schlüssel über FAS zu beschreiben.

  • AllowInstanceRoleEncryptDecrypt— Ermöglicht der Instanzrolle, Datenschlüssel über FAS zu entschlüsseln und zu generieren.

  • AllowInstanceRoleCreateGrant— Ermöglicht der Instanzrolle, Zuschüsse für nachgelagerte Integrationen zu gewähren.

Schritt 2 — Erstellen Sie Ihre Amazon Connect Decisions-Instance

Wählen Sie bei der Instanzerstellung unter den Verschlüsselungseinstellungen die Option Kundenverwalteter Schlüssel aus und wählen Sie den Schlüssel aus, den Sie in Schritt 1 erstellt haben.

Wichtig

Sie können diese Auswahl nach der Instanzerstellung nicht mehr ändern. Wenn Sie in Zukunft einen anderen Schlüssel verwenden müssen, müssen Sie eine neue Instanz erstellen.

Schritt 3 (optional) — Einschränkungen auf Instanzebene hinzufügen

Nachdem Sie Ihre Instance erstellt haben, aktualisieren Sie die Schlüsselrichtlinie, um den Zugriff nur auf diese Instance einzuschränken. Dadurch wird verhindert, dass andere Instanzen im selben Konto den Schlüssel verwenden.

Ersetzen Sie <customer-account-id><region>, und <instance-id> (die UUID, die auf der Amazon Connect Decisions-Konsole sichtbar ist).

Die Änderungen gegenüber der Basisrichtlinie sind:

  • Fügen Sie den Service Principal-Anweisungen aws:SourceArn Bedingungen hinzu und beschränken Sie sich dabei auf Ihren Instanz-ARN.

  • Fügen Sie kms:EncryptionContext:aws:scn:arn Bedingungen zu kryptografischen Vorgängen hinzu, wobei der Verschlüsselungskontext Ihrer Instanz entsprechen muss.

Aktualisierte Richtlinie (es werden nur die Anweisungen angezeigt, die sich ändern):

AllowScnRetrievalOfKeyMetadataArnLike Bedingung hinzufügen:

"Condition": { "StringEquals": { "aws:SourceAccount": "<customer-account-id>" }, "ArnLike": { "aws:SourceArn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>" } }

AllowScnEncryptDecryptWithContextEncryptionContext SourceArn Bedingungen hinzufügen:

"Condition": { "StringEquals": { "aws:SourceAccount": "<customer-account-id>", "kms:EncryptionContext:aws:scn:arn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>" }, "ArnLike": { "aws:SourceArn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>" } }

AllowInstanceRoleEncryptDecryptEncryptionContext Bedingung hinzufügen:

"Condition": { "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/scn-instance-role-*" }, "StringEquals": { "kms:EncryptionContext:aws:scn:arn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>", "kms:ViaService": "scn.<region>.amazonaws.com" } }
Eine neue Instanz mit einem vom Kunden verwalteten KMS-Schlüssel erstellen

Sie wählen den KMS-Schlüssel bei der Instanzerstellung in der Amazon Connect Decisions-Konsole aus. Weitere Informationen zum Erstellen einer Instance finden Sie unter Erstellen einer Amazon Connect Decisions-Instance.

Änderung der Verschlüsselungskonfiguration auf einer vorhandenen Instance

Amazon Connect Decisions unterstützt das Ändern des KMS-Schlüssels auf einer aktiven Instance nicht. Wenn Sie einen anderen Schlüssel verwenden müssen, müssen Sie eine neue Instanz erstellen, die mit dem gewünschten Schlüssel konfiguriert ist. Mit dem vorherigen Schlüssel verschlüsselte Daten werden auf der neuen Instanz nicht beibehalten.

Einschränkung des Zugriffs auf den vom Kunden verwalteten KMS-Schlüssel

Sie können den Zugriff auf Ihren Schlüssel mithilfe der folgenden Mechanismen einschränken:

  • Verschlüsselungskontext — Verwenden Sie ihn kms:EncryptionContext:aws:scn:arn in Ihrer Schlüsselrichtlinie, um Operationen auf eine bestimmte Instanz zu beschränken (siehe Schritt 3).

  • Verwirrter stellvertretender Schutz — Der Dienst leitet KMS-Aufrufe aws:SourceArn weiter aws:SourceAccount und weiter. Verwenden Sie diese Bedingungen, um sicherzustellen, dass nur Ihr Konto und Ihre Instanz auf den Schlüssel zugreifen können.

  • kms: ViaService — Die Instanzrolle greift nur über den Schlüssel zuscn.<region>.amazonaws.com, wodurch eine direkte Verwendung außerhalb des Dienstes verhindert wird.

  • Einschränkungen bei der Gewährung — Zuschüsse beziehen sich auf explizit aufgeführte Operationen kms:GrantIsForAWSResource und sind auf diese beschränkt.

Anmerkung

Abhängigkeitsdienste (Redshift Serverless, OpenSearch Serverless, DynamoDB) unterstützen keinen Verschlüsselungskontext oder verwirrte stellvertretende Header. Der Zugriff auf diese Dienste erfolgt ausschließlich anhand eines Bereichs. kms:ViaService

Überwachung der Interaktion von Amazon Connect Decisions mit AWS KMS

Sie können AWS verwenden CloudTrail , um KMS-Anfragen zu verfolgen, die Amazon Connect Decisions in Ihrem Namen stellt. Suchen Sie nach Protokolleinträgen mit den folgenden Werten:

Feld Erwarteter Wert

eventName

Decrypt, GenerateDataKey, CreateGrant

Benutzer Identity.invokedBy

scn.amazonaws.com

Anfrage Parameters.encryptionContext

{"aws:scn:arn": "arn:aws:scn:<region>:<account-id>:instance/<instance-id>"}

Sie können CloudTrail Ereignisse anhand dieser Werte filtern, um zu überprüfen, wann und wie Amazon Connect Decisions auf Ihren KMS-Schlüssel zugreift.

Weitere Informationen finden Sie unter Protokollieren von AWS KMS-API-Aufrufen mit AWS CloudTrail.