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, uma função destina-se a ser assumida por qualquer pessoa que precisar. Além disso, uma função não tem credenciais de longo prazo padrão, como uma senha ou chaves de acesso, associadas a ela. Em vez disso, quando você assumir uma função, ela fornece credenciais de segurança temporárias para sua sessão de função.

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

  • Um usuário do IAM na mesma conta da AWS do que a função

  • Um usuário do IAM em uma conta da AWS diferente da função

  • 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

Função que um serviço assume para realizar ações em seu nome na sua conta. Ao configurar alguns ambientes de serviço da AWS, você deve definir uma função a ser assumida pelo serviço. Essa função de serviço deve incluir todas as permissões necessárias para o serviço acessar os recursos da AWS de que precisa. As funções de serviço variam de acordo com o serviço, mas muitas permitem que você escolha as permissões, desde que atenda aos requisitos documentados para esse serviço. As funções de serviço fornecem acesso apenas dentro de sua conta e não podem ser usadas para conceder acesso a serviços em outras contas. Você pode criar, modificar e excluir uma função de serviço no IAM.

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

Um tipo especial de função de serviço que um aplicativo 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 Usar uma função do IAM para conceder permissões às aplicações em execução nas instâncias do Amazon EC2.

Função vinculada ao serviço da AWS

Tipo exclusivo de função de serviço que é vinculada diretamente a um serviço da AWS. As funções vinculadas a serviços são predefinidas pelo serviço e incluem todas as permissões que o serviço requer para chamar outros serviços da AWS em seu nome. O serviço vinculado também define como criar, modificar e excluir uma função vinculada a serviço. Um serviço pode criar ou excluir a função automaticamente. Ele pode permitir que você crie, modifique ou exclua a função como parte de um assistente ou processo no serviço. Ou pode exigir que você use o IAM para criar ou excluir a função. Independente do método, as funções vinculadas a serviço facilitam a configuração de um serviço, pois você não precisa adicionar as permissões necessárias manualmente.

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 obter 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 compatíveis 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 exibir a documentação da função vinculada a serviço desse serviço. Se o serviço não incluir documentação para criar, modificar ou excluir a função vinculada ao serviço, você poderá usar o console do IAM a AWS CLI ou a API. Para obter mais informações, consulte Uso de funções vinculadas a 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 User1 tenha permissão para assumir a RoleA e RoleB. Além disso, RoleA tem permissão para assumir RoleB. Você pode assumir RoleA usando as credenciais de usuário de longo prazo do User1 na operação de API AssumeRole. Esta operação retorna as credenciais de curto prazo da RoleA. Para iniciar o encadeamento de funções, você pode usar as credenciais de curto prazo da RoleA para assumir a 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.

Quando você cria uma política de confiança, não pode especificar um caractere curinga (*) como 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 de identidade da web, por exemplo, Login with Amazon, Facebook, Google ou qualquer IdP compatível com 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 de identidades da Web. 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 no Guia do usuário do IAM.

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 recursos 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 obter 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 uma função. 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ê fizer referência a uma conta da AWS como entidade principal, geralmente significa qualquer entidade principal definida nessa conta.

nota

Você não pode usar o caractere curinga (*) no elemento Principal na política de confiança de uma função.

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. As funções 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 políticas baseadas em recursos, e você pode usá-las para conceder a entidades principais em outra conta da AWS o acesso ao recurso. 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 compatíveis com o IAM. Para obter mais informações sobre políticas baseadas em recursos, consulte Como as funções do IAM diferem de políticas baseadas em recursos.