Comment fonctionne Amazon Cognito avec IAM - 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.

Comment fonctionne Amazon Cognito avec IAM

Avant de commencer IAM à gérer l'accès à Amazon Cognito, découvrez quelles IAM fonctionnalités peuvent être utilisées avec Amazon Cognito.

Pour obtenir une vue d'ensemble de la façon dont Amazon Cognito et les autres AWS services fonctionnent avec la plupart des IAM fonctionnalités, consultez la section AWS Services compatibles IAM dans le Guide de l'IAMutilisateur.

Politiques basées sur l’identité pour Amazon Cognito

Prend en charge les politiques basées sur l’identité : oui

Les politiques basées sur l'identité sont JSON des documents de politique d'autorisation que vous pouvez joindre à une identité, telle qu'un IAM utilisateur, un groupe d'utilisateurs ou un rôle. Ces politiques contrôlent quel type d’actions des utilisateurs et des rôles peuvent exécuter, sur quelles ressources et dans quelles conditions. Pour savoir comment créer une politique basée sur l'identité, voir Définir des IAM autorisations personnalisées avec des politiques gérées par le client dans le Guide de l'IAMutilisateur.

Avec les politiques IAM basées sur l'identité, vous pouvez spécifier les actions et les ressources autorisées ou refusées ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. Vous ne pouvez pas spécifier le principal dans une politique basée sur une identité, car celle-ci s’applique à l’utilisateur ou au rôle auquel elle est attachée. Pour en savoir plus sur tous les éléments que vous pouvez utiliser dans une JSON politique, consultez la référence aux éléments de IAM JSON politique dans le Guide de IAM l'utilisateur.

Exemples de politiques basées sur une identité pour Amazon Cognito

Pour voir des exemples de politiques basées sur une identité pour Amazon Cognito, consultez Exemples de politiques basées sur une identité pour Amazon Cognito.

Politiques basées sur une ressource dans Amazon Cognito

Prend en charge les politiques basées sur les ressources : non

Les politiques basées sur les ressources sont des documents JSON de stratégie que vous attachez à une ressource. Les politiques de confiance dans les IAM rôles et les politiques relatives aux compartiments Amazon S3 sont des exemples de politiques basées sur les ressources. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Pour la ressource dans laquelle se trouve la politique, cette dernière définit quel type d’actions un principal spécifié peut effectuer sur cette ressource et dans quelles conditions. Vous devez spécifier un principal dans une politique basée sur les ressources. Les principaux peuvent inclure des comptes, des utilisateurs, des rôles, des utilisateurs fédérés ou. Services AWS

Pour activer l'accès entre comptes, vous pouvez spécifier un compte entier ou IAM des entités d'un autre compte comme principal dans une politique basée sur les ressources. L’ajout d’un principal entre comptes à une politique basée sur les ressources ne représente qu’une partie de l’instauration de la relation d’approbation. Lorsque le principal et la ressource sont différents Comptes AWS, un IAM administrateur du compte de confiance doit également accorder à l'entité principale (utilisateur ou rôle) l'autorisation d'accéder à la ressource. Pour ce faire, il attache une politique basée sur une identité à l’entité. Toutefois, si une politique basée sur des ressources accorde l’accès à un principal dans le même compte, aucune autre politique basée sur l’identité n’est requise. Pour plus d'informations, voir Accès aux ressources entre comptes IAM dans le Guide de IAM l'utilisateur.

Actions de politique pour Amazon Cognito

Prend en charge les actions de politique : oui

Les administrateurs peuvent utiliser AWS JSON des politiques pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L'Actionélément d'une JSON politique décrit les actions que vous pouvez utiliser pour autoriser ou refuser l'accès dans une politique. Les actions de stratégie portent généralement le même nom que l' AWS APIopération associée. Il existe certaines exceptions, telles que les actions avec autorisation uniquement qui n'ont pas d'opération correspondante. API Certaines opérations nécessitent également plusieurs actions dans une politique. Ces actions supplémentaires sont nommées actions dépendantes.

Intégration d’actions dans une politique afin d’accorder l’autorisation d’exécuter les opérations associées.

Pour afficher la liste des actions Amazon Cognito, consultez Actions définies par Amazon Cognito dans Référence de l’autorisation de service.

Les actions de politique dans Amazon Cognito utilisent le préfixe suivant avant l’action :

cognito-identity

Pour indiquer plusieurs actions dans une seule déclaration, séparez-les par des virgules.

"Action": [ "cognito-identity:action1", "cognito-identity:action2" ]

Signé ou non signé APIs

Lorsque vous signez des API demandes Amazon Cognito avec des AWS informations d'identification, vous pouvez les restreindre dans une politique AWS Identity and Access Management (IAM). APIles demandes que vous devez signer avec des AWS informations d'identification incluent la connexion côté serveur et les actions qui créentAdminInitiateAuth, affichent ou modifient vos ressources Amazon Cognito, telles que. UpdateUserPool Pour plus d'informations sur les API demandes signées, consultez la section AWS APIDemandes de signature.

Amazon Cognito étant un produit d'identité grand public destiné aux applications que vous souhaitez mettre à la disposition du public, vous avez accès aux éléments non signés suivants. APIs Votre application fait ces API demandes pour vos utilisateurs et vos utilisateurs potentiels. Certains ne APIs nécessitent aucune autorisation préalable, comme InitiateAuth pour démarrer une nouvelle session d'authentification. Certains APIs utilisent des jetons d'accès ou des clés de session à des fins d'autorisation, par exemple VerifySoftwareToken pour terminer la MFA configuration d'un utilisateur disposant d'une session authentifiée existante. Un groupe d'utilisateurs Amazon Cognito non signé et autorisé prend en charge API Session un paramètre AccessToken or dans la syntaxe de la demande, comme indiqué dans la référence Amazon Cognito. API Une API identité Amazon Cognito non signée prend en charge IdentityId un paramètre tel qu'affiché dans le manuel Amazon Cognito Federated Identities Reference. API

Pour plus d'informations sur les modèles d'autorisation et les rôles des API opérations des groupes d'utilisateurs Amazon Cognito, consultez. Groupes d'utilisateurs Amazon Cognito, opérations authentifiées et non authentifiées API

Opérations des pools d'identités Amazon Cognito API
  • GetId

  • GetOpenIdToken

  • GetCredentialsForIdentity

  • UnlinkIdentity

Opérations des groupes d'utilisateurs Amazon Cognito API
  • AssociateSoftwareToken

  • ChangePassword

  • ConfirmDevice

  • ConfirmForgotPassword

  • ConfirmSignUp

  • DeleteUser

  • DeleteUserAttributes

  • ForgetDevice

  • ForgotPassword

  • GetDevice

  • GetUser

  • GetUserAttributeVerificationCode

  • GlobalSignOut

  • InitiateAuth

  • ListDevices

  • ResendConfirmationCode

  • RespondToAuthChallenge

  • RevokeToken

  • SetUserMFAPreference

  • SetUserSettings

  • SignUp

  • UpdateAuthEventFeedback

  • UpdateDeviceStatus

  • UpdateUserAttributes

  • VerifySoftwareToken

  • VerifyUserAttribute

Pour voir des exemples de politiques basées sur une identité pour Amazon Cognito, consultez Exemples de politiques basées sur une identité pour Amazon Cognito.

Ressources de politique pour Amazon Cognito

Prend en charge les ressources de politique : oui

Les administrateurs peuvent utiliser AWS JSON des politiques pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L'élément Resource JSON de stratégie indique le ou les objets auxquels s'applique l'action. Les instructions doivent inclure un élément Resource ou NotResource. Il est recommandé de spécifier une ressource en utilisant son Amazon Resource Name (ARN). Vous pouvez le faire pour des actions qui prennent en charge un type de ressource spécifique, connu sous la dénomination autorisations de niveau ressource.

Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, telles que les opérations de liste, utilisez un caractère générique (*) afin d’indiquer que l’instruction s’applique à toutes les ressources.

"Resource": "*"

Noms des ressources Amazon (ARNs)

ARNspour les identités fédérées Amazon Cognito

Dans les groupes d'identités Amazon Cognito (identités fédérées), il est possible de restreindre l'accès IAM d'un utilisateur à un pool d'identités spécifique, en utilisant le format Amazon Resource Name (ARN), comme dans l'exemple suivant. Pour plus d'informationsARNs, consultez la section IAMIdentifiants.

arn:aws:cognito-identity:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID

ARNspour Amazon Cognito Sync

Dans Amazon Cognito Sync, les clients peuvent également restreindre l’accès en fonction de l’ID de groupe d’identités, de l’ID d’identité et du nom de jeu de données.

Pour ceux APIs qui opèrent sur un pool d'identités, le ARN format du pool d'identités est le même que pour Amazon Cognito Federated Identities, sauf que le nom du service est cognito-sync au lieu de : cognito-identity

arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID

Pour APIs cela, opérez sur une seule identité, par exempleRegisterDevice, vous pouvez faire référence à l'identité individuelle ARN au format suivant :

arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID/identity/IDENTITY_ID

Pour APIs cela, utilisez des ensembles de données, tels que UpdateRecords etListRecords, vous pouvez faire référence à chaque ensemble de données en utilisant le ARN format suivant :

arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID/identity/IDENTITY_ID/dataset/DATASET_NAME

ARNspour les groupes d'utilisateurs d'Amazon Cognito

Pour Amazon Cognito Your User Pools, il est possible de restreindre l'accès d'un utilisateur à un groupe d'utilisateurs spécifique, en utilisant le format suivant : ARN

arn:aws:cognito-idp:REGION:ACCOUNT_ID:userpool/USER_POOL_ID

Pour consulter la liste des types de ressources Amazon Cognito et leurs caractéristiquesARNs, consultez la section Ressources définies par Amazon Cognito dans le Service Authorization Reference. Pour savoir quelles actions vous pouvez définir pour chaque ressource, consultez ARN la section Actions définies par Amazon Cognito.

Pour voir des exemples de politiques basées sur une identité pour Amazon Cognito, consultez Exemples de politiques basées sur une identité pour Amazon Cognito.

Clés de condition de politique pour Amazon Cognito

Prend en charge les clés de condition de politique spécifiques au service : oui

Les administrateurs peuvent utiliser AWS JSON des politiques pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément Condition (ou le bloc Condition) vous permet de spécifier des conditions lorsqu’une instruction est appliquée. L’élément Condition est facultatif. Vous pouvez créer des expressions conditionnelles qui utilisent des opérateurs de condition, tels que les signes égal ou inférieur à, pour faire correspondre la condition de la politique aux valeurs de la demande.

Si vous spécifiez plusieurs éléments Condition dans une instruction, ou plusieurs clés dans un seul élément Condition, AWS les évalue à l’aide d’une opération AND logique. Si vous spécifiez plusieurs valeurs pour une seule clé de condition, AWS évalue la condition à l'aide d'une OR opération logique. Toutes les conditions doivent être remplies avant que les autorisations associées à l’instruction ne soient accordées.

Vous pouvez aussi utiliser des variables d’espace réservé quand vous spécifiez des conditions. Par exemple, vous pouvez autoriser un IAM utilisateur à accéder à une ressource uniquement si celle-ci est étiquetée avec son nom IAM d'utilisateur. Pour plus d'informations, consultez IAMla section Éléments de politique : variables et balises dans le Guide de IAM l'utilisateur.

AWS prend en charge les clés de condition globales et les clés de condition spécifiques au service. Pour voir toutes les clés de condition AWS globales, voir les clés contextuelles de condition AWS globales dans le guide de IAM l'utilisateur.

Pour afficher la liste des clés de condition Amazon Cognito, consultez Clés de condition pour Amazon Cognito dans la Référence de l’autorisation de service. Pour savoir les actions et ressources avec lesquelles vous pouvez utiliser une clé de condition, consultez Actions définies par Amazon Cognito.

Pour voir des exemples de politiques basées sur une identité pour Amazon Cognito, consultez Exemples de politiques basées sur une identité pour Amazon Cognito.

Listes de contrôle d'accès (ACLs) dans Amazon Cognito

Supports ACLs : Non

Les listes de contrôle d'accès (ACLs) contrôlent les principaux (membres du compte, utilisateurs ou rôles) autorisés à accéder à une ressource. ACLssont similaires aux politiques basées sur les ressources, bien qu'elles n'utilisent pas le format du document JSON de stratégie.

Contrôle d'accès basé sur les attributs (ABAC) avec Amazon Cognito

Supports ABAC (balises dans les politiques) : Partiel

Le contrôle d'accès basé sur les attributs (ABAC) est une stratégie d'autorisation qui définit les autorisations en fonction des attributs. Dans AWS, ces attributs sont appelés balises. Vous pouvez associer des balises à IAM des entités (utilisateurs ou rôles) et à de nombreuses AWS ressources. Le balisage des entités et des ressources est la première étape deABAC. Vous concevez ensuite des ABAC politiques pour autoriser les opérations lorsque le tag du principal correspond à celui de la ressource à laquelle il essaie d'accéder.

ABACest utile dans les environnements qui se développent rapidement et aide dans les situations où la gestion des politiques devient fastidieuse.

Pour contrôler l’accès basé sur des étiquettes, vous devez fournir les informations d’étiquette dans l’élément de condition d’une politique utilisant les clés de condition aws:ResourceTag/key-name, aws:RequestTag/key-name ou aws:TagKeys.

Si un service prend en charge les trois clés de condition pour tous les types de ressources, alors la valeur pour ce service est Oui. Si un service prend en charge les trois clés de condition pour certains types de ressources uniquement, la valeur est Partielle.

Pour plus d'informationsABAC, voir Définir des autorisations avec ABAC autorisation dans le Guide de IAM l'utilisateur. Pour consulter un didacticiel présentant les étapes de configurationABAC, voir Utiliser le contrôle d'accès basé sur les attributs (ABAC) dans le guide de l'IAMutilisateur.

Utilisation d’informations d’identification temporaires avec Amazon Cognito

Prend en charge les informations d’identification temporaires : oui

Certains Services AWS ne fonctionnent pas lorsque vous vous connectez à l'aide d'informations d'identification temporaires. Pour plus d'informations, y compris celles qui Services AWS fonctionnent avec des informations d'identification temporaires, consultez Services AWS la section relative à l'utilisation IAM dans le Guide de IAM l'utilisateur.

Vous utilisez des informations d'identification temporaires si vous vous connectez à l' AWS Management Console aide d'une méthode autre qu'un nom d'utilisateur et un mot de passe. Par exemple, lorsque vous accédez à AWS l'aide du lien d'authentification unique (SSO) de votre entreprise, ce processus crée automatiquement des informations d'identification temporaires. Vous créez également automatiquement des informations d’identification temporaires lorsque vous vous connectez à la console en tant qu’utilisateur, puis changez de rôle. Pour plus d'informations sur le changement de rôle, voir Passer d'un utilisateur à un IAM rôle (console) dans le guide de IAM l'utilisateur.

Vous pouvez créer manuellement des informations d'identification temporaires à l'aide du AWS CLI ou AWS API. Vous pouvez ensuite utiliser ces informations d'identification temporaires pour y accéder AWS. AWS recommande de générer dynamiquement des informations d'identification temporaires au lieu d'utiliser des clés d'accès à long terme. Pour plus d'informations, consultez la section Informations d'identification de sécurité temporaires dans IAM.

Autorisations de principaux entre services pour Amazon Cognito

Prend en charge les sessions d'accès transféré (FAS) : Non

Lorsque vous utilisez un IAM utilisateur ou un rôle pour effectuer des actions AWS, vous êtes considéré comme un mandant. Lorsque vous utilisez certains services, vous pouvez effectuer une action qui initie une autre action dans un autre service. FASutilise les autorisations du principal appelant an Service AWS, combinées à la demande Service AWS pour adresser des demandes aux services en aval. FASles demandes ne sont effectuées que lorsqu'un service reçoit une demande qui nécessite des interactions avec d'autres personnes Services AWS ou des ressources pour être traitée. Dans ce cas, vous devez disposer d’autorisations nécessaires pour effectuer les deux actions. Pour plus de détails sur les politiques relatives FAS aux demandes, consultez la section Transférer les sessions d'accès.

Fonctions du service pour Amazon Cognito

Prend en charge les rôles de service : oui

Un rôle de service est un IAMrôle qu'un service assume pour effectuer des actions en votre nom. Un IAM administrateur peut créer, modifier et supprimer un rôle de service de l'intérieurIAM. Pour plus d'informations, consultez la section Création d'un rôle auquel déléguer des autorisations Service AWS dans le Guide de IAM l'utilisateur.

Pour plus d’informations sur les fonctions du service Amazon Cognito, consultez Activation de la synchronisation push et Mise en œuvre de la synchronisation push.

Avertissement

La modification des autorisations d’une fonction du service peut altérer la fonctionnalité d’Amazon Cognito. Ne modifiez des fonctions du service que quand Amazon Cognito vous le conseille.

Utilisation de rôles liés à un service pour Amazon Cognito

Prend en charge les rôles liés aux services : Oui

Un rôle lié à un service est un type de rôle de service lié à un. Service AWS Le service peut endosser le rôle afin d’effectuer une action en votre nom. Les rôles liés à un service apparaissent dans votre Compte AWS répertoire et appartiennent au service. Un IAM administrateur peut consulter, mais pas modifier les autorisations pour les rôles liés à un service.

Pour plus d’informations sur la création ou la gestion de rôles liés à un service dans Amazon Cognito, consultez Utilisation de rôles liés à un service pour Amazon Cognito .