Validar cuentas de servicio

Apigee hybrid proporciona una validación que asegura 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 cuentas de servicio. Además, este paso asegura que tengas las APIs adecuadas habilitadas en tu proyecto de Google Cloud para que la validación funcione.

Habilitar la validación de permisos de cuentas de servicio

Para habilitar la validación de permisos, sigue estos pasos:

  1. Asegúrate de que la API Cloud Resource Manager esté habilitada en tu proyecto de Google Cloud:
    1. Abre la consola de Google Cloud e inicia sesión con la cuenta que creaste en el paso 1: Crea una cuenta de Google Cloud.
    2. Selecciona el proyecto que has creado en el paso 2: Crea un proyecto de Google Cloud.
    3. Selecciona APIs y servicios > Biblioteca.
    4. Busca "Cloud Resource Manager".
    5. Busca el servicio 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 con gcloud:

    gcloud services enable cloudresourcemanager.googleapis.com --project GCP_PROJECT_ID
  2. En el archivo de anulaciones, añade la propiedad validateServiceAccounts y asigna el valor 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 tiempo de ejecución de Apigee hybrid a tu clúster, valida las claves de la cuenta de servicio que se incluyen en tu archivo de anulaciones.

Solucionar problemas de errores de validación

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

  1. Permiso en el ID del proyecto.
  2. (Solo para UDCA y Synchronizer) Si la comprobación de permisos del proyecto falla, la validación comprobará los permisos en la política de gestión de identidades y accesos del entorno de Apigee. Estos SAs tienen un ámbito de entorno y los entornos admiten permisos más detallados.

    Para actualizar la política de gestión de identidades y accesos de un entorno específico, ve a la interfaz de usuario híbrida. Ve a Administrar > Entornos > Acceso.

Por ejemplo, este es un mensaje de error que se muestra cuando no se puede comprobar un permiso:

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 solucionar este error, añade los roles necesarios a la cuenta de servicio. Para obtener información sobre cómo crear y modificar cuentas de servicio, consulta Crear las cuentas de servicio. Para consultar los permisos necesarios de cada componente de Apigee hybrid, consulta Cuentas de servicio y roles utilizados por los componentes híbridos.

Inhabilitar la validación de permisos

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

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