Autorisations et approbation de rôle - Amazon Cognito

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Autorisations et approbation de rôle

Ces rôles diffèrent au niveau de leurs relations d'approbation. Voici un exemple de stratégie d'approbation pour un rôle non authentifié :

{ "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" } } } ] }

Cette stratégie autorise les utilisateurs fédérés à partir de cognito-identity.amazonaws.com (émetteur du jeton OpenID Connect) à assumer ce rôle. En outre, la politique restreint le paramètre aud du jeton (dans ce cas, l'ID du groupe d'identités) pour qu'il corresponde au groupe d'identités. Enfin, la politique spécifie que l'un des membres du tableau de la revendication amr de valeur multiple du jeton émis par l'opération API GetOpenIdToken Amazon Cognito possède la valeur unauthenticated.

Lorsque Amazon Cognito crée un jeton, le paramètre amr du jeton est défini comme unauthenticated ou authenticated. Si le paramètre amr est authenticated, le jeton inclut tous les fournisseurs utilisés au cours de l'authentification. Cela signifie que vous pouvez créer un rôle qui approuve uniquement les utilisateurs qui se sont connectés via Facebook en modifiant la condition amr comme indiqué :

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

Soyez prudent lorsque vous modifiez les relations d'approbation de vos rôles ou lorsque vous essayez d'utiliser des rôles entre plusieurs groupes d'identités. Si vous ne configurez pas votre rôle correctement pour approuver votre groupe d'identités, il en résulte une exception STS similaire à la suivante :

AccessDenied -- Not authorized to perform sts:AssumeRoleWithWebIdentity

Si vous voyez ce message, vérifiez que votre groupe d'identités et votre type d'authentification disposent d'un rôle approprié.