Como adicionar grupos a um grupo de usuários - Amazon Cognito

Como adicionar grupos a um grupo de usuários

O suporte a grupos de usuários no Amazon Cognito permite que você crie e gerencie grupos, adicione usuários a grupos e remova usuários de grupos. Use grupos a fim de criar coleções de usuários para gerenciar suas permissões ou representar diferentes tipos de usuários. Você pode atribuir uma função do AWS Identity and Access Management (IAM) a um grupo para definir as permissões para seus membros.

Você pode usar grupos para criar um conjunto de usuários em um grupo de usuários, que normalmente é feito para definir as permissões para esses usuários. Por exemplo, você pode criar grupos separados para os usuários que são leitores, colaboradores e editores do seu site e aplicativo. Usando a função do IAM associada a um grupo, você também pode definir permissões diferentes para os diferentes grupos de modo que apenas colaboradores possam colocar conteúdo no Amazon S3 e apenas editores possam publicar conteúdo por meio de uma API no Amazon API Gateway.

Você pode criar e gerenciar grupos em um grupo de usuários do AWS Management Console, das APIs e da CLI. Como desenvolvedor (usando credenciais AWS), você pode criar, ler, atualizar, excluir e listar os grupos para um grupo de usuários. Você também pode adicionar e remover usuários dos grupos.

Não há custo adicional para usar grupos dentro de um grupo de usuários. Para obter mais informações, consulte Preços do Amazon Cognito.

Você pode ver este recurso usado no aplicativo de referência SpaceFinder.

Como atribuir funções do IAM a grupos

É possível usar grupos para controlar permissões aos recursos usando uma função do IAM. As funções do IAM incluem políticas de confiança e políticas de permissão. A política de confiança da função especifica quem pode usar a função. As políticas de permissão especificam as ações e os recursos que os membros do grupo podem acessar. Ao criar uma função do IAM, configure a política de confiança da função a fim de permitir que os usuários do grupo assumam a função. Nas políticas de permissão da função, especifique as permissões que você deseja que o grupo tenha.

Ao criar um grupo no Amazon Cognito, especifique uma função do IAM fornecendo o ARNda função. Quando membros do grupo fazem login usando o Amazon Cognito, eles podem receber credenciais temporárias dos grupos de identidades. Suas permissões são determinadas pela função do IAM associada.

Usuários individuais podem estar em vários grupos. Como desenvolvedor, você tem as seguintes opções para escolher automaticamente a função do IAM quando um usuário estiver em vários grupos:

  • Você pode atribuir valores de precedência para cada grupo. O grupo com a melhor (mais baixa) precedência será escolhido e sua função do IAM associada será aplicada.

  • Seu aplicativo também pode escolher entre as funções disponíveis ao solicitar credenciais da AWS para um usuário por meio de um grupo de identidades, especificando um ARN de função no parâmetro GetCredentialsForIdentity do CustomRoleARN. A função do IAM especificada deve corresponder a uma função que esteja disponível para o usuário.

Como atribuir valores de precedência a grupos

Um usuário pode pertencer a mais de um grupo. No token de ID do usuário, a afirmação cognito:groups contém a lista de todos os grupos aos quais um usuário pertence. A requisição cognito:roles contém a lista de funções correspondentes aos grupos.

Como um usuário pode pertencer a mais de um grupo, uma precedência pode ser atribuída a cada grupo. Esse é um valor inteiro não negativo que especifica a precedência desse grupo em relação aos outros grupos aos quais um usuário pertence no grupo de usuários. Zero é o principal valor de precedência. Os grupos com os menores valores precedência prevalecem sobre grupos com valores de precedência nulos ou superiores. Se um usuário pertencer a dois ou mais grupos, o grupo com o menor valor de precedência será o que terá a função do IAM aplicada à declaração cognito:preferred_role no token de ID do usuário.

Dois grupos podem ter o mesmo valor de precedência. Se isso acontecer, nenhum dos grupos terá precedência sobre o outro. Se dois grupos com o mesmo valor de precedência tiverem a mesma função ARN, essa função será usada na requisição cognito:preferred_role em tokens de ID para os usuários em cada grupo. Se os dois grupos tiverem ARNs de função diferentes, a requisição cognito:preferred_role não será definida nos tokens de ID dos usuários.

Como usar grupos para controlar permissões com o Amazon API Gateway

Você pode usar grupos em um grupo de usuários para controlar permissões com o Amazon API Gateway. Os grupos dos quais um usuário é membro estão incluídos no token de ID e no token de acesso de um grupo de usuários na declaração cognito:groups. É possível enviar tokens de ID ou de acesso com solicitações para o Amazon API Gateway e usar um autorizador de grupo de usuários do Amazon Cognito para uma API REST. Para mais informações, consulte Controlar o acesso a uma API REST usando um grupo de usuários do Amazon Cognito como autorizador no Guia do desenvolvedor do API Gateway.

Também é possível autorizar o acesso a uma API HTTP do Amazon API Gateway com um autorizador JWT personalizado. Para mais informações Controlar o acesso a APIs HTTP com autorizadores JWT no Guia do desenvolvedor do API Gateway.

Limitações nos grupos

Grupos de usuários estão sujeitas às seguintes limitações:

  • O número de grupos que você pode criar é limitado pelos limites de serviço do Amazon Cognito.

  • Grupos não podem ser aninhados.

  • Você não pode pesquisar usuários em um grupo.

  • Você não pode pesquisar grupos por nome, mas pode listá-los.

  • Somente grupos sem membros podem ser excluídos.

Como criar um novo grupo no AWS Management Console

Siga o procedimento abaixo para criar um novo grupo.

Original console

A guia Groups (Grupos) na guia Users and groups (Usuários e grupos) tem um botão Create group (Criar grupo).


              Crie um novo grupo na guia Grupos dentro da guia Usuários e grupos.

Quando você seleciona Create group (Criar grupo), um formulário Create group (Criar grupo) é exibido. Você vai inserir as informações do seu grupo neste formulário. Somente o campo Name (Nome) é obrigatório. Se você estiver integrando um grupo de usuários a um grupo de identidades, a configuração de IAM role (Função do IAM) determinará qual função estará atribuída no token de ID do usuário se o grupo de identidades estiver configurado para selecionar a função a partir do token. Se você não tiver funções já definidas, selecione Create new role (Criar função). Se você tiver mais de um grupo, e os usuários puderem ser atribuídos a mais de um grupo, você poderá definir um valor de Precedence (Precedência) para cada grupo. O valor de precedência pode ser qualquer número inteiro não negativo. Zero é o principal valor de precedência.


              Crie um formulário de grupo na guia Usuários e grupos.
New console

Para criar um novo grupo

  1. Acesse o console do Amazon Cognito. Se solicitado, insira suas credenciais da AWS.

  2. Escolha User Pools (Grupos de usuários).

  3. Escolha um grupo de usuários existente da lista.

  4. Escolha a guia Groups (Grupos) e então escolha Create a group (Criar um grupo).

  5. Na página Create a group (Criar um grupo), em Group name (Nome do grupo), insira um nome para o novo grupo.

  6. Opcionalmente, é possível fornecer informações adicionais sobre esse grupo usando qualquer um dos seguintes campos:

    • Description (Descrição): insira detalhes sobre o uso planejado para esse novo grupo.

    • Precedence (Precedência): o Amazon Cognito avalia e aplica todas as permissões de grupo para um determinado usuário com base nos grupos aos quais eles pertencem que têm um valor de precedência menor. O grupo com a precedência mais baixa será escolhido e sua função do IAM associada será aplicada. Para obter mais informações, consulte Como atribuir valores de precedência a grupos.

    • IAM role (Função do IAM): é possível atribuir uma função do IAM ao grupo quando precisar controlar permissões aos recursos. Se você estiver integrando um grupo de usuários a um grupo de identidades, a configuração de IAM role (Função do IAM) determinará qual função estará atribuída no token de ID do usuário se o grupo de identidades estiver configurado para selecionar a função a partir do token. Para obter mais informações, consulte Como atribuir funções do IAM a grupos.

    • Add users to this group (Adicionar usuários a esse grupo): adicione usuários existentes como membros desse grupo após sua criação.

  7. Selecione Create (Criar) para confirmar.