Autoriser l'agent

Ce guide explique comment installer des identifiants de clé privée pour un compte de service sur une instance de machine virtuelle (VM) afin d'autoriser l'agent Ops. Avant d'installer l'agent, vérifiez que l'instance de VM possède les identifiants dont il a besoin. L'agent doit être autorisé à envoyer des informations à Logging. L'autorisation est accordée d'après les identifiants de compte de service stockés sur l'instance de VM et servant d'identifiants par défaut de l'application pour l'agent.

Avant de commencer

Vous pouvez vérifier le champ d'application de vos autorisations sur Compute Engine à l'aide de la commande suivante :

curl --silent --connect-timeout 1 -f -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/scopes

Recherchez dans le résultat le champ d'application d'une ou de plusieurs des autorisations suivantes :

https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/logging.admin
https://www.googleapis.com/auth/monitoring.write
https://www.googleapis.com/auth/monitoring.admin
https://www.googleapis.com/auth/cloud-platform

Ajouter des identifiants

L'autorisation fait référence au processus permettant de déterminer les autorisations dont dispose un client authentifié sur un ensemble de ressources.

L'autorisation de l'agent Ops sur une instance de VM implique les étapes suivantes :

  1. Créer un compte de service avec les privilèges et les identifiants de clé privée requis dans le projet Google Cloud associé à votre instance de VM.

  2. Copier les identifiants de clé privée sur votre instance de VM, où ils serviront d'identifiants par défaut de l'application pour les logiciels exécutés sur votre instance.

  3. Installer ou redémarrer l'agent.

Créer un compte de service

L'authentification fait référence au processus permettant de déterminer l'identité d'un client. Pour l'authentification, nous vous recommandons d'utiliser un compte de service, c'est-à-dire un compte Google associé à votre projet Google Cloud, plutôt qu'un utilisateur spécifique. Vous pouvez utiliser des comptes de service pour l'authentification, peu importe où le code s'exécute (sur Compute Engine, sur App Engine ou sur site). Pour plus d'informations, consultez la page Présentation de l'authentification.

Pour créer un compte de service, exécutez les procédures décrites à la section Créer un compte de service avec les informations suivantes :

  • Sélectionnez le projet Google Cloud dans lequel vous souhaitez créer le compte de service.

    • Pour les instances Compute Engine, sélectionnez le projet dans lequel vous avez créé l'instance.

  • Dans le menu déroulant Rôle, sélectionnez les rôles suivants :

    • Monitoring > Monitoring Metric Writer (Monitoring > Rédacteur de métriques de surveillance).

    • Logging > Logs Writer (Logging > Rédacteur de journaux).

  • Lors de la création de la clé, sélectionnez JSON comme type de clé.

Pour plus de commodité, vous pouvez créer la variable CREDS pour pointer vers le fichier d'identifiants de votre poste de travail. Exemple :

    CREDS="~/Downloads/[PROJECT-NAME]-[KEY-ID].json"

Il est fait référence à cette variable dans la suite de ces procédures.

Copier la clé privée sur l'instance

Après avoir créé le compte de service, vous devez copier le fichier de clé privée dans l'un des emplacements suivants de votre instance de VM afin que l'agent puisse reconnaître les identifiants. Vous pouvez utiliser n'importe quel outil de copie de fichier.

  • Linux uniquement : /etc/google/auth/application_default_credentials.json

  • Windows uniquement : C:\ProgramData\Google\Auth\application_default_credentials.json

  • Linux et Windows : n'importe quel emplacement stocké dans la variable GOOGLE_APPLICATION_CREDENTIALS, laquelle doit être visible par le processus de l'agent

Dans les instructions de copie de fichier suivantes, nous supposons que vous disposez d'un environnement Linux sur votre poste de travail et sur votre instance. Si vous utilisez un environnement différent, consultez la documentation de votre fournisseur cloud pour savoir comment copier le fichier de clé privée. À l'étape précédente (Créer un compte de service), vos identifiants de clé privée doivent avoir été stockés sur votre poste de travail, à un emplacement que vous avez enregistré dans la variable CREDS :

Compute Engine

Sur votre poste de travail, utilisez l'outil de ligne de commande gcloud. Les informations [YOUR-INSTANCE-NAME] et [YOUR-INSTANCE-ZONE] sont disponibles sur la page Instances de VM de Google Cloud Console :

REMOTE_USER="$USER"
INSTANCE="[YOUR-INSTANCE-NAME]"
ZONE="[YOUR-INSTANCE-ZONE]"
gcloud compute scp "$CREDS" "$REMOTE_USER@$INSTANCE:~/temp.json" --zone "$ZONE"

Sur votre instance Compute Engine, exécutez les commandes suivantes :

GOOGLE_APPLICATION_CREDENTIALS="/etc/google/auth/application_default_credentials.json"
sudo mkdir -p /etc/google/auth
sudo mv "$HOME/temp.json" "$GOOGLE_APPLICATION_CREDENTIALS"
sudo chown root:root "$GOOGLE_APPLICATION_CREDENTIALS"
sudo chmod 0400 "$GOOGLE_APPLICATION_CREDENTIALS"

Étapes suivantes

L'instance de VM contient désormais les identifiants dont l'agent a besoin.

  • Si vous n'avez pas encore installé l'agent, accédez à la page d'installation et installez-le. Consultez la page Installer l'agent pour connaître la marche à suivre.

  • Si vous l'avez déjà installé, redémarrez-le pour pouvoir utiliser les nouveaux identifiants. Consultez la section Redémarrer l'agent pour connaître la marche à suivre.

  • Si vous souhaitez vérifier les identifiants, consultez la section Vérifier les identifiants de clé privée.