Perfis do IAM
Uma função do IAM é uma identidade do IAM que você pode criar em sua conta que tem permissões específicas. Uma função do IAM é semelhante a um usuário do IAM no sentido de que é uma identidade da AWS com políticas de permissão que determinam o que a identidade pode e não pode fazer na AWS. No entanto, em vez de ser exclusivamente associada a uma pessoa, o propósito do perfil é ser assumido por qualquer pessoa que precisar dele. Além disso, um perfil não tem credenciais de longo prazo padrão associadas a ele, como senha ou chaves de acesso. Em vez disso, quando você assumir um perfil, ele fornecerá credenciais de segurança temporárias para sua sessão de perfil.
É possível usar funções para delegar acesso a usuários, aplicações ou serviços que normalmente não têm acesso aos seus recursos da AWS. Por exemplo, você pode conceder para os usuários na sua conta da AWS acesso a recursos que normalmente eles não têm ou conceder para os usuários em uma Conta da AWS acesso a recursos em outra conta. Também é possível permitir que uma aplicação móvel use recursos da AWS, mas sem incorporar chaves da AWS na aplicação (onde pode ser difícil atualizá-las e onde os usuários poderão potencialmente extraí-las). Às vezes, você deseja oferecer acesso à AWS a usuários que já têm identidades definidas fora da AWS, como no diretório corporativo. Você também pode conceder acesso à sua conta a terceiros, para que eles possam realizar uma auditoria em seus recursos.
Para esses cenários, você pode delegar acesso aos recursos da AWS usando uma função do IAM. Esta seção apresenta funções e as diferentes maneiras de usá-las, quando e como escolher essas abordagens e como criar, gerenciar, alternar para (ou assumir) e excluir funções.
nota
Quando você cria sua Conta da AWS, nenhum perfil é criado por padrão. Conforme você adiciona serviços à sua conta, eles podem adicionar perfis vinculados a serviços para dar suporte a seus casos de uso.
Um perfil vinculado ao serviço é um tipo de perfil de serviço vinculado a um AWS service (Serviço da AWS). O serviço pode presumir a função de executar uma ação em seu nome. Os perfis vinculados ao serviço aparecem em sua Conta da AWS e pertencem ao serviço. Um administrador do IAM pode visualizar, mas não editar as permissões para perfis vinculados ao serviço.
Para poder excluir esses perfis vinculados a serviços, você deve primeiro excluir os recursos relacionados a eles. Isso protege seus recursos do , pois você não pode remover por engano as permissões para acessar os recursos.
Para obter informações sobre quais serviços oferecem suporte a funções vinculadas a serviços, consulte Serviços da AWS que funcionam com o IAM e procure os serviços que têm Sim na coluna Função vinculada ao serviço. Escolha um Sim com um link para visualizar a documentação da função vinculada a esse serviço.
Tópicos
Quando criar um usuário do IAM (em vez de uma função)
Recomendamos usar somente usuários do IAM para casos de uso sem suporte para usuários federados. Alguns dos casos de uso incluem o seguinte:
-
Workloads que não podem usar perfis do IAM: você pode executar a workload de um local que precisa acessar a AWS. Em algumas situações, você não pode usar perfis do IAM para fornecer credenciais temporárias, como para plugins do WordPress. Nessas situações, use as chaves de acesso de longo prazo do usuário do IAM para que essa workload seja autenticada na AWS.
-
Clientes de terceiros da AWS: se você estiver usando ferramentas que não oferecem suporte ao acesso com o Centro de Identidade do IAM, como fornecedores ou clientes terceiros da AWS que não estão hospedados na AWS, use as chaves de acesso de longo prazo do usuário do IAM.
-
Acesso ao AWS CodeCommit: se você estiver usando o CodeCommit para armazenar seu código, poderá usar um usuário do IAM com chaves SSH ou credenciais específicas de serviço para que o CodeCommit seja autenticado em seus repositórios. Recomendamos fazer isso além de usar um usuário do IAM Identity Center para autenticação padrão. Os usuários do Centro de Identidade do IAM são as pessoas em sua força de trabalho que precisam acessar suas Contas da AWS ou suas aplicações na nuvem. Para dar aos usuários acesso aos seus repositórios do CodeCommit sem configurar os usuários do IAM, você pode configurar o utilitário git-remote-codecommit. Para obter mais informações sobre o IAM e o CodeCommit, consulte Credenciais do IAM para o CodeCommit: credenciais do Git, chaves SSH e chaves de acesso da AWS. Para obter mais informações sobre como configurar o utilitário git-remote-codecommit, consulte Conectar-se a repositórios do AWS CodeCommit credenciais alternadas, no Guia do usuário do AWS CodeCommit.
-
Acesso ao Amazon Keyspaces (para Apache Cassandra): em uma situação em que não é possível usar usuários no IAM Identity Center, como para fins de teste de compatibilidade com o Cassandra, você pode usar um usuário do IAM com credenciais específicas do serviço para a autenticação com o Amazon Keyspaces. Os usuários do Centro de Identidade do IAM são as pessoas em sua força de trabalho que precisam acessar suas Contas da AWS ou suas aplicações na nuvem. Você também pode se conectar ao Amazon Keyspaces usando credenciais temporárias. Para obter mais informações, consulte Using temporary credentials to connect to Amazon Keyspaces using an IAM role and the SigV4 plugin (Como usar credenciais temporárias para se conectar ao Amazon Keyspaces usando um perfil do IAM e o plug-in SigV4) no Guia do desenvolvedor do Amazon Keyspaces (para Apache Cassandra).
-
Acesso de emergência: em uma situação em que você não consegue acessar seu provedor de identidade e precisa tomar medidas em sua Conta da AWS. Estabelecer usuários do IAM com acesso emergencial pode fazer parte do plano de resiliência. Recomendamos que as credenciais do usuário de emergência sejam rigidamente controladas e protegidas por autenticação multifator (MFA).
Termos e conceitos das funções
Veja a seguir alguns termos básicos para começar a usar as funções.
- Função
-
Uma identidade do IAM que você pode criar em sua conta que tem permissões específicas. Uma função do IAM tem algumas semelhanças com um usuário do IAM. Funções e usuários são identidades da AWS com políticas de permissão que determinam o que a identidade pode e não pode fazer na AWS. No entanto, em vez de ser exclusivamente associada a uma pessoa, o propósito do perfil é ser assumido por qualquer pessoa que precisar dele. Além disso, um perfil não tem credenciais de longo prazo padrão associadas a ele, como senha ou chaves de acesso. Em vez disso, quando você assumir um perfil, ele fornecerá credenciais de segurança temporárias para sua sessão de perfil.
Os perfis podem ser usados pelas seguintes entidades:
-
Um usuário do IAM na mesma Conta da AWS ou em outra Conta da AWS
-
Perfis do IAM na mesma conta
-
Entidades principais de serviço, para uso com serviços e recursos da AWS como:
-
Serviços que permitem executar código em serviços de computação, como Amazon EC2 ou AWS Lambda
-
Atributos que executam ações em seus recursos em seu nome, como a replicação de objetos do Amazon S3
-
Serviços que fornecem credenciais de segurança temporárias para suas aplicações executadas fora da AWS, como IAM Roles Anywhere ou Amazon ECS Anywhere
-
-
Um usuário externo autenticado por um serviço de provedor de identidades (IdP) compatível com SAML 2.0 ou OpenID Connect
-
- Função de serviço da AWS
-
O perfil de serviço é um perfil do IAM que um serviço assume para realizar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para obter mais informações, consulte Criação de um perfil para delegar permissões a um AWS service (Serviço da AWS) no Guia do Usuário do IAM.
- Função vinculada ao serviço da AWS
-
Um perfil vinculado ao serviço é um tipo de perfil de serviço vinculado a um AWS service (Serviço da AWS). O serviço pode presumir a função de executar uma ação em seu nome. Os perfis vinculados ao serviço aparecem em sua Conta da AWS e pertencem ao serviço. Um administrador do IAM pode visualizar, mas não editar as permissões para perfis vinculados ao serviço.
nota
Se já estiver usando um serviço quando ele começar a oferecer suporte às funções vinculadas ao serviço, você poderá receber um e-mail informando sobre uma nova função na sua conta. Nesse caso, o serviço cria automaticamente a função vinculada ao serviço na sua conta. Você não precisa realizar nenhuma ação para oferecer suporte a essa função, e você não deve excluir manualmente. Para ter mais informações, consulte Uma nova função apareceu na minha conta da AWS.
Para obter informações sobre quais serviços oferecem suporte a funções vinculadas a serviços, consulte Serviços da AWS que funcionam com o IAM e procure os serviços que têm Sim na coluna Função vinculada ao serviço. Escolha um Sim com um link para visualizar a documentação da função vinculada a esse serviço. Para ter mais informações, consulte Criar um perfil vinculado ao serviço.
- Encadeamento de funções
-
O encadeamento de funções ocorre quando você usa uma função para assumir uma segunda função por meio da AWS CLI ou da API. Por exemplo, suponha que o
RoleA
tenha permissão para assumir oRoleB
. É possível permitir que o Usuário1 assuma oRoleA
usando as credenciais de usuário de longo prazo na operação da API AssumeRole. Esta operação retorna as credenciais de curto prazo doRoleA
. Para iniciar o encadeamento de funções, você pode usar as credenciais de curto prazo doRoleA
para permitir que o Usuário1 assuma oRoleB
.Ao assumir uma função, você pode passar uma tag de sessão e definir a tag como transitiva. As tags de sessão transitivas são passadas para todas as sessões subsequentes em uma cadeia de funções. Para saber mais sobre tags de sessão, consulte Passar tags de sessão no AWS STS.
O encadeamento de funções limita a sessão da função da AWS CLI ou da API da AWS em um máximo de uma hora. Ao usar a operação de API AssumeRole para assumir uma função, você pode especificar o tempo da sessão da sua função usando o parâmetro
DurationSeconds
. É possível especificar um valor de parâmetro de até 43200 segundos (12 horas), dependendo da configuração da duração máxima da sessão para seu perfil. No entanto, se você assumir uma função usando o encadeamento e fornecer um valor de parâmetroDurationSeconds
maior do que uma hora, a operação falhará. - Delegação
-
A concessão de permissões a alguém para permitir o acesso a recursos controlados por você. A delegação envolve estabelecer confiança entre duas contas. A primeira é a conta que possui o recurso (a conta de confiança). A segunda é a conta que contém os usuários que precisam acessar o recurso (a conta confiável). As contas confiável e de confiança podem ser qualquer uma das seguintes:
-
A mesma conta.
-
Contas separadas que estão sob controle da sua organização.
-
Duas contas pertencentes a organizações diferentes.
Para delegar permissão para acessar um recurso, você cria um perfil do IAM na conta de confiança com duas políticas anexadas. A política de permissões concede ao usuário da função as permissões necessárias para executar as tarefas pretendidas no recurso. A política de confiança especifica quais membros das contas confiáveis têm permissão para assumir a função.
Ao criar uma política de confiança, você não pode especificar um curinga (*) como parte de um ARN no elemento de entidade principal. A política de confiança é anexada à função na conta de confiança e equivale à metade das permissões. A outra metade é uma política de permissões anexada ao usuário na conta confiável que permite a ele alternar ou assumir a função. Um usuário que assume uma função temporariamente desiste de suas próprias permissões e, em vez disso, assume as permissões da função. Quando o usuário sai ou para de usar a função, as permissões originais do usuário são restauradas. Um parâmetro adicional chamado ID externo ajuda a garantir o uso seguro de funções entre contas que não são controladas pela mesma organização.
-
- Política de confiança
-
Um documento de política JSON no qual você define os principais nos quais você confia para assumir a função. Uma política de confiança da função é uma política com base em recurso necessária anexada a uma função no IAM. Os principais que podem ser especificados na política de confiança incluem usuários, funções, contas e serviços.
- Função para acesso entre contas
-
Uma função que concede o acesso a recursos em uma conta a uma entidade principal confiável em outra conta. Os perfis são a principal forma de conceder acesso entre contas. No entanto, alguns dos serviços da AWS permitem que você anexe uma política diretamente a um recurso (em vez de usar uma função como proxy). Essas políticas são chamadas de políticas baseadas em recursos, e você pode usá-las para conceder acesso ao recurso para entidades principais em outra Conta da AWS. Alguns desses recursos incluem buckets do Amazon Simple Storage Service (S3), cofres do S3 Glacier, tópicos do Amazon Simple Notification Service (SNS) e filas do Amazon Simple Queue Service (SQS). Para saber quais serviços oferecem suporte a políticas baseadas em recursos, consulte Serviços da AWS que funcionam com o IAM. Para obter mais informações sobre políticas baseadas em recursos, consulte Acesso a recursos entre contas no IAM.
Recursos adicionais
Os seguintes recursos podem ajudar você a saber mais sobre a terminologia do IAM relacionada a perfis do IAM.
-
Entidades principais são entidades na AWS que podem executar ações e acessar recursos. Uma entidade principal pode ser um Usuário raiz da conta da AWS, um usuário do IAM ou um perfil. Uma entidade principal que representa a identidade de um serviço da AWS é uma entidade principal de serviço. Use o elemento Principal nas políticas de confiança do perfil para definir as entidades principais em que você confia para assumir o perfil.
Para obter mais informações e exemplos de entidades principais que você pode permitir que assumam um perfil, consulte Elementos da política JSON da AWS:Principal.
-
A federação de identidades cria uma relação de confiança entre um provedor de identidades externo e a AWS. É possível usar seu provedor de OpenID Connect (OIDC) ou Security Assertion Markup Language (SAML) 2.0 existente para gerenciar quem pode acessar os recursos da AWS. Quando você usa o OIDC e o SAML 2.0 para configurar uma relação de confiança entre esses provedores de identidades externos e a AWS, o usuário é atribuído a um perfil do IAM. O usuário também recebe credenciais temporárias que permitem que ele acesse seus recursos da AWS.
Para obter mais informações sobre usuários federados, consulte Provedores de identidade e federação.
-
Os usuários federados são identidades existentes do AWS Directory Service, do diretório de usuário da sua empresa ou de um provedor OIDC. Eles são conhecidos como usuários federados. A AWS atribui uma função a um usuário federado quando o acesso é solicitado por meio de um provedor de identidades.
Para obter mais informações sobre usuários federados, consulte Usuários federados e funções.
-
As políticas de permissões são políticas baseadas em identidade que definem quais ações e recursos o perfil pode usar. O documento é criado de acordo com as regras da linguagem da política do IAM.
Para ter mais informações, consulte Referência de política JSON do IAM.
-
Os limites de permissões são um recurso avançado em que você usa políticas para limitar as permissões máximas que uma política baseada em identidade pode conceder a uma função. Você não pode aplicar um limite de permissões a uma função vinculada ao serviço.
Para ter mais informações, consulte Limites de permissões para entidades do IAM.