2017-10-05 3 views
0

Ich versuche, „Entwickler authentifizierte Identitäten“ für AWS zu implementieren, wie hier erklärt: https://aws.amazon.com/blogs/mobile/amazon-cognito-announcing-developer-authenticated-identities/Entwickler authentifizierte Identitäten und Rollen

ich richtig die Grundströmung zu verstehen.

Allerdings würde ich gerne eine andere Rolle bekommen, abhängig von meinen Identitäten (zB regelbasierte Rollen), so dass zum Beispiel "Admin" -Benutzer mehr Rechte für AWS-Ressourcen haben können. Während die AWS-Konsole in "Identitäts-Pool bearbeiten" jedoch die Definition regelbasierter Rollen für einen Cognito-Benutzerpool-Identitätsanbieter ermöglicht, kann ich dies für einen benutzerdefinierten Authentifizierungsanbieter nicht tun.

Mit anderen Worten, ist das, was auf dieser Seite (http://docs.aws.amazon.com/cognito/latest/developerguide/role-based-access-control.html) beschrieben wird, mit authentifizierten Entwickleridentitäten möglich?

Wie kann ich das erreichen?

Antwort

1

Derzeit werden rollenbasierte Rollen für von Entwickler authentifizierte Identitäten nicht unterstützt. Da das OIDC-Token, das von GetOpenIdTokenForDeveloperIdentity zurückgegeben wird, nicht sicher an eine bestimmte Rolle gebunden werden kann, kann es leider für jede Rolle ausgetauscht werden, die für den Pool konfiguriert ist, wobei STS den Zweck nicht erfüllt. Wir haben diese Anfrage schon einmal gehört und werden es als Feature anfordern, die anzunehmenden Rollen in das OIDC-Token einzubetten, damit STS Ihnen bestätigen kann, dass Sie eine Rolle annehmen, die Ihnen erlaubt ist. Derzeit wird GetCredentialsForIdentity nur unterstützt, wenn Sie ein regelbasiertes Mapping verwenden.

0

Bei der Verwendung von Entwickleridentitäten sollten Sie nach der Authentifizierung dem Benutzer die IAM-Rolle mithilfe von STS AssumeRole zuweisen. Sie benötigen eine Methode, um Benutzer Rollen zuzuordnen. In der Regel wird DynamoDB verwendet. Hinweis: Die Anmeldeinformationen (AccessKey, Rolle usw.), die Sie zum Aufrufen von STS verwenden, benötigen genügend Leistung, um die gewünschte IAM-Rolle auszugeben. AssumeRole erstellt dann das AccessKey SecretAccessKey-Paar, das dem Benutzer übergeben wird. Denken Sie daran, dass es sich um temporäre Anmeldeinformationen mit einem von Ihnen kontrollierten Ablaufdatum handelt.

STS AssumeRole