Entenda a autenticação do IAM Identity Center - AWS SDKs e ferramentas

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Entenda a autenticação do IAM Identity Center

Termos relevantes do Centro de Identidade do IAM

Os termos a seguir ajudam você a entender o processo e a configuração por trás da AWS IAM Identity Center. A documentação das APIs do SDK AWS usa nomes diferentes do IAM Identity Center para alguns desses conceitos de autenticação. É útil conhecer os dois nomes.

A tabela a seguir mostra como os nomes alternativos se relacionam.

Nome do IAM Identity Center Nome da API do SDK Descrição
Identity Center sso Embora o Single Sign-On da AWS tenha sido renomeado, os namespaces da API sso manterão seu nome original para fins de compatibilidade com versões anteriores. Para obter mais informações, consulte Renomear o IAM Identity Center no Guia do usuário AWS IAM Identity Center.

Console do IAM Identity Center

Console administrativo

O console que você usa para configurar o single sign-on.
URL do portal de acesso da AWS Um URL exclusivo para sua conta do IAM Identity Center, como https://xxx.awsapps.com/start. Você faz login neste portal usando suas credenciais de login do IAM Identity Center.
Sessão do portal de acesso ao IAM Identity Center Sessão de autenticação Fornece um token de acesso do portador ao chamador.
Sessão de definição de permissões A sessão do IAM que o SDK usa internamente para fazer as chamadas de AWS service (Serviço da AWS). Em discussões informais, você pode ver isso incorretamente chamado de “sessão de funções”.
Credenciais do conjunto de permissões

Credenciais AWS

credenciais sigv4

As credenciais que o SDK realmente usa para a maioria das chamadas de AWS service (Serviço da AWS) (especificamente, todas as chamadas AWS service (Serviço da AWS) sigv4). Em discussões informais, você pode ver isso incorretamente chamado de “credenciais de função”.
Provedor de credenciais do IAM Identity Center Provedor de credenciais de SSO Como você obtém as credenciais, como a classe ou o módulo que fornece a funcionalidade.

Entenda a resolução de credenciais do SDK para Serviços da AWS

A API do IAM Identity Center troca as credenciais do token do portador por credenciais sigv4. A maioria dos Serviços da AWS são APIs sigv4, com algumas exceções, como Amazon CodeWhisperer e Amazon CodeCatalyst. A seguir, descrevemos o processo de resolução de credenciais para dar suporte à maioria das chamadas AWS service (Serviço da AWS) para o código do seu aplicativo por meio de AWS IAM Identity Center.

Iniciar uma sessão do portal de acesso AWS

  • Inicie o processo entrando na sessão com suas credenciais.

    • Use o comando aws sso login no AWS Command Line Interface (AWS CLI). Isso inicia uma nova sessão do IAM Identity Center se você ainda não tiver uma sessão ativa.

  • Ao iniciar uma nova sessão, você recebe um token de atualização e um token de acesso do IAM Identity Center. O AWS CLI também atualiza um arquivo JSON de cache SSO com um novo token de acesso e token de atualização e o disponibiliza para uso por SDKs.

  • Se você já tiver uma sessão ativa, o comando AWS CLI reutilizará a sessão existente e expirará sempre que a sessão existente expirar. Para saber como definir a duração de uma sessão do IAM Identity Center, consulte Configurar a duração das sessões do portal de acesso AWS de seus usuários no Guia do usuário AWS IAM Identity Center.

    • A duração máxima da sessão foi estendida para 90 dias para reduzir a necessidade de logins frequentes.

Como o SDK obtém credenciais para chamadas AWS service (Serviço da AWS)

Os SDKs fornecem acesso para Serviços da AWS quando você instancia um objeto cliente por serviço. Quando o perfil selecionado do arquivo de config compartilhado da AWS é configurado para resolução de credenciais do IAM Identity Center, o IAM Identity Center é usado para resolver as credenciais do seu aplicativo.

Para recuperar as credenciais das APIs sigv4 usando o login único do IAM Identity Center, o SDK usa o token de acesso do IAM Identity Center para obter uma sessão do IAM. Essa sessão do IAM é chamada de sessão de conjunto de permissões e fornece acesso AWS ao SDK assumindo um perfil do IAM.

  • A duração da sessão do conjunto de permissões é definida independentemente da duração da sessão do IAM Identity Center.

    • Para saber como definir a duração da sessão do conjunto de permissões, consulte Definir a duração da sessão no Guia do usuário AWS IAM Identity Center.

  • Lembre-se de que as credenciais do conjunto de permissões também são chamadas de credenciais e credenciais AWS e credenciais sigv4 na maioria das documentações da API do SDK AWS.

As credenciais do conjunto de permissões são retornadas de uma chamada para getRoleCredentials da API IAM Identity Center para o SDK. O objeto cliente do SDK usa esse perfil do IAM assumido para fazer chamadas para o AWS service (Serviço da AWS), como pedir ao Amazon S3 que liste os buckets em sua conta. O objeto cliente pode continuar operando usando essas credenciais do conjunto de permissões até que a sessão do conjunto de permissões expire.

Expiração e atualização da sessão

Ao usar o Configuração do provedor de token do SSO, o token de acesso por hora obtido do IAM Identity Center é atualizado automaticamente usando o token de atualização.

  • Se o token de acesso expirar quando o SDK tentar usá-lo, o SDK usará o token de atualização para tentar obter um novo token de acesso. O IAM Identity Center compara o token de atualização com a duração da sessão do portal de acesso do IAM Identity Center. Se o token de atualização não expirar, o IAM Identity Center responderá com outro token de acesso.

  • Esse token de acesso pode ser usado para atualizar a sessão do conjunto de permissões de clientes existentes ou para resolver credenciais para novos clientes.

No entanto, se a sessão do portal de acesso do IAM Identity Center expirar, nenhum novo token de acesso será concedido. Portanto, a duração do conjunto de permissões não pode ser renovada. Ele expirará (e o acesso será perdido) sempre que a duração da sessão definida em cache expirar para os clientes existentes.

Qualquer código que crie um novo cliente falhará na autenticação assim que a sessão do IAM Identity Center expirar. Isso ocorre porque as credenciais do conjunto de permissões não são armazenadas em cache. Seu código não conseguirá criar um novo cliente e concluir o processo de resolução de credenciais até que você tenha um token de acesso válido.

Para recapitular, quando o SDK precisa de novas credenciais de conjunto de permissões, ele primeiro verifica se há credenciais válidas existentes e as usa. Isso se aplica se as credenciais são para um novo cliente ou para um cliente existente com credenciais expiradas. Se as credenciais não forem encontradas ou não forem válidas, o SDK chama a API do IAM Identity Center para obter novas credenciais. Para chamar a API, ela precisa do token de acesso. Se o token de acesso expirar, o SDK usará o token de atualização para tentar obter um novo token de acesso a partir do seriço IAM Identity Center. Esse token é concedido se sua sessão do portal de acesso ao IAM Identity Center não tiver expirado.