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

Criar um perfil 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 na 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.

nota

Para melhorar a resiliência da federação, recomendamos que você configure seu IdP e sua  federação da AWS para oferecer suporte a vários endpoints de login do SAML. Para obter detalhes, consulte o artigo do AWS Security Blog How to use regional SAML endpoints for failover.

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

Para criar uma função 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 ter mais informações, consulte Criar um provedor de identidades SAML no 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 sua função, deverá usar três valores para garantir que a função só possa ser assumida 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 SAML), escolha o provedor para a função.

  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 na função. 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 ter 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 deseja que os usuários federados OIDC 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 função). Selecione a política a ser usada para o limite de permissões.

  11. Escolha Próximo.

  12. Escolha Próximo: revisar.

  13. Em Role name (Nome da função), 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 de 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 a nova função.

  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 a função.

  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 Criar perfil.

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 ter mais informações, consulte Configurar o IdP SAML 2.0 com objeto de confiança de terceira parte confiável e adição de declarações.