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.
Qu’est-ce qu’Amazon Cognito ?
Amazon Cognito est une plateforme d’identité pour les applications Web et mobiles. Il s'agit d'un annuaire d'utilisateurs, d'un serveur d'authentification et d'un service d'autorisation pour les jetons d'accès et les AWS informations d'identification OAuth 2.0. Avec Amazon Cognito, vous pouvez authentifier et autoriser les utilisateurs à partir de l’annuaire d’utilisateurs intégré, de votre annuaire d’entreprise et de fournisseurs d’identité grand public tels que Google et Facebook.
Rubriques
- Groupes d’utilisateurs
- Réserves d’identités
- Caractéristiques d’Amazon Cognito
- Comparaison des groupes d’utilisateurs et des réserves d’identités Amazon Cognito
- Démarrer avec Amazon Cognito
- Disponibilité par région
- Tarification Amazon Cognito
- Comment fonctionne l'authentification avec Amazon Cognito
- Termes et concepts courants d'Amazon Cognito
- L'utilisation de ce service avec un AWS SDK
- Commencer avec AWS
Les deux composants qui suivent constituent Amazon Cognito. Ils fonctionnent indépendamment ou en tandem, en fonction des besoins d’accès de vos utilisateurs.
Groupes d’utilisateurs
Créez un groupe d'utilisateurs lorsque vous souhaitez authentifier et autoriser les utilisateurs à accéder à votre application ouAPI. Les groupes d’utilisateurs sont des annuaires d’utilisateurs permettant à la fois la création, la gestion et l’authentification des utilisateurs en libre-service et pilotées par l’administrateur. Votre groupe d'utilisateurs peut être un fournisseur d'annuaire et OIDC d'identité (IdP) indépendant, et un fournisseur de services intermédiaire (SP) pour les fournisseurs tiers d'identité du personnel et des clients. Vous pouvez fournir une authentification unique (SSO) dans votre application pour les identités du personnel de votre organisation dans la SAML version 2.0 et OIDC IdPs avec les groupes d'utilisateurs. Vous pouvez également fournir SSO dans votre application l'identité des clients de votre entreprise dans les boutiques d'identité OAuth 2.0 publiques Amazon, Google, Apple et Facebook. Pour plus d'informations sur l'identité des clients et la gestion des accès (CIAM), voir Qu'est-ce que c'est CIAM ?
Les groupes d’utilisateurs ne nécessitent pas d’intégration à une réserve d’identités. À partir d'un groupe d'utilisateurs, vous pouvez émettre des jetons JSON Web authentifiés (JWTs) directement vers une application, un serveur Web ou unAPI.
Réserves d’identités
Configurez un pool d'identités Amazon Cognito lorsque vous souhaitez autoriser des utilisateurs authentifiés ou anonymes à accéder à vos ressources. AWS Un pool d'identités émet des AWS informations d'identification permettant à votre application de fournir des ressources aux utilisateurs. Vous pouvez authentifier les utilisateurs auprès d'un fournisseur d'identité fiable, tel qu'un pool d'utilisateurs ou un service SAML 2.0. Il peut également éventuellement émettre des informations d’identification pour les utilisateurs invités. Les pools d'identités utilisent à la fois le contrôle d'accès basé sur les rôles et les attributs pour gérer l'autorisation d'accès de vos utilisateurs à vos ressources. AWS
Les réserves d’identités ne nécessitent pas d’intégration à un groupe d’utilisateurs. Une réserve d’identités peut accepter des champs standard authentifiés émanant directement des fournisseurs d’identité du personnel et des consommateurs.
Un groupe d’utilisateurs et une réserve d’identités Amazon Cognito utilisés conjointement
Dans le diagramme au début de cette rubrique, vous utilisez Amazon Cognito pour authentifier votre utilisateur, puis lui accorder l’accès à un Service AWS.
-
L'utilisateur de votre application se connecte via un groupe d'utilisateurs et reçoit OAuth 2 jetons.
-
Votre application échange un jeton de groupe d'utilisateurs avec un pool d'identités contre des AWS informations d'identification temporaires que vous pouvez utiliser avec AWS APIs et le AWS Command Line Interface (AWS CLI).
-
Votre application attribue la session d'identification à votre utilisateur et fournit un accès autorisé à Amazon S3 et Amazon Services AWS DynamoDB, par exemple.
Pour d’autres exemples utilisant des réserves d’identités et des groupes d’utilisateurs, consultez Scénarios Amazon Cognito courants.
Dans Amazon Cognito, l'obligation de sécurité du cloud du modèle de responsabilité partagée
Caractéristiques d’Amazon Cognito
Groupes d’utilisateurs
Un groupe d’utilisateurs Amazon Cognito est un annuaire d’utilisateurs. Avec un groupe d’utilisateurs, vos utilisateurs peuvent se connecter à votre application web ou mobile via Amazon Cognito, ou se fédérer via un fournisseur d’identité tiers. Les utilisateurs fédérés et locaux ont un profil utilisateur dans votre groupe d’utilisateurs.
Les utilisateurs locaux sont ceux qui se sont inscrits ou que vous avez créés directement dans votre groupe d’utilisateurs. Vous pouvez gérer et personnaliser ces profils utilisateur dans le AWS Management Console AWS SDK, an ou le AWS Command Line Interface (AWS CLI).
Les groupes d'utilisateurs Amazon Cognito acceptent les jetons et les assertions provenant de tiers IdPs, et collectent les attributs utilisateur dans un fichier JWT envoyé à votre application. Vous pouvez standardiser votre application sur un seul ensemble JWTs pendant qu'Amazon Cognito gère les interactions IdPs avec eux, en mappant leurs revendications à un format de jeton central.
Un groupe d’utilisateurs Amazon Cognito peut être un fournisseur d’identité autonome. Amazon Cognito s'inspire de la norme OpenID Connect (OIDC) JWTs pour générer des données d'authentification et d'autorisation. Lorsque vous connectez des utilisateurs locaux, votre groupe d’utilisateurs fait autorité pour ces utilisateurs. Vous avez accès aux fonctionnalités suivantes quand vous authentifiez des utilisateurs locaux.
-
Implémentez votre propre interface Web qui appelle les API groupes d'utilisateurs Amazon Cognito pour authentifier, autoriser et gérer vos utilisateurs.
-
Configurez l'authentification multifactorielle (MFA) pour vos utilisateurs. Amazon Cognito prend en charge les mots de passe à usage unique (TOTP) et les messages temporels. SMS MFA
-
Sécurisez l’accès à partir de comptes utilisateurs contrôlés par des personnes malveillantes.
-
Créez vos propres flux d’authentification personnalisés en plusieurs étapes.
-
Recherchez des utilisateurs dans un autre annuaire et migrez-les vers Amazon Cognito.
Un groupe d'utilisateurs Amazon Cognito peut également jouer le double rôle de fournisseur de services (SP) pour votre IdPs application et d'IdP pour votre application. Les groupes d'utilisateurs d'Amazon Cognito peuvent se connecter à des clients IdPs tels que Facebook et Google, ou à des employés IdPs tels qu'Okta et Active Directory Federation Services (). ADFS
Avec les jetons OAuth 2.0 et OpenID Connect (OIDC) émis par un groupe d'utilisateurs Amazon Cognito, vous pouvez
-
Accepter un jeton d’identification dans votre application qui authentifie un utilisateur et fournit les informations nécessaires pour configurer le profil de l’utilisateur
-
Acceptez un jeton d'accès API avec les OIDC champs d'application qui autorisent les API appels de vos utilisateurs.
-
Récupérez les AWS informations d'identification d'un pool d'identités Amazon Cognito.
Fonctionnalité | Description |
---|---|
OIDCIdP | Émettre des jetons d'identification pour authentifier les utilisateurs |
Serveur d'autorisation | Émettez des jetons d'accès pour autoriser l'accès des utilisateurs à APIs |
SAML2,0 SP | Transformez SAML les assertions en identifiants et jetons d'accès |
OIDCSP | Transformez OIDC les jetons en jetons d'identification et d'accès |
OAuth2,0 SP | Transformez les jetons d'identification d'Apple, Facebook, Amazon ou Google en vos propres jetons d'identification et d'accès |
Service frontal d'authentification | Inscrivez, gérez et authentifiez les utilisateurs avec l'interface utilisateur hébergée |
APIsupport pour votre propre interface utilisateur | Créez, gérez et authentifiez les utilisateurs par le biais de API demandes prises en charge ¹ AWS SDKs |
MFA | Utilisez SMS les messages ou TOTPs l'appareil de votre utilisateur comme facteur d'authentification supplémentaire¹ |
Surveillance de la sécurité et réponse | Protégez-vous contre les activités malveillantes et les mots de passe peu sécurisés¹ |
Personnaliser les flux d'authentification | Créez votre propre mécanisme d'authentification ou ajoutez des étapes personnalisées aux flux existants¹ |
Groups | Créez des groupes logiques d'utilisateurs et une hiérarchie des revendications de IAM rôles lorsque vous transmettez des jetons à des pools d'identités |
Personnalisez les jetons d'identification | Personnalisez vos jetons d'identification avec des demandes nouvelles, modifiées ou supprimées |
Personnalisation des attributs utilisateur | Attribuez des valeurs aux attributs utilisateur et ajoutez vos propres attributs personnalisés |
¹ La fonctionnalité est disponible uniquement pour les utilisateurs locaux.
Pour plus d'informations sur les groupes d'utilisateurs, consultez Démarrage avec les groupes d'utilisateurs et la référence des groupes API d'utilisateurs Amazon Cognito.
Réserves d’identités
Un pool d'identités est un ensemble d'identifiants uniques, ou identités, que vous attribuez à vos utilisateurs ou invités et que vous autorisez à recevoir des AWS informations d'identification temporaires. Lorsque vous présentez une preuve d'authentification à un pool d'identités sous la forme de demandes fiables émanant d'un fournisseur d'identité sociale (IdPOIDC) SAML OAuth 2.0, OpenID Connect () ou 2.0, vous associez votre utilisateur à une identité du pool d'identités. Le jeton créé par votre pool d'identités pour l'identité peut récupérer les informations d'identification de session temporaires depuis AWS Security Token Service (AWS STS).
Pour compléter les identités authentifiées, vous pouvez également configurer un pool d'identités pour autoriser l' AWS accès sans authentification IdP. Vous pouvez proposer votre propre preuve d’authentification personnalisée ou ne pas vous authentifier. Vous pouvez accorder des AWS informations d'identification temporaires à tout utilisateur de l'application qui en fait la demande, avec des identités non authentifiées. Les réserves d’identités acceptent également les champs standard et émettent des informations d’identification en fonction de votre propre schéma personnalisé, avec des identités authentifiées par le développeur.
Avec les pools d'identités Amazon Cognito, vous disposez de deux méthodes pour les intégrer aux IAM politiques de votre. Compte AWS Vous pouvez utiliser ces deux fonctionnalités ensemble ou individuellement.
Contrôle d’accès basé sur les rôles
Lorsque votre utilisateur transmet des demandes à votre pool d'identités, Amazon Cognito choisit le IAM rôle qu'il demande. Pour personnaliser les autorisations du rôle en fonction de vos besoins, vous devez appliquer IAM des politiques à chaque rôle. Par exemple, si votre utilisateur démontre qu’il fait partie du service marketing, il reçoit des informations d’identification pour un rôle avec des politiques adaptées aux besoins d’accès du service marketing. Amazon Cognito peut demander un rôle par défaut, un rôle basé sur des règles qui interrogent les champs standard de votre utilisateur ou un rôle basé sur l’appartenance de votre utilisateur à un groupe d’utilisateurs. Vous pouvez également configurer la politique d'approbation des rôles afin qu'elle IAM n'approuve que votre pool d'identités pour générer des sessions temporaires.
Attributs pour le contrôle d’accès
Votre réserve d’identités lit les attributs à partir des champs standard de votre utilisateur et les mappe sur les balises de principal dans le cadre de la session temporaire de votre utilisateur. Vous pouvez ensuite configurer vos politiques IAM basées sur les ressources pour autoriser ou refuser l'accès aux ressources en fonction des IAM principes qui contiennent les balises de session de votre pool d'identités. Par exemple, si votre utilisateur prouve qu'il fait partie du service marketing, AWS STS balisez sa sessionDepartment: marketing
. Votre compartiment Amazon S3 autorise les opérations de lecture sur la base d'une PrincipalTag condition aws : qui nécessite une valeur de marketing
pour la Department
balise.
Fonctionnalité | Description |
---|---|
Groupe d'utilisateurs Amazon Cognito SP | Échangez un jeton d'identification de votre groupe d'utilisateurs contre des informations d'identité Web provenant de AWS STS |
SAML2,0 SP | Échangez SAML des assertions pour les informations d'identification d'identité Web à partir de AWS STS |
OIDCSP | Échangez OIDC des jetons contre des identifiants d'identité Web auprès de AWS STS |
OAuth2,0 SP | Échangez OAuth des jetons d'Amazon, Facebook, Google, Apple et Twitter contre des identifiants d'identité Web provenant de AWS STS |
SP personnalisé | Avec les AWS informations d'identification, échangez des demandes dans n'importe quel format contre des informations d'identification Web auprès de AWS STS |
Accès non authentifié | Émettre des informations d'identification Web à accès limité sans authentification AWS STS |
Contrôle d’accès basé sur les rôles | Choisissez un IAM rôle pour votre utilisateur authentifié en fonction de ses revendications, et configurez vos rôles pour qu'ils ne soient assumés que dans le contexte de votre pool d'identités |
Contrôle d'accès basé sur les attributs | Convertissez les demandes en balises principales pour votre session AWS STS temporaire et utilisez des IAM politiques pour filtrer l'accès aux ressources en fonction des balises principales |
Pour plus d'informations sur les groupes d'identités, consultez Commencer à utiliser les pools d'identités Amazon Cognito et la référence des groupes API d'identités Amazon Cognito.
Comparaison des groupes d’utilisateurs et des réserves d’identités Amazon Cognito
Fonctionnalité | Description | Groupes d’utilisateurs | Réserves d’identités |
---|---|---|---|
OIDCIdP | Émettez des jetons OIDC d'identification pour authentifier les utilisateurs de l'application | ✓ | |
APIserveur d'autorisation | Émettez des jetons d'accès pour autoriser l'accès des APIs utilisateurs aux bases de données et aux autres ressources qui acceptent les étendues d'autorisation OAuth 2.0 | ✓ | |
IAMserveur d'autorisation d'identité Web | Générez des jetons que vous pouvez échanger contre des AWS STS AWS informations d'identification temporaires | ✓ | |
SAMLSP 2.0 et OIDC IdP | Émettez OIDC des jetons personnalisés sur la base des réclamations d'un SAML IdP 2.0 | ✓ | |
OIDCSP et OIDC IdP | Émettez OIDC des jetons personnalisés en fonction des réclamations d'un OIDC IdP | ✓ | |
OAuthSP 2.0 et OIDC IdP | Émettez OIDC des jetons personnalisés basés sur les champs d'application des fournisseurs sociaux OAuth 2.0 tels qu'Apple et Google | ✓ | |
SAMLSP 2.0 et courtier d'informations d'identification | Émettre des AWS informations d'identification temporaires basées sur les demandes d'un SAML IdP 2.0 | ✓ | |
OIDCSP et courtier d'informations d'identification | Émettre des AWS informations d'identification temporaires sur la base des demandes d'un OIDC IdP | ✓ | |
OAuthSP 2.0 et courtier d'informations d'identification | Émettez des AWS informations d'identification temporaires basées sur les champs d'application des fournisseurs sociaux OAuth 2.0 tels qu'Apple et Google | ✓ | |
Groupe d'utilisateurs Amazon Cognito SP et courtier d'informations d'identification | Émettez des AWS informations d'identification temporaires sur la base de OIDC demandes émanant d'un groupe d'utilisateurs Amazon Cognito | ✓ | |
SP personnalisé et courtier d'informations d'identification | Émettre des AWS informations d'identification temporaires sur la base de l'IAMautorisation du développeur | ✓ | |
Service frontal d'authentification | Inscrivez, gérez et authentifiez les utilisateurs avec l'interface utilisateur hébergée | ✓ | |
APIprise en charge de votre propre interface utilisateur d'authentification | Créez, gérez et authentifiez les utilisateurs par le biais de API demandes prises en charge ¹ AWS SDKs | ✓ | |
MFA | Utilisez SMS les messages ou TOTPs l'appareil de votre utilisateur comme facteur d'authentification supplémentaire¹ | ✓ | |
Surveillance de la sécurité et réponse | Protégez-vous contre les activités malveillantes et les mots de passe peu sécurisés¹ | ✓ | |
Personnaliser les flux d'authentification | Créez votre propre mécanisme d'authentification ou ajoutez des étapes personnalisées aux flux existants¹ | ✓ | |
Groups | Créez des groupes logiques d'utilisateurs et une hiérarchie des revendications de IAM rôles lorsque vous transmettez des jetons à des pools d'identités | ✓ | |
Personnalisez les jetons d'identification | Personnalisez vos jetons d'identification avec des demandes nouvelles, modifiées ou supprimées | ✓ | |
AWS WAF web ACLs | Surveillez et contrôlez les demandes adressées à votre environnement d'authentification avec AWS WAF | ✓ | |
Personnalisation des attributs utilisateur | Attribuez des valeurs aux attributs utilisateur et ajoutez vos propres attributs personnalisés | ✓ | |
Accès non authentifié | Émettre des informations d'identification Web à accès limité sans authentification AWS STS | ✓ | |
Contrôle d’accès basé sur les rôles | Choisissez un IAM rôle pour votre utilisateur authentifié en fonction de ses revendications, et configurez vos rôles pour qu'ils ne soient assumés que dans le contexte de votre pool d'identités | ✓ | |
Contrôle d'accès basé sur les attributs | Transformez les demandes des utilisateurs en balises principales pour votre session AWS STS temporaire et utilisez des IAM politiques pour filtrer l'accès aux ressources en fonction des balises principales | ✓ |
¹ La fonctionnalité est disponible uniquement pour les utilisateurs locaux.
Démarrer avec Amazon Cognito
Par exemple, les applications de pool d'utilisateurs, voirDémarrage avec les groupes d'utilisateurs.
Pour une présentation des pools d'identités, consultezCommencer à utiliser les pools d'identités Amazon Cognito.
Pour des liens vers des expériences de configuration guidée avec des groupes d'utilisateurs et des groupes d'identités, consultezOptions de configuration guidée pour Amazon Cognito.
Pour accéder à des vidéos, à des articles, à de la documentation et à d'autres exemples d'applications, consultez les ressources destinées aux développeurs Amazon Cognito
Pour utiliser Amazon Cognito, vous devez avoir un Compte AWS. Pour de plus amples informations, veuillez consulter Commencer avec AWS.
Disponibilité par région
Amazon Cognito est disponible dans plusieurs AWS régions du monde. Dans chaque région, Amazon Cognito est réparti sur plusieurs zones de disponibilité. Ces zones de disponibilité sont physiquement isolées mais sont reliées par des connexions réseau privées, à latence faible, à débit élevé et à forte redondance. Ces zones de disponibilité permettent AWS de fournir des services, notamment Amazon Cognito, avec des niveaux de disponibilité et de redondance très élevés, tout en minimisant le temps de latence.
Pour savoir si Amazon Cognito est actuellement disponible dans l'un d'entre eux Région AWS, consultez la section AWS Services par région
Pour en savoir plus sur les points API de terminaison de service régionaux, consultez la section AWS Régions et points de terminaison dans le. Référence générale d'Amazon Web Services
Pour plus d’informations sur le nombre de zones de disponibilité disponibles dans chaque région, consultez Infrastructure mondiale AWS
Tarification Amazon Cognito
Pour plus d’informations sur la tarification Amazon Cognito, consultez Tarification Amazon Cognito