Validación de la cuenta de servicio

Apigee Hybrid proporciona una validación que garantiza que la ubicación de las claves de tus cuentas de servicio sea correcta y que las cuentas tengan los permisos adecuados en tu proyecto de Google Cloud. Esta validación está habilitada de forma predeterminada.

En esta sección, se describe cómo habilitar o inhabilitar la validación de la cuenta de servicio. Además, este paso garantiza que tengas las API adecuadas habilitadas para tu proyecto de Google Cloud a fin de que la validación funcione.

Habilita la validación de permisos de las cuentas de servicio

Para habilitar la validación de permisos, haz lo siguiente:

  1. Asegúrate de que la API de Cloud Resource Manager esté habilitada para tu proyecto de Google Cloud:
    1. Abre la consola de Google Cloud y accede con la cuenta que creaste en el Paso 1: Crea una cuenta de Google Cloud.
    2. Selecciona el proyecto que creaste en el Paso 2: Crea un proyecto de Google Cloud.
    3. Selecciona API y servicios > Biblioteca.
    4. Busca “Cloud Resource Manager”.
    5. Ubica el servicio de la API de Cloud Resource Manager y haz clic en él.
    6. Si no está habilitada, haz clic en Habilitar.

    También puedes habilitar la API mediante gcloud:

    gcloud services enable cloudresourcemanager.googleapis.com --project GCP_project_ID
  2. En tu archivo de anulación, agrega la propiedad validateServiceAccounts y establécela en true. Por ejemplo:
    ...
    # Enables strict validation of service account permissions.
    validateServiceAccounts: true
    ...

Cuando la validación está habilitada, cada vez que apigeectl aplica los componentes del entorno de ejecución híbrido de Apigee a tu clúster, valida las claves de cuenta de servicio que se incluyen en tus anulaciones.

Solución de errores de validación

Si la validación falla, la implementación del entorno de ejecución se detiene y apigeectl finaliza. Para solucionar los problemas de errores de las cuentas de servicio, es útil saber que los permisos de validación verifican los permisos en este orden:

  1. Permiso en el ID del proyecto.
  2. Si falla la verificación de permisos en el proyecto, la validación continúa a fin de verificar el permiso según la política de IAM del entorno de Apigee (solo para UDCA y Synchronizer). Estas SA son alcances de entorno y los entornos admiten permisos más detallados.

    Para actualizar la política de IAM de un entorno específico, ve a la IU híbrida. Ve a Administrador > Entornos > Acceso.

Por ejemplo, el siguiente es un mensaje de error de una verificación de permisos con errores:

Invalid Metrics Service Account. Service Account
"apigee-metrics@hybrid-project.iam.gserviceaccount.com" is missing 1 or more required
permissions [monitoring.metricDescriptors.create monitoring.metricDescriptors.get monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.list monitoring.timeSeries.create].
Visit Service accounts and roles used by
hybrid components for more details on setting up Apigee hybrid service account permissions.

Para abordar este error, agrega las funciones necesarias a la cuenta de servicio. Para obtener información para crear y modificar cuentas de servicio, consulta Crea las cuentas de servicio. A fin de verificar los permisos necesarios para cada componente de Apigee Hybrid, consulta Funciones y cuentas de servicio que usan los componentes híbridos.

Inhabilita la validación de permisos

Para inhabilitar la validación de permisos de la cuenta de servicio, configura la propiedad validationServiceAccounts de tu archivo de anulaciones como false, como se muestra en el siguiente ejemplo:

...
# Enables strict validation of service account permissions.
validateServiceAccounts: false
...