Autorizar el agente

En esta guía, se explica cómo instalar las credenciales de cuenta de servicio de clave privada en una instancia de VM para autorizar al agente de operaciones. Antes de instalar el agente, verifica que tu instancia de VM tenga las credenciales que el agente necesita. El agente debe tener permiso para enviar información a Logging. El permiso se otorga mediante el uso de credenciales de cuenta de servicio que se almacenan en tu instancia de VM y sirven como credenciales predeterminadas de la aplicación para el agente.

Antes de comenzar

Puedes verificar los alcances de tu autorización en Compute Engine con el siguiente comando:

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

Busca uno o más de los siguientes alcances de autorización en el resultado:

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

Agrega credenciales

La autorización hace referencia al proceso de determinar qué permisos tiene un cliente autenticado sobre un conjunto de recursos.

Para autorizar al agente de operaciones en una instancia de VM, se deben seguir los siguientes pasos:

  1. Crea una cuenta de servicio con los privilegios y las credenciales de clave privada necesarias en el proyecto de Google Cloud asociado a tu instancia de VM.

  2. Copia las credenciales de clave privada a tu instancia de VM, en la que sirven como Credenciales predeterminadas de la aplicación para el software que se ejecuta en tu instancia.

  3. Instala o reinicia el agente.

Crea una cuenta de servicio

La autenticación hace referencia al proceso de determinar la identidad de un cliente. Para la autenticación, te recomendamos usar una cuenta de servicio: una Cuenta de Google que esté asociada a tu proyecto de Google Cloud, en contraposición a un usuario específico. Puedes usar cuentas de servicio para la autenticación sin importar dónde se ejecute tu código: en Compute Engine, App Engine o de forma local. Lee Descripción general de la autenticación para obtener más información.

Para crear una cuenta de servicio, completa los procedimientos que se indican en Crea una cuenta de servicio con la siguiente información:

  • Selecciona el proyecto de Google Cloud en el que deseas crear la cuenta de servicio:

    • Para las instancias de Compute Engine, elige el proyecto en el que creaste la instancia.

  • En el menú desplegable Función, selecciona las siguientes funciones:

    • Monitoring > Escritor de métricas de Monitoring.

    • Logging > Escritor de registros.

  • Cuando crees la clave, selecciona JSON como el Tipo de clave.

Para tu comodidad, puedes crear la variable CREDS con el fin de apuntar al archivo de credenciales en tu estación de trabajo. Por ejemplo:

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

El resto de estos procedimientos hacen referencia a esa variable.

Copia la clave privada a tu instancia

Después de crear la cuenta de servicio, debes copiar el archivo de claves privadas en una de las siguientes ubicaciones de tu instancia de VM para que el agente pueda reconocer las credenciales. Puedes usar cualquier herramienta de copia de archivo que desees.

  • Solo en Linux: /etc/google/auth/application_default_credentials.json

  • Solo en Windows: C:\ProgramData\Google\Auth\application_default_credentials.json

  • En Linux y Windows: cualquier ubicación que almacenes en la variable GOOGLE_APPLICATION_CREDENTIALS. La variable debe ser visible para el proceso del agente.

En las siguientes instrucciones de copia de archivo, se da por sentado que tienes un entorno de Linux tanto en tu estación de trabajo como en tu instancia. Si usas un entorno diferente, consulta la documentación de tu proveedor de servicios en la nube para saber cómo copiar el archivo de claves privadas. En el paso anterior, Crea una cuenta de servicio, tus credenciales de claves privadas se deberían haber almacenado en tu estación de trabajo en una ubicación que guardaste en la variable CREDS:

Compute Engine

En tu estación de trabajo, usa la herramienta de línea de comandos de gcloud. Puedes encontrar [YOUR-INSTANCE-NAME] y [YOUR-INSTANCE-ZONE] en Google Cloud Console en la página Instancias de VM:

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

En tu instancia de Compute Engine, ejecuta estos comandos:

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"

Próximos pasos

Tu instancia de VM ahora tiene las credenciales que el agente necesita.