

# Preferência de credenciais do agente do CloudWatch
<a name="CloudWatch-Agent-Credentials-Preference"></a>

 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](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#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 obter mais informações, consulte [Instalar o agente do CloudWatch usando o AWS Systems Manager](installing-cloudwatch-agent-ssm.md).

1. 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.

1. 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.

1. 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.

1. 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.

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

1. 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.

1. 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](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-send-to-different-AWS-account), 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. 