Vertrauensstellungen und Berechtigungen für Rollen - 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.

Vertrauensstellungen und Berechtigungen für Rollen

Diese Rollen unterscheiden sich in ihren Vertrauensstellungen. Im folgenden Beispiel wird eine Vertrauensrichtlinie für eine nicht authentifizierte Rolle dargestellt:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-corner-cafe-123456790ab" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } } } ] }

Die Richtlinie erteilt Verbundbenutzer aus cognito-identity.amazonaws.com (Aussteller des OpenID Connect-Tokens) die Berechtigung, diese Rolle zu übernehmen. Darüber hinaus schränkt die Richtlinie den aud-Anspruch des Tokens (in diesem Fall die Identitäten-Pool-ID) dahingehend ein, dass er mit dem Identitäten-Pool übereinstimmen muss. Schließlich legt die Richtlinie fest, dass eines der Array-Mitglieder des mehrwertigen amr Anspruchs des Tokens, das durch den Amazon Cognito GetOpenIdToken API Cognito-Vorgang ausgestellt wurde, den Wert hat. unauthenticated

Wenn Amazon Cognito ein Token erstellt, wird die amr des Tokens entweder als unauthenticated oder authenticated festgelegt. Wenn amr authenticated ist, enthält das Token alle Anbieter, die während der Authentifizierung verwendet werden. Das bedeutet, dass Sie eine Rolle erstellen können, die nur Benutzern vertraut, die sich über Facebook angemeldet haben, indem Sie wie folgt die amr-Bedingung ändern:

"ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "graph.facebook.com" }

Gehen Sie bei der Änderung von Vertrauensstellungen für Ihre Rollen oder der übergreifenden Verwendung von Rollen für mehrere Identitätspools sorgfältig vor. Wenn Sie Ihre Rolle nicht korrekt so konfigurieren, dass sie Ihrem Identitätspool vertraut, kommt es zu einer Ausnahme in Bezug auf STS Ergebnisse wie die folgende:

AccessDenied -- Not authorized to perform sts:AssumeRoleWithWebIdentity

Wenn Sie diese Nachricht sehen, überprüfen Sie noch einmal, ob Sie die richtige Rolle für den Identitätspool und die Authentifizierungsart verwenden.