Ajout de groupes à un groupe d'utilisateurs - Amazon Cognito

Ajout de groupes à un groupe d'utilisateurs

La prise en charge des groupes dans les groupes d'utilisateurs Amazon Cognito vous permet de créer et gérer des groupes, d'ajouter des utilisateurs à des groupes et de supprimer des utilisateurs de groupes. Utilisez des groupes pour créer des ensembles d'utilisateurs afin de gérer leurs autorisations ou de représenter différents types d'utilisateurs. Vous pouvez attribuer un rôle AWS Identity and Access Management (IAM) à un groupe afin de définir les autorisations pour les membres d'un groupe.

Vous pouvez utiliser des groupes pour créer un ensemble d'utilisateurs dans un pool d'utilisateurs, ce qui est souvent effectué pour définir les autorisations pour ces utilisateurs. Par exemple, vous pouvez créer des groupes distincts pour les utilisateurs qui sont des lecteurs, des contributeurs et des éditeurs de votre site Web et de votre application. A l'aide du rôle IAM associé à un groupe, vous pouvez également définir des autorisations différentes pour ces différents groupes afin que seuls des contributeurs puissent placer des contenus dans Amazon S3, et que seuls des éditeurs puissent publier des contenus via une API dans Amazon API Gateway.

Vous pouvez créer et gérer des groupes dans un pool d'utilisateurs à partir de la AWS Management Console, les API et la CLI. En tant que développeur (à l'aide des informations d'identification AWS), vous pouvez créer, lire, mettre à jour, supprimer et répertorier les groupes pour un pool d'utilisateurs. Vous pouvez également ajouter et supprimer des utilisateurs dans des groupes.

L'utilisation de groupes au sein d'un pool d'utilisateurs n'entraîne aucun coût supplémentaire. Pour plus d'informations, consultez Tarification Amazon Cognito.

Vous pouvez voir cette fonctionnalité utilisée dans l'application de référence SpaceFinder.

Attribution de rôles IAM à des groupes

Vous pouvez utiliser des groupes pour contrôler les autorisations sur vos ressources à l'aide d'un rôle IAM. Les rôles IAM incluent des politiques d'approbation et des politiques d'autorisation. La politique d'approbation de rôle spécifie qui peut utiliser le rôle. Les politiques d'autorisations spécifient les actions et les ressources auxquelles les membres de votre groupe peuvent accéder. Lorsque vous créez un rôle IAM, configurez la politique de confiance du rôle pour permettre aux utilisateurs de votre groupe d'assumer le rôle. Dans les politiques d'autorisations de rôle, spécifiez les autorisations que vous souhaitez attribuer à votre groupe.

Lorsque vous créez un groupe dans Amazon Cognito, vous spécifiez un rôle IAM en fournissant l'ARNdu rôle. Lorsque les membres du groupe se connectent à l'aide d'Amazon Cognito, ils peuvent recevoir des informations d'identification temporaires à partir des groupes d'identités. Leurs autorisations sont déterminées par le rôle IAM associé.

Des utilisateurs individuels peuvent appartenir à plusieurs groupes. En tant que développeur, vous disposez des options suivantes pour choisir automatiquement le rôle IAM lorsqu'un utilisateur appartient à plusieurs groupes :

  • Vous pouvez affecter des valeurs de priorité à chaque groupe. Le groupe prioritaire (valeur la plus faible) sera choisi et son rôle IAM associé sera appliqué.

  • Votre application peut également choisir parmi les rôles disponibles lors de la demande d'informations d'identification AWS pour un utilisateur via un groupes d'identités, en spécifiant un ARN de rôle dans le paramètre GetCredentialsForIdentity CustomRoleARN. Le rôle IAM spécifié doit correspondre à un rôle qui est disponible pour l'utilisateur.

Affectation de valeurs de priorité à des groupes

Un utilisateur peut appartenir à plusieurs groupes. Dans le jeton d'ID de l'utilisateur, la demande cognito:groups contient la liste de tous les groupes auquel l'utilisateur appartient. La demande cognito:roles contient la liste des rôles correspondant aux groupes.

Comme un utilisateur peut appartenir à plusieurs groupes, une priorité peut être affectée à chaque groupe. Il s'agit d'un nombre non négatif qui spécifie la priorité de ce groupe par rapport à d'autres groupes auxquels un utilisateur appartient au sein du groupe d'utilisateurs. Zéro est la valeur de priorité la plus haute. Les groupes avec des valeurs de priorité plus faibles sont prioritaires par rapport aux groupes avec des valeurs de priorité plus élevées ou null. Si un utilisateur appartient à deux groupes ou plus, le groupe ayant la valeur de priorité la plus basse verra son rôle IAM appliqué à la cognito:preferred_role demande dans le jeton d'identification de l'utilisateur.

Deux groupes peuvent avoir la même valeur de priorité. Si cela se produit, aucun des deux groupes n'est prioritaire sur l'autre. Si deux groupes avec la même valeur de priorité ont le même ARN de rôle, ce rôle est utilisé dans la demande cognito:preferred_role dans les jetons d'ID pour les utilisateurs dans chaque groupe. Si les deux groupes ont des ARN de rôle différents, la demande cognito:preferred_role n'est pas définie dans les jetons d'ID des utilisateurs.

Utilisation de groupes pour contrôler une autorisation avec Amazon API Gateway

Vous pouvez utiliser des groupes dans un groupe d'utilisateurs pour contrôler une autorisation avec Amazon API Gateway. Les groupes dont un utilisateur est un membre sont inclus dans le jeton d'ID et dans le jeton d'accès d'un groupe d'utilisateurs dans la demande cognito:groups. Vous pouvez soumettre un ID ou des jetons d'accès avec des demandes à Amazon API Gateway et utiliser un mécanisme d'autorisation de groupe d'utilisateurs Amazon Cognito pour une API REST. Pour plus d'informations, consultez Contrôle de l'accès à une API REST à l'aide de groupes d'utilisateurs Amazon Cognito en tant que mécanisme d'autorisation dans le Guide du développeur API Gateway.

Vous pouvez également autoriser l'accès à une API HTTP Amazon API Gateway avec un mécanisme d'autorisation JWT personnalisé. Pour plus d'informations, consultez Contrôle de l'accès aux API HTTP avec les mécanismes d'autorisation JWT dans le Guide du développeur API Gateway.

Limitations sur les groupes

Les groupes d'utilisateurs sont soumis aux limitations suivantes :

  • Le nombre de groupes que vous pouvez créer est limité par les limites de service Amazon Cognito.

  • Les groupes ne peuvent pas être imbriqués.

  • Vous ne pouvez pas rechercher des utilisateurs dans un groupe.

  • Vous ne pouvez pas rechercher des groupes par nom, mais vous pouvez afficher les groupes.

  • Seuls les groupes sans membre peuvent être supprimés.

Création d'un nouveau groupe dans la AWS Management Console

Utilisez la procédure suivante pour créer un nouveau groupe.

Original console

L'onglet Groups (Groupes) dans l'onglet Users and groups (Utilisateurs et groupes) comporte un bouton Create group (Créer un groupe).


              Créez un groupe dans l'onglet Groupes de l'onglet Utilisateurs et groupes.

Lorsque vous choisissez Create group (Créer un groupe), un formulaire Create group (Créer un groupe) s'affiche. Vous allez entrer les informations de votre groupe dans ce formulaire. Seul le champ Name (Nom) est obligatoire. Si vous intégrez un groupe d'utilisateurs à un groupe d'identités, le paramètre IAM role (Rôle IAM) détermine le rôle qui est attribué au jeton d'ID de l'utilisateur si le groupe d'identités est configuré pour choisir le rôle à partir du jeton. Si vous n'avez pas de rôles déjà définis, sélectionnez Créer un nouveau rôle. Si vous disposez de plusieurs groupes et que vos utilisateurs peuvent être affectés à plusieurs groupes, vous pouvez définir une valeur de priorité (Precedence) pour chaque groupe. La valeur de priorité peut être n'importe quel nombre entier non négatif. Zéro est la valeur de priorité la plus haute.


              Formulaire Créer un groupe dans l'onglet Utilisateurs et groupes.
New console

Pour créer un nouveau groupe.

  1. Accédez à la console Amazon Cognito. Si vous y êtes invité, saisissez vos informations d'identification AWS.

  2. Choisissez Groupes d'utilisateurs.

  3. Choisissez un groupe d'utilisateurs existant dans la liste.

  4. Choisissez l'onglet Groupes puis choisissez Créer un groupe.

  5. Dans la page Créez un groupe, dans Nom du groupe, saisissez un nom convivial pour votre nouveau groupe.

  6. Vous pouvez éventuellement fournir des informations supplémentaires sur ce groupe à l'aide de l'un des champs suivants :

    • Description – Saisissez des informations sur la raison pour laquelle ce nouveau groupe sera utilisé.

    • Priorité – Amazon Cognito évalue et applique toutes les autorisations de groupe pour un utilisateur donné en fonction des groupes auxquels il appartient a une valeur de priorité inférieure. Le groupe prioritaire sera choisi et son rôle IAM associé sera appliqué. Pour de plus amples informations, veuillez consulter . Affectation de valeurs de priorité à des groupes.

    • Rôle IAM – Vous pouvez attribuer un rôle IAM à votre groupe lorsque vous devez contrôler les autorisations sur vos ressources. Si vous intégrez un groupe d'utilisateurs à un groupe d'identités, le paramètre IAM role (Rôle IAM) détermine le rôle qui est attribué au jeton d'ID de l'utilisateur si le groupe d'identités est configuré pour choisir le rôle à partir du jeton. Pour de plus amples informations, veuillez consulter . Attribution de rôles IAM à des groupes.

    • Ajoutez des utilisateurs au groupe – Ajoutez des utilisateurs existants en tant que membres de ce groupe après sa création.

  7. Choisissez Créer pour confirmer.