Preferência de credenciais do agente do CloudWatch - Amazon CloudWatch

Preferência de credenciais do agente do CloudWatch

Esta seção descreve a cadeia de provedores de credenciais que o agente do CloudWatch usa para obter as credenciais ao se comunicar com outros serviços e APIs da AWS. A ordenação é a seguinte:

nota

As preferências listadas nos números dois a cinco seguem a mesma ordem de preferência conforme definido no AWS SDK. Para obter mais informações, consulte Specifying Credentials na documentação do SDK.

  1. Arquivos de configuração e de credenciais compartilhados conforme definido no arquivo common-config.toml do agente CloudWatch. Para ter mais informações, consulte (Opcional) Modificar a configuração comum para informações de proxy ou região.

  2. Variáveis ​​de ambiente do AWS SDK.

    Importante

    No Linux, se você executar o agente do CloudWatch usando o script amazon-cloudwatch-agent-ctl, o script iniciará o agente como um serviço systemd. Nesse caso, variáveis de ambiente como HOME, AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY não podem ser acessadas pelo agente.

  3. Arquivos de configuração e de credenciais compartilhados encontrados em $HOME/%USERPROFILE%.

    nota

    O agente do CloudWatch procura .aws/credentials em $HOME para os sistemas Linux e MacOS e procura em %USERPROFILE% para o sistema Windows. Ao contrário do AWS SDK, o agente do CloudWatch não tem métodos alternativos para determinar o diretório inicial se as variáveis ​​de ambiente estiverem inacessíveis. Essa diferença de comportamento visa manter a compatibilidade retroativa com implementações anteriores do AWS SDK.

    Além disso, ao contrário das credenciais compartilhadas encontradas em common-config.toml, se as credenciais compartilhadas derivadas do AWS SDK expirarem e forem alternadas, as credenciais renovadas não serão obtidas automaticamente pelo agente do CloudWatch e exigirão uma reinicialização do agente para fazer isso.

  4. Um perfil do AWS Identity and Access Management para tarefas, se houver uma aplicação que usa uma definição de tarefa do Amazon Elastic Container Service ou uma operação de API RunTask.

  5. Um perfil de instância anexado a uma instância do Amazon EC2.

Como prática recomendada, sugerimos especificar as credenciais na ordem apresentada a seguir ao usar o agente do CloudWatch.

  1. Use perfis do IAM para tarefas se sua aplicação usar uma definição de tarefa do Amazon Elastic Container Service ou uma operação de API RunTask.

  2. Use perfis do IAM se sua aplicação for executada em uma instância do Amazon EC2.

  3. Use o arquivo common-config.toml do agente do CloudWatch para especificar o arquivo de credenciais. Esse arquivo de credenciais é o mesmo usado por outros AWS SDKs e pela AWS CLI. Se já estiver usando um arquivo de credenciais compartilhadas, também poderá usá-lo para essa finalidade. Se você fornecê-lo ao usar o arquivo common-config.toml do agente do CloudWatch, garantirá que o agente consumirá credenciais rotacionadas quando elas expirarem e forem substituídas sem a necessidade de reiniciar o agente.

  4. Use variáveis ​​de ambiente. Definir variáveis ​​de ambiente é útil se você estiver realizando um trabalho de desenvolvimento em um computador que não seja uma instância do Amazon EC2.

nota

Se você enviar telemetria para uma conta diferente, conforme explicado em Envio de métricas, logs e rastreamentos a uma conta diferente, o agente do CloudWatch usará a cadeia de provedores de credenciais descrita nesta seção para obter o conjunto inicial de credenciais. Em seguida, ele usa essas credenciais ao assumir o perfil do IAM especificado por role_arn no arquivo de configuração do agente do CloudWatch.