Credenciais de segurança da AWS - AWS Identity and Access Management

Credenciais de segurança da AWS

Ao interagir com a AWS, você especifica as credenciais de segurança da AWS para verificar quem você é e se tem permissão para acessar os recursos que está solicitando. A AWS usa as credenciais de segurança para autenticar e autorizar suas solicitações.

Por exemplo, se você quiser baixar um arquivo protegido de um bucket do Amazon Simple Storage Service (Amazon S3), suas credenciais devem permitir esse acesso. Se suas credenciais não mostram que você tem autorização para baixar o arquivo, a AWS nega sua solicitação. Porém, suas credenciais de segurança da AWS não são obrigatórias para baixar um arquivo em um bucket do Amazon S3 que seja compartilhado publicamente.

Há tipos diferentes de usuários na AWS. Todos os usuários da AWS têm credenciais de segurança. Há o proprietário da conta (usuário raiz), usuários no Centro de Identidade do AWS IAM, os usuários federados e os usuários do IAM.

Os usuários têm credenciais de segurança temporárias ou de longo prazo. O usuário raiz, o usuário do IAM e as chaves de acesso têm credenciais de segurança de longo prazo que não expiram. Para proteger as credenciais de longo prazo, tenha processos em vigor para gerenciar chaves de acesso, alterar senhas e habilitar a MFA.

Perfis do IAM, usuários no Centro de Identidade do AWS IAM e usuários federados têm credenciais de segurança temporárias. As credenciais de segurança temporárias expiram após um período definido ou quando o usuário encerra a sessão. As credenciais temporárias funcionam quase de forma idêntica às credenciais de longo prazo, com as seguintes diferenças:

  • As credenciais de segurança temporárias são de curto prazo, como o nome indica. Elas podem ser configuradas para durar de alguns minutos a várias horas. Depois que as credenciais expiram, a AWS não as reconhece mais ou permite qualquer tipo de acesso de solicitações de API feitas com elas.

  • As credenciais de segurança temporárias não são armazenadas com o usuário, mas são geradas dinamicamente e fornecidas ao usuário quando solicitadas. Quando (ou até mesmo antes) as credenciais de segurança temporárias expiram, o usuário pode solicitar novas credenciais, desde que o usuário solicitante ainda tenha permissões para fazê-lo.

Como resultado, as credenciais temporárias apresentam as seguintes vantagens em relação às credenciais de longo prazo:

  • Você não tem que distribuir ou incorporar credenciais de segurança da AWS de longo prazo com um aplicativo.

  • Você pode fornecer acesso aos seus recursos da AWS para os usuários sem a necessidade de definir uma identidade da AWS para eles. As credenciais temporárias são a base para funções e federação de identidades.

  • As credenciais de segurança temporárias têm vida limitada. Portanto, não é necessário atualizá-las ou explicitamente revogá-las quando elas não forem mais necessárias. Quando as credenciais de segurança temporárias expiram, elas não podem ser reutilizadas. Você pode especificar por quanto tempo as credenciais são válidas, até um limite máximo.

Considerações sobre segurança

Recomendamos considerar as seguintes informações ao determinar as provisões de segurança para sua Conta da AWS:

  • Quando você cria uma Conta da AWS, nós criamos a conta de usuário raiz. As credenciais do usuário raiz (proprietário da conta) permitem acesso total a todos os recursos da conta. A primeira tarefa que você executa com o usuário raiz é conceder a outro usuário permissões administrativas para sua Conta da AWS para minimizar o uso do usuário raiz.

  • Não é possível usar as políticas do IAM para negar explicitamente ao usuário raiz o acesso aos recursos. Só é possível usar uma política de controle de serviços (SCP) do AWS Organizations para limitar as permissões do usuário raiz.

  • Caso esqueça ou perca sua senha de usuário raiz, você deverá ter acesso ao endereço de e-mail associado à conta para redefini-la.

  • Caso perca suas chaves de acesso de usuário raiz, você deverá conseguir fazer login na conta como usuário raiz para criar novas.

  • Não use o usuário raiz para tarefas cotidianas. Use para executar as tarefas que somente o usuário raiz pode executar. Para obter a lista completa das tarefas que exigem fazer login como usuário raiz, consulte Tarefas que exigem credenciais de usuário raiz.

  • As credenciais de segurança são específicas para cada conta. Se tiver acesso a várias Contas da AWS, você terá credenciais separadas para cada conta.

  • As políticas determinam quais ações um usuário, um perfil ou o membro de um grupo de usuários pode executar, em quais recursos da AWS e em quais condições. Ao usar políticas, você pode controlar com segurança o acesso a Serviços da AWS e recursos em sua Conta da AWS. Se precisar modificar ou revogar as permissões em resposta a um evento de segurança, exclua ou modifique as políticas em vez de fazer alterações diretamente na identidade.

  • Salve as credenciais de login de seu usuário do IAM de acesso de emergência e todas as chaves de acesso que você criou para acesso programático em um local seguro. Caso perca suas chaves de acesso, você deverá fazer login na conta para criar novas.

  • É altamente recomendável usar credenciais temporárias fornecidas por perfis do IAM e usuários federados em vez das credenciais de longo prazo fornecidas por usuários do IAM e chaves de acesso.

Identidade federada

As identidades federadas são usuários com identidades externas que recebem credenciais temporárias da AWS que podem ser usadas para acessar recursos seguros da Conta da AWS. As identidades externas podem vir de um armazenamento de identidades corporativas (como LDAP ou Windows Active Directory) ou de terceiros (como Login with Amazon, Facebook ou Google). As identidades federadas não fazem login no AWS Management Console ou no portal de acesso da AWS.

Para permitir que identidades federadas façam login na AWS, é necessário criar um URL personalizado que contenha https://signin.aws.amazon.com/federation. Para obter mais informações, consulte Habilitar o acesso do agente de identidades personalizado ao console da AWS.

Para obter mais informações sobre identidades federadas, consulte Provedores de identidade e federação.

Autenticação multifator (MFA)

A autenticação multifator (MFA) fornece um nível adicional de segurança para usuários que podem acessar sua Conta da AWS. Para reforçar a segurança, recomendamos que você exija a MFA nas credenciais de Usuário raiz da conta da AWS e em todos os usuários do IAM. Para obter mais informações, consulte Uso de autenticação multifator (MFA) na AWS.

Quando você ativa o MFA e faz login em sua Conta da AWS, são solicitadas suas credenciais de login, além de uma resposta gerada por um dispositivo com MFA, como um código, um toque ou uma verificação biométrica. Quando você adiciona o MFA, as configurações e os recursos de sua Conta da AWS ficam mais protegidos.

Por padrão, o MFA não é ativado. Você pode ativar e gerenciar dispositivos com MFA para o Usuário raiz da conta da AWS acessando a página Credenciais de segurança ou o painel do IAM no AWS Management Console. Para obter mais informações sobre como ativar a MFA para usuários do IAM, consulte Habilitar dispositivos com MFA para usuários na AWS.

Para obter mais informações sobre como fazer login com dispositivos com autenticação multifator (MFA), consulte Uso de dispositivos com MFA com sua página de login do IAM.

Acesso programático

Você fornece suas chaves de acesso da AWS para fazer chamadas programáticas para a AWS ou usar a AWS Command Line Interface ou o AWS Tools for PowerShell. Recomendamos usar chaves de acesso de curto prazo quando possível.

Ao criar uma chave de acesso de longo prazo, você cria o ID de chave de acesso (por exemplo, AKIAIOSFODNN7EXAMPLE) e a chave de acesso secreta (por exemplo, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY) como um conjunto. A chave de acesso secreta só está disponível para baixar no momento em que é criada. Se não fizer download da chave de acesso secreta ou perdê-la, você deverá criar uma nova.

Em muitos casos, você não precisa de chaves de acesso de longo prazo que nunca expiram (como é necessário ao criar chaves de acesso para um usuário do IAM). Em vez disso, você pode criar perfis do IAM e gerar credenciais de segurança temporárias. As credenciais de segurança temporárias incluem um ID da chave de acesso e uma chave de acesso secreta, mas também incluem um token de segurança que indica quando as credenciais expiram. Depois que expiram, não são mais válidas.

Os IDs da chave de acesso que começam com AKIA são chaves de acesso de longo prazo para um usuário do IAM ou um usuário raiz da Conta da AWS. Os IDs de chave de acesso que começam com ASIA são chaves de acesso temporárias que você cria usando operações do AWS STS.

Os usuários precisam de acesso programático se quiserem interagir com a AWS de fora do AWS Management Console. A forma de conceder acesso programático depende do tipo de usuário que está acessando a AWS.

Para conceder acesso programático aos usuários, escolha uma das seguintes opções:

Qual usuário precisa de acesso programático? Para Por

Identificação da força de trabalho

(Usuários gerenciados no Centro de Identidade do IAM)

Use credenciais temporárias para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS.

Siga as instruções da interface que deseja utilizar.

IAM Use credenciais temporárias para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS. Siga as instruções em Como usar credenciais temporárias com recursos da AWS no Guia do usuário do IAM.
IAM

(Não recomendado)

Use credenciais de longo prazo para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS.

Siga as instruções da interface que deseja utilizar.

Alternativas para chaves de acesso de longo prazo

Para muitos casos de uso comuns, há alternativas às chaves de acesso de longo prazo. Para melhorar a segurança de sua conta, considere as instruções a seguir.

  • Não incorpore chaves de acesso de longo prazo e chaves de acesso secretas ao código de sua aplicação ou a um repositório de código: em vez disso, use o AWS Secrets Manager ou outra solução de gerenciamento de segredos para não precisar codificar chaves em texto não criptografado. A aplicação ou o cliente pode então recuperar segredos quando necessário. Para obter mais informações, consulte O que é o AWS Secrets Manager? no Guia do usuário do AWS Secrets Manager.

  • Use perfis do IAM para gerar credenciais de segurança temporárias sempre que possível: use sempre mecanismos para emitir credenciais de segurança temporárias quando possível, em vez de chaves de acesso de longo prazo. As credenciais de segurança temporárias são mais seguras porque não são armazenadas com o usuário, mas são geradas dinamicamente e fornecidas ao usuário quando solicitadas. Como as credenciais de segurança temporárias têm uma vida útil limitada, não é necessário gerenciá-las ou atualizá-las. Os mecanismos que fornecem chaves de acesso temporárias incluem perfis do IAM ou a autenticação de um usuário do Centro de Identidade do IAM. Para máquinas que funcionam fora da AWS, você pode usar o AWS Identity and Access Management Roles Anywhere.

  • Use alternativas às chaves de acesso de longo prazo para a AWS Command Line Interface (AWS CLI) ou aws-shell: as alternativas incluem as opções a seguir.

    • O AWS CloudShell é um shell pré-autenticado que você pode iniciar diretamente do AWS Management Console. Você pode executar comandos da AWS CLI em Serviços da AWS usando o shell de sua preferência (Bash, Powershell ou Z shell). Ao fazer isso, você não precisa baixar nem instalar ferramentas de linha de comando. Para obter mais informações, consulte O que é o AWS CloudShell? no Guia do usuário do AWS CloudShell.

    • Integração com a AWS CLI versão 2 com o AWS IAM Identity Center (Centro de Identidade do IAM). É possível autenticar usuários e fornecer credenciais de curto prazo para executar comandos da AWS CLI. Para saber mais, consulte Integrar a AWS CLI com o Centro de Identidade IAM no Guia do usuário do AWS IAM Identity Center e Configurar a AWS CLI para usar o Centro de Identidade do IAM no Guia do usuário da AWS Command Line Interface.

  • Não crie chaves de acesso de longo prazo para usuários humanos que precisam acessar aplicações ou Serviços da AWS: o Centro de Identidade do IAM pode gerar credenciais de acesso temporárias para que seus usuários de IdP externo acessem os Serviços da AWS. Isso elimina a necessidade de criar e gerenciar credenciais de longo prazo no IAM. No Centro de Identidade do IAM, crie um conjunto de permissões do Centro de Identidade IAM que conceda acesso aos usuários de IdP externo. Em seguida, atribua um grupo do Centro de Identidade IAM ao conjunto de permissões nas Contas da AWS selecionadas. Para obter mais informações, consulte O que é o AWS IAM Identity Center, Conectar-se a um provedor de identidades externo e Conjuntos de permissões no Guia do usuário do AWS IAM Identity Center.

  • Não armazene chaves de acesso de longo prazo em um serviço de computação da AWS: em vez disso, atribua um perfil do IAM aos recursos de computação. Isso automaticamente fornece credenciais temporárias para conceder acesso. Por exemplo, ao criar um perfil de instância que esteja anexado a uma instância do Amazon EC2, você pode atribuir um perfil da AWS à instância e disponibilizá-la para todas as suas aplicações. Um perfil de instância contém o perfil e permite que programas que estejam em execução na instância do Amazon EC2 obtenham credenciais temporárias. Para saber mais, consulte Uso de um perfil do IAM para conceder permissões a aplicações em execução em instâncias do Amazon EC2.

Acessar a AWS usando suas credenciais da AWS

A AWS exige diferentes tipos de credenciais de segurança, dependendo de como você acessa a AWS e do tipo de usuário da AWS que você é. Por exemplo, você usa credenciais de login para o AWS Management Console e usa chaves de acesso para fazer chamadas programáticas para a AWS. Além disso, toda identidade que você usar, podendo ser o usuário raiz da conta, um usuário do AWS Identity and Access Management (IAM), um usuário do AWS IAM Identity Center ou uma identidade federada, terá credenciais exclusivas na AWS.

Para obter instruções detalhadas sobre como fazer login na AWS de acordo com seu tipo de usuário, consulte Como fazer login na AWS no Guia do usuário do AWS Sign-In.