Acesso programático com credenciais de segurança da AWS - AWS Identity and Access Management

Acesso programático com credenciais de segurança da AWS

Recomendamos usar chaves de acesso de curto prazo quando possível para fazer chamadas programáticas para a AWS ou usar a AWS Command Line Interface ou o AWS Tools for PowerShell. No entanto, você também pode usar chaves de acesso da AWS de longo prazo para essas finalidades.

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. Para ter mais informações, consulte Alternativas para chaves de acesso de longo prazo.

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, selecione 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.