Criar uma função para uma federação do SAML 2.0 (console) - AWS Identity and Access Management

Criar uma função para uma federação do SAML 2.0 (console)

Você pode usar a federação do SAML 2.0 em vez de criar usuários do IAM em sua conta da AWS. Com um provedor de identidade (IdP), você pode gerenciar as identidades de usuários fora da AWS e fornecer a essas identidades de usuários externos permissões para acessar recursos da AWS na sua conta. Para obter mais informações sobre federação e provedores de identidade, consulte Provedores de identidade e federação.

Pré-requisitos para a criação de uma função para o SAML

Para criar um perfil para a federação SAML 2.0, você primeiro deve concluir as etapas obrigatórias a seguir.

Para se preparar para uma função para a federação do SAML 2.0

  1. Antes de criar uma função para federação baseada em SAML, você deve criar um provedor SAML no IAM. Para mais informações, consulte Criação de provedores de identidade SAML do IAM.

  2. Prepare as políticas para a função que os usuários autenticados pelo SAML 2.0 assumirão. Assim como com qualquer função, uma função para a federação do SAML inclui duas políticas. Uma é a política de confiança da função que especifica quem pode assumir a função. A outra é a política de permissões do IAM que especifica as ações e os recursos da AWS aos quais o usuário federado tem ou não permissão para acessar.

    Quando você criar a política de confiança para seu perfil, deverá usar três valores para garantir que o perfil só possa ser assumido por sua aplicação:

    • No elemento Action, use a ação sts:AssumeRoleWithSAML.

    • No elemento Principal, use a string {"Federated":ARNofIdentityProvider}. Substitua ARNofIdentityProvider pelo nome de recurso da Amazon (ARN) do provedor de identidade SAML que você criou em Passo 1.

    • No elemento Condition, use uma condição StringEquals para verificar se o atributo saml:aud da resposta de SAML corresponde ao endpoint da federação do SAML para a AWS.

    A política de confiança de exemplo a seguir foi projetada para um usuário federado do SAML:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRoleWithSAML", "Principal": {"Federated": "arn:aws:iam::account-id:saml-provider/PROVIDER-NAME"}, "Condition": {"StringEquals": {"SAML:aud": "https://signin.aws.amazon.com/saml"}} } }

    Substitua o ARN da entidade de segurança pelo ARN real do provedor SAML que você criou no IAM. Ele terá seu próprio ID de conta e nome de provedor.

Criar uma função para o SAML

Depois de concluir as etapas obrigatórias, você pode criar a função para federação baseada no SAML.

Para criar uma função para a federação baseada em SAML

  1. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação do console do IAM, escolha Roles (Funções) e Criar função (Create role).

  3. Escolha o tipo de função Federação SAML 2.0.

  4. Em SAML Provider (Provedor do SAML), escolha o provedor para o perfil.

  5. Escolha o método de nível de acesso SAML 2.0.

    • Escolha Allow programmatic access only (Permitir acesso programático apenas) para criar uma função que possa ser assumida programaticamente na API da AWS ou na AWS CLI.

    • Escolha Allow programmatic and AWS Management Console access (Permitir acesso programático e do console) para criar uma função que possa ser assumida de forma programática e no AWS Management Console.

    As funções criadas por ambos são semelhantes, mas a função que também pode ser assumida no console inclui uma política de confiança com uma determinada condição. Essa condição garante explicitamente que o público de SAML (atributo SAML:aud) seja definido como o endpoint de login da AWS para SAML (https://signin.aws.amazon.com/saml).

  6. Se estiver criando uma função para acesso programático, escolha um atributo na lista Atributo. Em seguida, na caixa Value (Valor), insira um valor a ser incluído no perfil. Isso restringe o acesso à função a usuários do provedor de identidade cuja resposta de autenticação SAML (declaração) inclua os atributos especificados. Você deve especificar pelo menos um atributo para garantir que sua função seja limitada a um subconjunto de usuários em sua organização.

    Se você estiver criando uma função para acesso programático e do console, o atributo SAML:aud será adicionado automaticamente e definido como o URL do endpoint da SAML AWS (https://signin.aws.amazon.com/saml).

  7. Para adicionar à política de confiança mais condições relacionadas a atributos, escolha Condition (optional) [Adicionar condições (opcional)], selecione a condição adicional e especifique um valor.

    nota

    A lista inclui os atributos do SAML usados com mais frequência. O IAM oferece suporte a atributos adicionais que você pode usar para criar condições. Para obter uma lista dos atributos com suporte, consulte Chaves disponíveis para a federação do SAML Se precisar de uma condição para um atributo do SAML compatível que não esteja na lista, você poderá adicionar essa condição manualmente. Para fazer isso, edite a política de confiança depois de criar a função.

  8. Revise as informações de confiança do SAML 2.0 e, em seguida, escolha Next (Avançar).

  9. O IAM inclui uma lista das políticas gerenciadas pela AWS e pelo cliente em sua conta. Selecione a política a ser usada para a política de permissões ou escolha Create policy (Criar política) para abrir uma nova guia no navegador e criar uma nova política a partir do zero. Para mais informações, consulte Criação de políticas do IAM. Depois de criar a política, feche essa guia e retorne à guia original. Marque a caixa de seleção ao lado das políticas de permissões que você deseja que os usuários de identidades da web tenham. Se preferir, você pode optar por não selecionar nenhuma política neste momento e anexar as políticas à função mais tarde. Por padrão, uma função não tem nenhuma permissões.

  10. (Opcional) Defina um limite de permissões. Este é um recurso avançado.

    Abra a seção Set permissions boundary (Definir limite de permissões) e escolha Use a permissions boundary to control the maximum role permissions (Usar um limite de permissões para controlar o número máximo de permissões de perfil). Selecione a política a ser usada para o limite de permissões.

  11. Escolha Next (Próximo).

  12. Escolha Next: Review (Próximo: revisar).

  13. Em Role name (Nome do perfil), insira um nome. Os nomes de função devem ser exclusivos em sua conta da AWS. Eles não são diferenciados por letras maiúsculas e minúsculas. Por exemplo, não é possível criar funções chamadas PRODROLE e prodrole. Como outros recursos da AWS podem fazer referência à função, não é possível editar o nome da função depois de ela ser criada.

  14. (Opcional) Em Description (Descrição), insira uma descrição para o novo perfil.

  15. Escolha Edit (Editar) nas seções Etapa 1: selecionar entidades confiáveis ou na Etapa 2: adicionar permissões para editar os casos de uso e as permissões para o perfil.

  16. (Opcional) Adicione metadados à função anexando tags como pares de chave-valor. Para obter mais informações sobre como usar etiquetas no IAM, consulte Recursos de etiquetas do IAM.

  17. Revise a função e escolha Create role.

Depois de criar a função, você conclui a confiança do SAML configurando o software do provedor de identidade com informações sobre a AWS. Essas informações incluem as funções que você deseja que seus usuários federados usem. Isso é chamado de configuração da confiança da parte confiável entre seu IdP e a AWS. Para mais informações, consulte Configuração do IdP SAML 2.0 com objeto de confiança de terceira parte confiável e inclusão de declarações.