Amazon Cognito dispose de plusieurs étendues réservées au système:
Mais ne documente pas ce à quoi ils donnent accès.
Les 3 premiers sont assez explicites. Je m'attendrais à ce que profil désigne le profil utilisateur.
J'ai trouvé par essais et erreurs que j'avais besoin de aws.cognito.signin.user.admin
pour utiliser Amazon Cognito Appel de l'API utilisateur . Je me serais attendu à ce que ce soit profile
à la place, mais OK, très bien.
Ce qui m'inquiète, c'est ce que d'autre aws.cognito.signin.user.admin
pourrait faire. Si je laisse des clients tiers demander cette étendue, à quoi leur donne-t-on accès?
Le aws.cognito.signin.user.admin
scope vous donne accès à toutes les API du groupe d'utilisateurs accessibles uniquement à l'aide de jetons d'accès (documentation complète ici) .
Notez que cela ne signifie pas que l'utilisateur aurait un accès arbitraire à toutes les API AWS (comme un rôle IAM pourrait le faire), mais que si la syntaxe de demande pour cet appel d'API inclut "AccessToken": "string"
, puis un jeton d'accès accordé à l'aide de aws.cognito.signin.user.admin
pourra l'appeler.
En règle générale, les API Cognito UserPools (et ce sont uniquement les API Cognito UserPool) qui autorisent comme cela sont celles qui vous permettent de modifier quelque chose sur vos propres UserPools profil (ie ne commencez pas par Admin
et n'affectez qu'un seul profil):
En un coup d'œil à travers l'API, ces actions sont ( https://docs.aws.Amazon.com/cognito-user-identity-pools/latest/APIReference/API_Operations.html ):