Preferenza per le credenziali dell'agente CloudWatch - Amazon CloudWatch

Preferenza per le credenziali dell'agente CloudWatch

Questa sezione descrive la catena di provider di credenziali utilizzata dall'agente CloudWatch per ottenere le credenziali quando comunica con altri servizi e API AWS, L'ordinamento è il seguente:

Nota

Le preferenze elencate nei numeri da due a cinque sono dello stesso ordine di preferenze definito nell'SDK AWS. Per ulteriori informazioni, consulta Specifying Credentials nella documentazione dell'SDK.

  1. File di configurazione e credenziali condivisi come definiti nel file dell'agente CloudWatch common-config.toml. Per ulteriori informazioni, consulta Installazione dell'agente CloudWatch tramite AWS Systems Manager.

  2. Variabili di ambiente degli SDK AWS

    Importante

    Su Linux, se si esegue l'agente CloudWatch utilizzando lo script amazon-cloudwatch-agent-ctl, lo script avvia l'agente come servizio systemd. In questo caso, le variabili di ambiente come HOME, AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY non sono accessibili dall'agente.

  3. File di configurazione e credenziali condivisi presenti in $HOME/%USERPROFILE%

    Nota

    L'agente CloudWatch cerca .aws/credentials in $HOME per Linux e macOS e in %USERPROFILE% per Windows. A differenza dell'SDK AWS, l'agente CloudWatch non dispone di metodi di fallback per determinare la home directory se le variabili di ambiente sono inaccessibili. Questa differenza di comportamento serve a mantenere la retrocompatibilità con le implementazioni precedenti dell'SDK AWS.

    Inoltre, a differenza delle credenziali condivise presenti in common-config.toml, se le credenziali condivise derivate dall'SDK AWS scadono e vengono ruotate, le credenziali rinnovate non vengono raccolte automaticamente dall'agente CloudWatch, ma è necessario il riavvio dell'agente.

  4. Un ruolo AWS Identity and Access Management per le attività se è presente un'applicazione che utilizza una definizione di attività di Amazon Elastic Container Service o un'operazione API RunTask.

  5. Collegare un profilo dell'istanza a un'istanza Amazon EC2

Come best practice, si consiglia di specificare le credenziali nell'ordine seguente quando si utilizza l'agente CloudWatch.

  1. Usa i ruoli IAM per le attività se la tua applicazione utilizza una definizione di attività di Amazon Elastic Container Service o un'operazione API RunTask.

  2. Usa i ruoli IAM se la tua applicazione viene eseguita su un'istanza Amazon EC2.

  3. Utilizza il file common-config.toml dell'agente CloudWatch per specificare il file delle credenziali. Questo file delle credenziali è lo stesso utilizzato da altri SDK AWS e dalla AWS CLI. Se stai già utilizzando un file di credenziali condiviso, puoi utilizzare anche tale file per questo scopo. Se lo fornisci utilizzando il file common-config.toml dell'agente CloudWatch, ti assicuri che l'agente utilizzi le credenziali ruotate quando scadono e vengano sostituite senza richiedere il riavvio dell'agente.

  4. Usa le variabili di ambiente. L'impostazione di variabili di ambiente è utile se si sta eseguendo il lavoro di sviluppo su un computer diverso da un'istanza Amazon EC2.

Nota

Se invii telemetria a un altro account come spiegato in Invio di parametri, log e tracce a un altro account, l'agente CloudWatch utilizza la catena di provider di credenziali descritta in questa sezione per ottenere il set iniziale di credenziali. Utilizza quindi tali credenziali quando assume il ruolo IAM specificato da role_arn nel file di configurazione dell'agente CloudWatch.