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.
Konfiguration von AWS Anmeldeinformationen mit Amazon Cognito für DynamoDB
Die empfohlene Methode zum Abrufen von AWS Anmeldeinformationen für Ihre Web- und Mobilanwendungen ist die Verwendung von Amazon Cognito. Amazon Cognito hilft Ihnen dabei, zu vermeiden, dass Ihre AWS Anmeldeinformationen in Ihren Dateien fest codiert werden. Es verwendet AWS Identity and Access Management (IAM) -Rollen, um temporäre Anmeldeinformationen für die authentifizierten und nicht authentifizierten Benutzer Ihrer Anwendung zu generieren.
Gehen Sie beispielsweise wie folgt vor, um Ihre JavaScript Dateien so zu konfigurieren, dass sie eine nicht authentifizierte Amazon Cognito Cognito-Rolle für den Zugriff auf den Amazon DynamoDB-Webservice verwenden.
So konfigurieren Sie Anmeldeinformationen für die Integration in Amazon Cognito
-
Erstellen Sie einen Amazon Cognito-Identitäten-Pool, der nicht authentifizierte Identitäten zulässt.
aws cognito-identity create-identity-pool \ --identity-pool-name DynamoPool \ --allow-unauthenticated-identities \ --output json { "IdentityPoolId": "us-west-2:12345678-1ab2-123a-1234-a12345ab12", "AllowUnauthenticatedIdentities": true, "IdentityPoolName": "DynamoPool" }
-
Kopieren Sie die folgende Richtlinie in eine Datei mit dem Namen
myCognitoPolicy.json
. Ersetzen Sie die Identitätspool-ID (us-west-2:12345678-1ab2-123a-1234-a12345ab12
) durch Ihre eigene, die Sie im vorherigen SchrittIdentityPoolId
erhalten haben.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-west-2:12345678-1ab2-123a-1234-a12345ab12" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } } } ] }
-
Erstellen Sie eine IAM Rolle, die die vorherige Richtlinie übernimmt. Auf diese Weise wird Amazon Cognito zu einer vertrauenswürdigen Entität, welche die
Cognito_DynamoPoolUnauth
-Rolle übernehmen kann.aws iam create-role --role-name Cognito_DynamoPoolUnauth \ --assume-role-policy-document file://PathToFile/myCognitoPolicy.json --output json
-
Gewähren Sie der Rolle
Cognito_DynamoPoolUnauth
vollen Zugriff auf DynamoDB, indem Sie eine verwaltete Richtlinie anfügen (AmazonDynamoDBFullAccess
).aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess \ --role-name Cognito_DynamoPoolUnauth
Anmerkung
Alternativ können Sie einen fein abgestimmten Zugriff auf DynamoDB gewähren. Weitere Informationen finden Sie unter Verwenden von IAM Richtlinienbedingungen für eine differenzierte Zugriffskontrolle.
-
Besorgen Sie sich die IAM Rolle Amazon Resource Name (ARN) und kopieren Sie sie.
aws iam get-role --role-name Cognito_DynamoPoolUnauth --output json
-
Fügen Sie die
Cognito_DynamoPoolUnauth
-Rolle demDynamoPool
-Identitäten-Pool hinzu. Das anzugebende Format istKeyName=string
, whereKeyName
is,unauthenticated
und die Zeichenfolge ist die Rolle, die Sie im vorherigen Schritt ARN erhalten haben.aws cognito-identity set-identity-pool-roles \ --identity-pool-id "us-west-2:12345678-1ab2-123a-1234-a12345ab12" \ --roles unauthenticated=arn:aws:iam::123456789012:role/Cognito_DynamoPoolUnauth --output json
-
Geben Sie die Amazon-Cognito-Anmeldeinformationen in den Dateien an. Ändern Sie
IdentityPoolId
undRoleArn
entsprechend.AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: "us-west-2:12345678-1ab2-123a-1234-a12345ab12", RoleArn: "arn:aws:iam::123456789012:role/Cognito_DynamoPoolUnauth" });
Sie können Ihre JavaScript Programme jetzt mit Amazon Cognito Cognito-Anmeldeinformationen für den DynamoDB-Webservice ausführen. Weitere Informationen finden Sie unter Festlegen von Anmeldeinformationen in einem Webbrowser im AWS SDK for JavaScript -Erste-Schritte-Leitfaden.