Termos e conceitos das funções - AWS Identity and Access Management

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.

As funções podem ser usadas pelas seguintes entidades:

  • Um usuário do IAM na mesma Conta da AWS que o perfil

  • Um usuário do IAM em uma Conta da AWS diferente do perfil

  • Um serviço da Web oferecido pela AWS, como o Amazon Elastic Compute Cloud (Amazon EC2)

  • Um usuário externo autenticado por um serviço de provedor de identidade (IdP) compatível com SAML 2.0 ou OpenID Connect ou um identity broker personalizado.

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 Criar um perfil para delegar permissões a um AWS service (Serviço da AWS) no Guia do usuário do IAM.

AWS Função de serviço da para uma instância do EC2

Um tipo especial de função de serviço que uma aplicação em execução em uma instância do Amazon EC2 pode assumir para executar ações em sua conta. Essa função é atribuída à instância do EC2 ao ser executada. Os aplicativos em execução nessa instância podem recuperar credenciais de segurança temporárias e realizar ações que a função permitir. Para obter detalhes sobre o uso de uma função de serviço para uma instância do EC2, consulte Uso de uma função do IAM para conceder permissões a aplicações em execução em instâncias do Amazon EC2.

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 assumir a função de executar uma ação em seu nome. As funções vinculadas ao serviço aparecem em sua Conta da AWS e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não pode 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 do perfil vinculado a esse serviço. Para ter mais informações, consulte Usar funções vinculadas 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 o RoleB. Você pode permitir que o Usuário1 assuma o RoleA usando as credenciais de usuário de longo prazo na operação da API AssumeRole. Esta operação retorna as credenciais de curto prazo do RoleA. Para iniciar o encadeamento de funções, você pode usar as credenciais de curto prazo do RoleA para permitir que o Usuário1 assuma o RoleB.

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. Você pode 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 sua função. No entanto, se você assumir uma função usando o encadeamento e fornecer um valor de parâmetro DurationSeconds maior do que uma hora, a operação falhará.

A AWS não trata o uso de funções para conceder permissões a aplicativos executados em instâncias do EC2 como encadeamento de funções.

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

Federação

A criação de uma relação de confiança entre um provedor de identidade externo e a AWS. Os usuários podem fazer login em um provedor OIDC, como Login with Amazon, Facebook, Google ou qualquer IdP compatível com o OpenID Connect (OIDC). Os usuários também podem fazer login em um sistema de identidade empresarial que seja compatível com Security Assertion Markup Language (SAML) 2.0, como o Microsoft Active Directory Federation Services. Quando você usa o OIDC e o SAML 2.0 para configurar uma relação de confiança entre esses provedores de identidade externos e a AWS, o usuário é atribuído a uma função do IAM. O usuário também recebe credenciais temporárias que permitem que ele acesse seus recursos da AWS.

Usuário federado

Em vez de criar um usuário do IAM, você pode usar 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.

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.

Política de permissões

Um documento de permissões no formato JSON no qual você define quais ações e recursos a função pode usar. O documento é criado de acordo com as regras da linguagem da política do IAM.

Limite de permissões

Um recurso avançado no qual 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.

Principal

Entidade na AWS que pode 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. Você pode conceder permissões para acessar um recurso de uma das seguintes formas:

  • Você pode anexar uma política de permissões a um usuário (diretamente ou indiretamente por meio de um grupo) ou a uma função.

  • Para os serviços que dão suporte a políticas baseadas em recursos, você pode identificar as entidades principais no elemento Principal de uma política anexada ao recurso.

Se você faz referência a uma Conta da AWS como entidade principal, geralmente significa qualquer entidade principal definida nessa conta.

nota

Não é possível usar um curinga (*) para fazer a correspondência de parte de um nome de entidade principal ou ARN em uma política de confiança de função. Para obter detalhes, consulte Elementos da política JSON da AWS:Principal.

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.