Qu’est-ce qu’Amazon Cognito ? - 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.

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.

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

Amazon Cognito user pool authentication flow with app, identity provider, and API/Database.

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é des employés 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

Diagram showing Amazon Cognito federated identities flow between app, identity pool, provider, and STS.

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.

  1. L'utilisateur de votre application se connecte via un groupe d'utilisateurs et reçoit OAuth 2 jetons.

  2. 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).

  3. 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 est conforme aux normes SOC 1-3 PCIDSS, ISO 27001 et est HIPAA éligible. BAA Vous pouvez concevoir votre sécurité dans le cloud dans Amazon Cognito de manière à ce qu'elle soit conforme aux normes SOC1 -3, ISO 27001 et HIPAA -BAA, mais ce n'est pas le cas. PCI DSS Pour plus d’informations, consultez Services AWS concernés. Consultez également Considérations sur les données régionales.

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és des groupes d’utilisateurs 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 auprès de 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és des réserves d’identités Amazon Cognito
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 de nombreuses AWS régions du monde entier. 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 obtenir une liste de toutes les régions où Amazon Cognito est actuellement disponible, consultez Régions et points de terminaison AWS du 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.