Usuários do IAM - AWS Identity and Access Management

Usuários do IAM

Importante

As práticas recomendadas do IAM aconselham exigir que os usuários humanos usem a federação com um provedor de identidades para acessar a AWS usando credenciais temporárias em vez de usuários do IAM com credenciais de longo prazo.

Um usuário do AWS Identity and Access Management (IAM) é uma entidade que você cria na AWS. O usuário do IAM representa o usuário humano ou a workload que utiliza o usuário do IAM para interagir com a AWS. Um usuário na AWS consiste em um nome e credenciais.

Um usuário do IAM com permissões de administrador não é o mesmo que um Usuário raiz da conta da AWS. Para obter mais informações sobre o usuário raiz, consulte Usuário raiz da conta da AWS.

Como a AWS identifica um usuário do IAM

Quando você cria um usuário do IAM, o IAM cria as seguintes maneiras de identificar esse usuário:

  • Um "nome amigável" para o usuário do IAM, que é o nome que você especificou ao criar esse usuário, como Richard ou Anaya. Esses são os nomes que você vê no AWS Management Console.

  • Um nome de recurso da Amazon (ARN) para o usuário do IAM. Você usa o ARN quando precisa identificar exclusivamente esse usuário do IAM em toda a AWS. Por exemplo, você pode usar um ARN para especificar o usuário do IAM como uma Principal em uma política do IAM para um bucket do Amazon S3. Um ARN para um usuário do IAM pode se parecer com o seguinte:

    arn:aws:iam::account-ID-without-hyphens:user/Richard

  • Um identificador exclusivo para o usuário do IAM. Esse ID é retornado somente quando você usa a API, o Tools for Windows PowerShell ou a AWS CLI para criar o usuário do IAM. Ele não está visível no console.

Para obter mais informações sobre esses identificadores, consulte Identificadores do IAM.

Usuários do IAM e credenciais

Você pode acessar a AWS de diferentes maneiras dependendo das credenciais do usuário do IAM:

  • Senha do console: uma senha que o usuário do IAM pode digitar para fazer login em sessões interativas, como o AWS Management Console. Desabilitar a senha (acesso ao console) de um usuário do IAM impede que ele faça login no AWS Management Console usando suas credenciais de login. Isso não altera as permissões do usuário nem o impede de acessar o console usando uma função assumida.

  • Chaves de acesso: usadas para fazer chamadas programáticas para a AWS. Porém, existem alternativas mais seguras a serem consideradas antes de criar chaves de acesso para usuários do IAM. Para obter mais informações, consulte Considerações e alternativas para chaves de acesso de longo prazo na Referência geral da AWS. Se o usuário do IAM tiver chaves de acesso ativas, elas continuarão funcionando e permitirão o acesso por meio da AWS CLI, do Tools for Windows PowerShell, da API da AWS ou do AWS Console Mobile Application.

  • Chaves SSH para uso com CodeCommit: uma chave SSH pública no formato OpenSSH que pode ser usada para autenticação com CodeCommit.

  • Certificados de servidor: Certificados SSL/TLS que você pode usar para autenticar com alguns serviços da AWS. Recomendamos que você use o AWS Certificate Manager (ACM) para provisionar, gerenciar e implantar seus certificados de servidor. Use o IAM apenas quando precisar oferecer suporte a conexões HTTPS em uma região que não seja compatível com o ACM. Para saber quais regiões são compatíveis com o ACM, consulte Cotas e endpoints do AWS Certificate Manager na Referência geral da AWS.

Você pode escolher as credenciais certas para o seu usuário do IAM. Quando você usa o AWS Management Console para criar um usuário do IAM, é necessário pelo menos incluir uma senha ou chaves de acesso para o console. Por padrão, um novo usuário do IAM criado usando a AWS CLI ou a API da AWS não tem nenhum tipo de credencial. Você deve criar o tipo de credencial para um usuário do IAM com base na seu caso de uso.

Você tem as seguintes opções para administrar senhas, chaves de acesso e dispositivos com senhas, chaves de acesso e dispositivos de autenticação multifator (MFA):

  • Gerenciar senhas para seus usuários do IAM. Crie e altere as senhas que permitem acesso ao AWS Management Console. Definir uma política de senha para impor uma complexidade mínima para a senha. Permitir que os usuários troquem suas próprias senhas.

  • Gerenciar chaves de acesso para seus usuários do IAM. Criar e atualizar as chaves de acesso para acesso programático aos recursos na sua conta.

  • Habilite a autenticação multifator (MFA) para o usuário do IAM. Como prática recomendada, recomendamos exigir a autenticação multifator de todos os usuários do IAM na sua conta. Com a MFA, os usuários precisam fornecer duas formas de identificação: primeiro, eles fornecem as credenciais que fazem parte de sua identidade de usuário (uma senha ou uma chave de acesso). Além disso, eles fornecem um código numérico temporário que é gerado em um dispositivo de hardware ou por uma aplicação em um smartphone ou tablet.

  • Localizar senhas e chaves de acesso não utilizadas. Qualquer pessoa que tenha uma senha ou chaves de acesso da sua conta ou de um usuário do IAM em sua conta terá acesso aos seus recursos da AWS. As melhores práticas de segurança são remover senhas e chaves de acesso quando os usuários não precisam mais delas.

  • Fazer download de um relatório de credenciais para sua conta. Você pode gerar e baixar um relatório de credenciais que lista todos os usuários do IAM em sua conta e o status de diversas credenciais deles, incluindo senhas, chaves de acesso e dispositivos com MFA. Em caso de senhas e chaves de acesso, o relatório de credenciais mostra quando uma senha ou chave de acesso foi usada recentemente.

Usuários do IAM e permissões

Por padrão, um novo usuário do IAM não tem permissões para fazer nada. Ele não está autorizado a executar nenhuma operação da AWS ou a acessar qualquer recurso da AWS. Uma vantagem de ter usuários do IAM individuais é que você pode atribuir permissões individualmente para cada usuário. Você pode atribuir permissões administrativas para alguns usuários que, por sua vez, podem administrar seus recursos da AWS e até mesmo criar e gerenciar outros usuários do IAM. Na maioria dos casos, entretanto, você deseja limitar as permissões de um usuário apenas às tarefas (ações ou operações da AWS) e aos recursos necessários para o trabalho.

Imagine um usuário chamado Diego. Ao criar o usuário do IAM Diego, você cria uma senha para ele e anexa permissões que permitem que ele execute determinada instância do Amazon EC2 e leia (GET) informações de uma tabela em um banco de dados do Amazon RDS. Para os procedimentos sobre como criar usuários e conceder as credenciais e permissões iniciais, consulte Criar um usuário do IAM na sua Conta da AWS. Para obter os procedimentos sobre como alterar as permissões para usuários existentes, consulte Alteração de permissões de um usuário do IAM. Para obter os procedimentos sobre como alterar a senha ou chaves de acesso do usuário, consulte Gerenciar senhas de usuários na AWS e Gerenciamento de chaves de acesso de usuários do IAM.

Você também pode adicionar um limite de permissões para seus usuários do IAM. Um limite de permissões é um recurso avançado que permite usar políticas gerenciadas da AWS para limitar as permissões máximas que uma política com base em identidade pode conceder a um usuário ou perfil do IAM. Para obter mais informações sobre os tipos e os usos de políticas, consulte Políticas e permissões no IAM.

Usuários do IAM e contas

Cada usuário do IAM está associado a uma única Conta da AWS. Como os usuários da IAM são definidos na sua Conta da AWS, não precisam ter um método de pagamento registrado na AWS. Qualquer atividade da AWS executada pelos usuários do IAM na sua conta é cobrada na sua conta.

O número e o tamanho dos recursos do IAM em uma conta da AWS são limitados. Para obter mais informações, consulte IAM e cotas do AWS STS.

Usuários do IAM como contas de serviço

Um usuário do IAM é um recurso no IAM que tem credenciais e permissões associadas. Um usuário do IAM pode representar uma pessoa ou uma aplicação que usa credenciais para fazer solicitações da AWS. Isso é geralmente chamado de conta de serviço. Se você optar por usar as credenciais de longo prazo de um usuário do IAM em sua aplicação, não incorpore chaves de acesso diretamente no código da aplicação. Os SDKs da AWS a AWS Command Line Interface permitem que você coloque as chaves de acesso em locais conhecidos, para que não seja necessário mantê-las em código. Para obter mais informações, consulte Gerenciar chaves de acesso de usuários do IAM corretamente na Referência geral da AWS. Como alternativa, e como uma prática recomendada, você pode usar credenciais de segurança temporárias (funções do IAM), em vez de chaves de acesso de longo prazo.