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 gemeinsamen Verantwortung, Modell der 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 AWS gesamte Cloud läuft. 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 bei 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 mithilfe der Konsole, der API oder der AWS SDKs mit Amazon Cognito oder anderen AWS
Diensten arbeiten. AWS CLI 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-Benutzerpools und Identitätspools werden im Ruhezustand gemäß den Industriestandards verschlüsselt.
-
Amazon Cognito verschlüsselt Kundendaten in Identitätspools mit AWS eigenen Schlüsseln. Sie können dieses Verhalten nicht ändern.
-
Standardmäßig verschlüsselt Amazon Cognito auch Kundendaten in Benutzerpools mit AWS eigenen Schlüsseln. Sie können Ihre Benutzerpools auch so konfigurieren, dass die Informationen Ihrer Kunden stattdessen mit kundenverwalteten Schlüsseln verschlüsselt werden.
- 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, der Rotation und der planmäßigen Löschung verantwortlich.
Die Verschlüsselung mit vom Kunden verwalteten Schlüsseln ist in einigen Benutzerpools möglicherweise nicht verfügbar. Newly-created Benutzerpools verfügen immer über diese Form der Verschlüsselung.
Wissenswertes zur Verschlüsselung von Benutzerpools mit vom Kunden verwalteten Schlüsseln
-
Alle Kundendaten in Benutzerpools werden im Ruhezustand verschlüsselt, auch wenn Sie keine Maßnahmen ergreifen, um die Verschlüsselungseinstellungen zu konfigurieren.
-
Amazon Cognito unterstützt nur symmetrische KMS-Schlüssel, genau AWS-Region wie Ihr Benutzerpool für die Verschlüsselung von 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 für eine Region und mit Schlüsseln für mehrere Regionen konfigurieren, die sich in derselben Region wie Ihr Benutzerpool befinden.
-
Sie können die Verschlüsselung des Benutzerpools 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 von personenbezogenen Daten (PII) bei der Suche nach Benutzerattributen mit durchsuchbarer Verschlüsselung. Diese Funktionen des Hash-based Message Authentication Code (HMAC) sind leistungsoptimiert für Benutzerpool-Datensätze und bilden die Klartext-Werte und die verschlüsselten Werte von Benutzerattributen ab. 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
Die folgenden Verfahren konfigurieren die Verschlüsselung im Ruhezustand in Ihrem Benutzerpool. Weitere Informationen zu KMS-Schlüsselrichtlinien, die den Zugriff AWS-Services wie Amazon Cognito delegieren, finden Sie unter Berechtigungen für Amazon Cognito in wichtigen Richtlinien.
- Set customer managed key policy
-
Um einen vom Kunden verwalteten Schlüssel verwenden zu können, muss Ihr Schlüssel einem Amazon Cognito-Serviceprinzipal vertrauen, der Verschlüsselungs- und Entschlüsselungsvorgänge für den 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 es Amazon Cognito, Protokolle zu verschlüsseln, während es sie exportiert, und dass der Zwischendienst sie entschlüsseln kann, bevor sie in Ihre CloudWatch Logs-Protokollgruppe 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
-
So konfigurieren Sie die Verschlüsselung im Ruhezustand in einem Benutzerpool
-
Melden Sie sich bei der Amazon-Cognito-Konsole an. Sie werden möglicherweise aufgefordert, Ihre AWS
-Anmeldeinformationen einzugeben.
-
Wählen Sie User Pools (Benutzerpools) aus.
-
Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder erstellen Sie einen neuen Benutzerpool.
-
Wählen Sie das Menü Einstellungen und navigieren Sie zur Registerkarte Sicherheit des Benutzerpools. Suchen Sie nach Verschlüsselung im Ruhezustand und wählen Sie Bearbeiten aus.
-
Wählen Sie unter Schlüsseltyp entweder Eigener AWS Schlüssel oder vom Kunden verwalteter Schlüssel aus.
-
Wenn Sie Eigener AWS Schlüssel ausgewählt haben, ist keine zusätzliche Konfiguration erforderlich.
-
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 AWS KMS Schlüssel erstellen auswählen und in der AWS KMS Konsole ein neues Fenster öffnen, um einen neuen KMS-Schlüssel zu erstellen.
-
Wählen Sie Änderungen speichern aus.
- Configure encryption at rest with the API
-
Stellen Sie Ihre Schlüsselkonfiguration in einer CreateUserPool oder einer UpdateUserPool API-Anfrage ein. Im folgenden Teil des Beispielanforderungstextes wird ein Benutzerpool so eingerichtet, dass er den bereitgestellten, vom Kunden verwalteten Schlüssel verwendet. Ein vollständiges Beispiel für eine Anfrage 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 unvollständige Anforderungstext legt fest, dass ein Benutzerpool einen AWS eigenen Schlüssel verwendet.
"KeyConfiguration": {
"KeyType": "AWS_OWNED_KEY"
},
Wenn Ihre DescribeUserPool Antwort 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 anhand der Best Practices für die Infrastruktursicherheit finden Sie unter Infrastrukturschutz im 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.
-
Verschlüsselungssammlungen 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-Benutzerpools und Identitätspools verfügen über API-Operationen, die nicht authentifiziert und durch Token autorisiert sind. IAM-authenticated Bei einigen Vorgängen handelt es sich um Operationen vom Typ Control Plane für administrative Operationen wie die Konfiguration einer Benutzerpool-Domain, und bei anderen handelt es sich um Operationen vom Typ Datenebene für die Authentifizierung. Weitere Informationen finden Sie unter Liste der API-Operationen, gruppiert nach Autorisierungsmodell. Alle Klassen von Amazon Cognito-API-Vorgängen teilen sich einen Namespace — cognito-idp für Benutzerpools, cognito-identity für Identitätspools — und Dienstendpunkte. AWS Service-Endpunkte erfordern während der Übertragung eine Verschlüsselung mit einer TLS-Mindestversion von 1.2.
Amazon Cognito-Benutzerpools für die vom Host verwaltete Anmeldung und die klassische gehostete Benutzeroberfläche auf Web-Domains, die über diensteigene Amazon-Distributionen bereitgestellt werden. CloudFront Amazon Cognito verwaltet die Einstellungen für die Verschlüsselung während der Übertragung auf diesen Distributionen. Weitere Informationen zu den Verschlüsselungseinstellungen für verwaltete Anmeldungen finden Sie unter TLS-Version im Kapitel Verwaltete Anmeldung.