View a markdown version of this page

Datenschutz in Amazon Cognito - Amazon Cognito

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.

Datenschutz in Amazon Cognito

Das Modell der AWS gemeinsamen Verantwortung gilt für den Datenschutz in Amazon Cognito (Amazon Cognito). Wie in diesem Modell beschrieben, AWS ist es für den Schutz der globalen Infrastruktur verantwortlich, auf der die gesamte Cloud betrieben wird. AWS Sie sind dafür verantwortlich, die Kontrolle über Ihre in dieser Infrastruktur gehosteten Inhalte zu behalten. Dieser Inhalt umfasst die Sicherheitskonfiguration und die Verwaltungsaufgaben für die AWS Dienste, die Sie verwenden. Weitere Informationen zum Datenschutz finden Sie unter Häufig gestellte Fragen zum Datenschutz.

Aus Datenschutzgründen empfehlen wir, die AWS Kontoanmeldeinformationen zu schützen und individuelle Benutzerkonten mit AWS Identity and Access Management (IAM) einzurichten. So erhält jeder Benutzer nur die Berechtigungen, die zum Durchführen seiner Aufgaben erforderlich sind. Außerdem sollten Sie die Daten mit folgenden Methoden schützen:

  • Verwenden Sie für jedes Konto die Multi-Faktor-Authentifizierung (MFA).

  • Wird verwendet SSL/TLS , um mit AWS Ressourcen zu kommunizieren.

  • Richten Sie die API und die Protokollierung von Benutzeraktivitäten mit ein AWS CloudTrail.

  • Verwenden Sie AWS Verschlüsselungslösungen zusammen mit allen Standardsicherheitskontrollen innerhalb der AWS Dienste.

  • Verwenden Sie erweiterte verwaltete Sicherheitsservices wie Amazon Macie, die dabei helfen, in Amazon S3 gespeicherte persönliche Daten zu erkennen und zu sichern.

Wir empfehlen dringend, in Freitextfeldern wie z. B. im Feld Name keine sensiblen, identifizierenden Informationen wie Kontonummern von Kunden einzugeben. Dies gilt auch, wenn Sie mit Amazon Cognito oder anderen AWS Diensten über die Konsole AWS CLI, API oder AWS SDKs arbeiten. Alle Daten, die Sie in der Amazon Cognito oder andere Services eingeben, können in Diagnoseprotokolle aufgenommen werden. Wenn Sie eine URL für einen externen Server bereitstellen, schließen Sie keine Anmeldeinformationen zur Validierung Ihrer Anforderung an den betreffenden Server in die URL ein.

Datenverschlüsselung

Die Datenverschlüsselung fällt normalerweise in zwei Kategorien: Verschlüsselung im Ruhezustand und Verschlüsselung während der Übertragung.

Verschlüsselung im Ruhezustand

Daten in Amazon Cognito Cognito-Benutzerpools und Identitätspools werden im Ruhezustand gemäß den Industriestandards verschlüsselt.

AWS eigener Schlüssel

Amazon Cognito verschlüsselt die Daten in Ihrem Benutzerpool oder Identitätspool mit einem AWS eigenen KMS-Schlüssel. Schlüssel dieses Typs sind in nicht sichtbar. AWS KMS

Kundenseitig verwalteter Schlüssel

Amazon Cognito verschlüsselt die Daten in Ihrem Benutzerpool mit einem vom Kunden verwalteten Schlüssel. Sie sind für die Verwaltung der vom Kunden verwalteten Schlüsselrichtlinien, die Rotation und das geplante Löschen verantwortlich.

Anmerkung

Die Verschlüsselung mit vom Kunden verwalteten Schlüsseln ist in einigen Benutzerpools möglicherweise nicht verfügbar. Newly-created In Benutzerpools steht diese Form der Verschlüsselung immer zur Verfügung.

Wissenswertes zur Verschlüsselung von Benutzerpools mit vom Kunden verwalteten Schlüsseln
  1. Alle Kundendaten in Benutzerpools werden im Ruhezustand verschlüsselt, auch wenn Sie keine Maßnahmen zur Konfiguration der Verschlüsselungseinstellungen ergreifen.

  2. Amazon Cognito unterstützt nur symmetrische KMS-Schlüssel in demselben Benutzerpool AWS-Region wie Ihr Benutzerpool für die Verschlüsselung des Benutzerpools im Ruhezustand. Sie können die Verschlüsselung des Benutzerpools im Ruhezustand nicht mit asymmetrischen Schlüsseln konfigurieren. Sie können die Verschlüsselung im Ruhezustand mit Schlüsseln aus einer Region und mit Schlüsseln aus mehreren Regionen konfigurieren, die sich in derselben Region wie Ihr Benutzerpool befinden.

  3. Sie können die Benutzerpoolverschlüsselung nur mit einem KMS-Schlüssel-ARN konfigurieren, nicht mit einem Alias.

PII-Verschlüsselung

Amazon Cognito unterstützt die Vertraulichkeit, Integrität und Verfügbarkeit personenbezogener Daten (PII) bei der Suche nach Benutzerattributen mit durchsuchbarer Verschlüsselung. Diese für Benutzerpool-Datensätze leistungsoptimierten HMAC-Funktionen ( Hash-based Message Authentication Code) ordnen die Werte von Benutzerattributen im Klartext und in verschlüsselter Form zu. Amazon Cognito berechnet HMAC-Werte mit dem KMS-Schlüssel, der Ihren Benutzerpool verschlüsselt. Dieser Schutz gilt für die folgenden Attribute:

  • sub

  • email

  • phone_number

  • given_name

  • family_name

  • name

  • username

  • preferred_username

  • cognito:user_status

Mit den folgenden Verfahren wird die Verschlüsselung im Ruhezustand in Ihrem Benutzerpool konfiguriert. Weitere Informationen zu KMS-Schlüsselrichtlinien, die den Zugriff AWS-Services wie Amazon Cognito delegieren, finden Sie unter Berechtigungen für Amazon Cognito in den wichtigsten Richtlinien.

Set customer managed key policy

Um einen vom Kunden verwalteten Schlüssel verwenden zu können, muss Ihr Schlüssel einem Amazon Cognito-Service Principal vertrauen, der Ver- und Entschlüsselungsvorgänge mit dem Schlüssel durchführt. Konfigurieren Sie die Schlüsselrichtlinie Ihres KMS-Schlüssels wie im folgenden Beispiel gezeigt. Der IAM-Prinzipal, der diese Richtlinie schreibt, muss mit entsprechender kms:PutKeyPolicy Genehmigung Schreibzugriff auf Ihren KMS-Schlüssel haben.

{ "Id": "cognito-cmk-policy", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Amazon Cognito service access", "Effect": "Allow", "Principal": { "Service": [ "cognito-idp.amazonaws.com", "identitystore.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKeyWithoutPlainText" ], "Resource": "*", "Condition": { "ArnEquals": { "aws:SourceArn": [ "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE" ] }, "StringEquals": { "aws:SourceAccount": [ "111122223333" ] }, "StringLike": { "kms:EncryptionContext:aws:cognito-idp:userpool-arn": "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE" } } }, { "Sid": "Allow Amazon Cognito service DescribeKey access", "Effect": "Allow", "Principal": { "Service": [ "cognito-idp.amazonaws.com", "identitystore.amazonaws.com" ] }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "ArnEquals": { "aws:SourceArn": [ "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE" ] }, "StringEquals": { "aws:SourceAccount": [ "111122223333" ] } } }, { "Sid": "Allow access through Amazon Cognito for all principals in account that are authorized to use Amazon Cognito", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "cognito-idp.us-east-1.amazonaws.com" ] } } }, { "Sid": "Allow access through Amazon Cognito for all principals in account that are authorized to use Amazon Cognito", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKeyWithoutPlainText" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "cognito-idp.us-east-1.amazonaws.com" ] }, "StringLike": { "kms:EncryptionContext:aws:cognito-idp:userpool-arn": "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE" } } }, { "Sid": "Allow administrators to manage the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" } ] }
Set customer managed key policy with permissions for encryption of exported logs

Wenden Sie diese Richtlinie auf Ihren KMS-Schlüssel an, wenn Sie den Protokollexport konfiguriert haben. Diese Richtlinie ermöglicht Amazon Cognito, Protokolle beim Export zu verschlüsseln, und dem Zwischendienst, sie zu entschlüsseln, bevor sie in Ihre CloudWatch Protokollgruppe Logs geschrieben werden. Konfigurieren Sie die Schlüsselrichtlinie Ihres KMS-Schlüssels wie im folgenden Beispiel gezeigt. Der IAM-Prinzipal, der diese Richtlinie schreibt, muss mit entsprechender kms:PutKeyPolicy Genehmigung Schreibzugriff auf Ihren KMS-Schlüssel haben.

{ "Id": "cognito-cmk-policy", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Amazon Cognito service access", "Effect": "Allow", "Principal": { "Service": [ "cognito-idp.amazonaws.com", "identitystore.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKeyWithoutPlainText" ], "Resource": "*", "Condition": { "ArnEquals": { "aws:SourceArn": [ "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE" ] }, "StringEquals": { "aws:SourceAccount": [ "111122223333" ] }, "StringLike": { "kms:EncryptionContext:aws:cognito-idp:userpool-arn": "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE" } } }, { "Sid": "Allow Amazon Cognito service DescribeKey access", "Effect": "Allow", "Principal": { "Service": [ "cognito-idp.amazonaws.com", "identitystore.amazonaws.com" ] }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "ArnEquals": { "aws:SourceArn": [ "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE" ] }, "StringEquals": { "aws:SourceAccount": [ "111122223333" ] } } }, { "Sid": "Allow access through Amazon Cognito for all principals in account that are authorized to use Amazon Cognito", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "cognito-idp.us-east-1.amazonaws.com" ] } } }, { "Sid": "Allow access through Amazon Cognito for all principals in account that are authorized to use Amazon Cognito", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKeyWithoutPlainText" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "cognito-idp.us-east-1.amazonaws.com" ] }, "StringLike": { "kms:EncryptionContext:aws:cognito-idp:userpool-arn": "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE" } } }, { "Sid": "Allow Amazon Cognito service log delivery access", "Effect": "Allow", "Principal": { "Service": [ "cognito-idp.amazonaws.com" ] }, "Action": [ "kms:GenerateDataKey", "kms:Encrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:SourceArn": "arn:aws:logs:us-east-1:111122223333:*" } } }, { "Sid": "Allow IngestionHub service log delivery access", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:SourceArn": "arn:aws:logs:us-east-1:111122223333:*" } } }, { "Sid": "Allow administrators to manage the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" } ] }
Configure encryption at rest in the console
Um die Verschlüsselung im Ruhezustand in einem Benutzerpool zu konfigurieren
  1. Melden Sie sich bei der Amazon-Cognito-Konsole an. Sie werden möglicherweise aufgefordert, Ihre AWS -Anmeldeinformationen einzugeben.

  2. Wählen Sie User Pools (Benutzerpools) aus.

  3. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder erstellen Sie einen neuen Benutzerpool.

  4. Wählen Sie das Menü Einstellungen und wechseln Sie zur Registerkarte Sicherheit im Benutzerpool. Suchen Sie nach Verschlüsselung im Ruhezustand und wählen Sie Bearbeiten aus.

  5. Wählen Sie unter Schlüsseltyp entweder den AWS eigenen Schlüssel oder den vom Kunden verwalteten Schlüssel aus.

    1. Wenn Sie Eigener AWS Schlüssel ausgewählt haben, ist keine zusätzliche Konfiguration erforderlich.

    2. Wenn Sie vom Kunden verwalteter Schlüssel ausgewählt haben, geben Sie den ARN eines KMS-Schlüssels in das Feld Kundenverwalteter Schlüssel ARN ein. Sie können auch Create an AWS KMS Key auswählen und ein neues Fenster in der AWS KMS Konsole öffnen, um einen neuen KMS-Schlüssel zu erstellen.

  6. Wählen Sie Änderungen speichern aus.

Configure encryption at rest with the API

Legen Sie Ihre Schlüsselkonfiguration in einer CreateUserPooloder UpdateUserPoolAPI-Anfrage fest. Der folgende Teil des Anfragetexts legt einen Benutzerpool fest, der den bereitgestellten, vom Kunden verwalteten Schlüssel verwendet. Eine vollständige Beispielanfrage finden Sie unter Beispiele.

"KeyConfiguration": { "KeyType": "CUSTOMER_MANAGED_KEY", "KmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" },

Der folgende Teil des Anforderungstexts legt fest, dass ein Benutzerpool einen AWS eigenen Schlüssel verwendet.

"KeyConfiguration": { "KeyType": "AWS_OWNED_KEY" },

Wenn Ihre DescribeUserPoolAntwort keinen KeyConfiguration Parameter enthält, ist Ihr Benutzerpool so konfiguriert, dass ruhende Daten mit einem AWS eigenen Schlüssel verschlüsselt werden.

Verschlüsselung während der Übertragung

Als verwalteter Service ist Amazon Cognito durch AWS globale Netzwerksicherheit geschützt. Informationen zu AWS Sicherheitsdiensten und zum AWS Schutz der Infrastruktur finden Sie unter AWS Cloud-Sicherheit. Informationen zum Entwerfen Ihrer AWS Umgebung unter Verwendung der bewährten Methoden für die Infrastruktursicherheit finden Sie unter Infrastructure Protection in Security Pillar AWS Well‐Architected Framework.

Sie verwenden AWS veröffentlichte API-Aufrufe, um über das Netzwerk auf Amazon Cognito zuzugreifen. Kunden müssen Folgendes unterstützen:

  • Transport Layer Security (TLS). Wir benötigen TLS 1.2 und empfehlen TLS 1.3.

  • Cipher-Suites mit Perfect Forward Secrecy (PFS) wie DHE (Ephemeral) oder ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). Diffie-Hellman Die meisten modernen Systeme wie Java 7 und höher unterstützen diese Modi.

Amazon Cognito Cognito-Benutzerpools und Identitätspools verfügen über IAM-authenticated nicht authentifizierte und tokenautorisierte API-Operationen. Bei einigen handelt es sich um Operationen vom Typ Kontrollebene für administrative Operationen wie die Konfiguration einer Benutzerpool-Domain, und bei anderen handelt es sich um Operationen vom Typ Datenebene zur Authentifizierung. Weitere Informationen finden Sie unter Liste der API-Operationen, gruppiert nach Autorisierungsmodell. Alle Klassen von Amazon Cognito Cognito-API-Operationen teilen sich einen Namespace — cognito-idp für Benutzerpools, cognito-identity für Identitätspools — und Service-Endpunkte. AWS Service-Endpunkte erfordern eine Verschlüsselung bei der Übertragung mit einer TLS-Mindestversion von 1.2.

Amazon Cognito Cognito-Benutzerpools host-verwaltete Logins und die klassische gehostete Benutzeroberfläche auf Web-Domains, die über service-eigene CloudFront Amazon-Distributionen bedient werden. Amazon Cognito verwaltet die Einstellungen für die Verschlüsselung bei der Übertragung auf diesen Distributionen. Weitere Informationen zu den Verschlüsselungseinstellungen für die verwaltete Anmeldung finden Sie unter TLS-Version im Kapitel Verwaltete Anmeldung.