Autoriser un agent

Ce guide décrit comment installer les identifiants de clé privée pour votre compte de service sur une instance de machine virtuelle (VM) afin d'autoriser les agents Stackdriver Logging et Monitoring.

Lisez ce guide si l'un des cas suivants s'applique à vous :

  • Vous savez que vous devez installer ces identifiants. Par exemple, vous utilisez une instance de VM Amazon EC2.

  • Vous pensez que les identifiants actuellement présents sur votre instance de VM ne sont pas valides, et vous souhaitez les remplacer par d'autres qui fonctionneront.

Vous pouvez vérifier l'étendue 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 la sortie 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.

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.

Suivez les étapes ci-dessous pour autoriser les agents Stackdriver Logging et Monitoring sur une instance de VM :

  1. Créez un compte de service avec les privilèges et les identifiants de clé privée requis dans le projet GCP associé à votre instance de VM. Pour les instances de VM Amazon EC2, il s'agit du projet AWS Link créé pour vous par Stackdriver lorsque vous connectez votre compte AWS.

  2. Copiez 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. Installez ou redémarrez 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 GCP, par opposition à un utilisateur spécifique. Les comptes de service peuvent être utilisés pour l'authentification, quel que soit l'endroit où s'exécute le code (localement, sur Compute Engine, sur App Engine, sur site, etc.). Pour en savoir plus, consultez la section Présentation de l'authentification.

Pour créer un compte de service, suivez les instructions de la section Créer un compte de service. Dans le menu déroulant Rôle, sélectionnez les deux rôles suivants :

  • Logging > Rédacteur de journaux. L'agent Stackdriver Logging est ainsi autorisé.
  • Monitoring > Rédacteur de statistiques de surveillance. L'agent Stackdriver Monitoring est ainsi autorisé. L'ajout de ce rôle vous permet d'utiliser le compte de service pour exécuter les deux agents Stackdriver.

Dans les instructions suivantes, et par mesure de simplicité, définissez la variable CREDS de sorte qu'elle désigne le fichier d'identifiants sur votre poste de travail. Exemple :

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

Copier la clé privée sur l'instance

Pour que les nouveaux identifiants de compte de service soient reconnus, copiez le fichier de clé privée à l'aide de l'outil de votre choix à l'un des emplacements suivants sur votre instance de VM :

  • Linux uniquement : /etc/google/auth/application_default_credentials.json
  • Windows uniquement : C:\ProgramData\Google\Auth\application_default_credentials.json
  • Linux ou 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. Lors de l'étape précédente (Créer un compte de service), vos identifiants de clé privée devraient avoir été enregistrés sur votre poste de travail, à un emplacement que vous avez défini dans la variable CREDS.

Compute Engine

Sur votre poste de travail, utilisez l'outil de ligne de commande gcloud. Vous pouvez trouver [YOUR-INSTANCE-NAME] et [YOUR-INSTANCE-ZONE] dans la console GCP de la page Instances de VM :

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"

Amazon EC2

Sur votre poste de travail, utilisez scp :

KEY="[YOUR-SSH-KEY-PAIR-FILE]"
INSTANCE="ec2-[YOUR-INSTANCE'S-PUBLIC-ID.[YOUR-ZONE].compute.amazonaws.com"
# The remote user depends on the installed OS: ec2-user, ubuntu, root, etc.
REMOTE_USER="ec2-user"
scp -i "$KEY" "$CREDS" "$REMOTE_USER@$INSTANCE:~/temp.json"

Sur votre instance EC2, exécutez ces commandes :

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 ne l'avez pas encore fait, revenez à la page d'installation de l'agent et installez-le. Consultez la page Installer l'agent Logging 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.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Stackdriver Logging
Besoin d'aide ? Consultez notre page d'assistance.