Métodos para assumir um perfil
Para que um usuário, uma aplicação ou um serviço possa usar um perfil que você criou, você deverá conceder permissões para alternar para esse perfil. É possível usar qualquer política anexada a grupos ou usuários para conceder as permissões necessárias. Depois que as permissões forem concedidas, o usuário poderá assumir um perfil do AWS Management Console, do Tools for Windows PowerShell, da AWS Command Line Interface (AWS CLI) e da API AssumeRole
.
Importante
Ao criar uma função de forma programática, em vez de no console do IAM, você tem a opção de adicionar um Path
de até 512 caracteres além do RoleName
, que pode ter até 64 caracteres. No entanto, se você pretende usar uma função com o recurso Switch Role (Alternar função) no AWS Management Console, o Path
e o RoleName
combinados não podem exceder 64 caracteres.
O método usado para assumir o perfil determina quem pode assumir a função e por quanto tempo a sessão da função pode durar. Ao usar o código AssumeRole*
das operações da API, o perfil do IAM que você assume é o de recursos. O usuário ou perfil que chama operações da API AssumeRole*
é a entidade principal.
A tabela a seguir compara os métodos usados para assumir perfis.
Método de assumir a função | Quem pode assumir a função | Método para especificar a vida útil da credencial | Vida útil da credencial (mín.|máx.|padrão) |
---|---|---|---|
AWS Management Console | Usuário (mudando perfis) | Maximum session duration (Duração máxima da sessão) na página Resumo Role (Função) | 15 min|Configuração de duração máxima da sessão²|1 h |
Operação da CLI assume-role ou da API AssumeRole |
Usuário ou perfil¹ | Parâmetro da CLI duration-seconds ou da API DurationSeconds |
15 min|Configuração de duração máxima da sessão²|1 h |
Operação da CLI assume-role-with-saml ou da API AssumeRoleWithSAML |
Qualquer usuário autenticado usando SAML | Parâmetro da CLI duration-seconds ou da API DurationSeconds |
15 min|Configuração de duração máxima da sessão²|1 h |
Operação da CLI assume-role-with-web-identity ou da API AssumeRoleWithWebIdentity |
Qualquer usuário autenticado usando um provedor OIDC | Parâmetro da CLI duration-seconds ou da API DurationSeconds |
15 min|Configuração de duração máxima da sessão²|1 h |
URL do console construído com AssumeRole |
Usuário ou perfil | Parâmetro HTML SessionDuration no URL |
15 min|12 h|1 h |
URL do console construído com AssumeRoleWithSAML |
Qualquer usuário autenticado usando SAML | Parâmetro HTML SessionDuration no URL |
15 min|12 h|1 h |
URL do console construído com AssumeRoleWithWebIdentity |
Qualquer usuário autenticado usando um provedor OIDC | Parâmetro HTML SessionDuration no URL |
15 min|12 h|1 h |
¹ O uso de credenciais de uma função para assumir uma função diferente é chamado de encadeamento de funções. Quando você usa o encadeamento de funções, suas novas credenciais são limitadas a uma duração máxima de uma hora. Quando você usa funções para conceder permissões a aplicativos executados em instâncias do EC2, esses aplicativos não estão sujeitos a essa limitação.
² Essa configuração pode ter um valor de 1 hora a 12 horas. Para obter detalhes sobre como modificar a configuração de duração máxima da sessão, consulte Gerenciamento de perfis do IAM. Essa configuração determina a duração máxima da sessão que você pode solicitar ao obter as credenciais da função. Por exemplo, quando você usa as operações da API AssumeRole* para assumir uma função, você pode especificar um tamanho de sessão usando o parâmetro DurationSeconds
. Use este parâmetro para especificar o tamanho da sessão da função de 900 segundos (15 minutos) até o valor configurado da duração máxima da sessão para a função. Os usuários do IAM que trocam de perfis no console recebem a duração máxima da sessão ou o tempo restante na sessão de usuário, o que for menor. Suponha que você defina uma duração máxima de 5 horas em uma função. Um usuário do IAM conectado ao console por 10 horas (do máximo padrão de 12) alterna para a função. A duração da sessão de função disponível é de 2 horas. Para saber como visualizar o valor máximo para sua função, consulte Atualizar a duração máxima da sessão de um perfil mais adiante nesta página.
Observações
-
A configuração da duração máxima da sessão não limita as sessões assumidas por produtos da AWS.
-
As credenciais do perfil do IAM do Amazon EC2 não estão sujeitas às durações máximas de sessão configuradas no perfil.
-
Para permitir que os usuários assumam novamente o perfil atual em uma sessão de perfil, especifique o ARN do perfil ou o ARN da Conta da AWS como entidade principal na política de confiança do perfil. Os Serviços da AWS que fornecem recursos computacionais, como o Amazon EC2, Amazon ECS, Amazon EKS e Lambda, fornecem credenciais temporárias e atualizam automaticamente essas credenciais. Isso garante que você tenha sempre um conjunto de credenciais válido. Nesses serviços, não é necessário assumir novamente a função atual para obter credenciais temporárias. Porém, se pretender passar tags de sessão ou uma política de sessão, você precisará assumir novamente a função atual. Para saber como modificar uma política de confiança de função para adicionar o ARN da função de entidade principal ou o ARN da Conta da AWS, consulte Atualizar a política de confiança de um perfil .
Tópicos
- Mudar de um usuário para um perfil do IAM (console)
- Alterar para uma perfil do IAM (AWS CLI)
- Alternar para um perfil do IAM (Ferramentas para Windows PowerShell)
- Alternar para um perfil do IAM (API da AWS)
- Use um perfil do IAM para conceder permissões a aplicações em execução em instâncias do Amazon EC2
- Usar perfis de instância