Información sobre las cuentas de servicio

Una cuenta de servicio es un tipo especial de cuenta de Google Cloud que permite que los componentes y las aplicaciones de un sistema interactúen entre sí y con otras APIs. Para obtener más información sobre Google Cloud, consulta el artículo Acerca de los servicios de Google Cloud.

Apigee hybrid usa cuentas de servicio de Google Cloud para llevar a cabo diversas tareas, entre las que se incluyen las siguientes:

  • Enviar datos de registro y métricas
  • Solicitudes de extracción de trazas
  • Conectarse a la pasarela de API para enviar solicitudes a la API administrativa
  • Ejecutar copias de seguridad
  • Descargar paquetes proxy

Aunque una cuenta de servicio podría realizar todas estas operaciones, en los entornos de producción, Apigee recomienda crear varias cuentas de servicio, cada una asignada a una tarea específica y con su propio conjunto de permisos. De esta forma, se mejora la seguridad al compartimentar el acceso y limitar el ámbito y los privilegios de acceso de cada cuenta de servicio. Al igual que con las cuentas de usuario, estos permisos se aplican asignando uno o varios roles a la cuenta de servicio.

Para que Apigee hybrid funcione correctamente, debes crear varias cuentas de servicio. Cada cuenta de servicio requiere uno o varios roles específicos que le permitan realizar su función.

En la siguiente tabla se describen las cuentas de servicio de los componentes híbridos. Los nombres que se asignan a cada cuenta de servicio son los predeterminados. Puedes usar los nombres que quieras, pero deben ser fáciles de identificar con el propósito de cada cuenta.

Componente* Rol ¿Es necesario para la instalación básica? Descripción
apigee-cassandra Administrador de objetos de Storage
roles/storage.objectAdmin
Permite crear copias de seguridad de Cassandra en Cloud Storage, tal como se describe en Copia de seguridad y recuperación.
apigee-distributed-trace Agente de Cloud Trace
roles/cloudtrace.agent
Permite que el plano de tiempo de ejecución híbrido participe en el análisis de trazas de solicitudes distribuidas en un formato compatible con sistemas como Google Cloud Trace y Jaeger.
apigee-logger Editor de registros
roles/logging.logWriter
Permite registrar la recogida de datos, tal como se describe en Registro. Solo es obligatorio para las instalaciones de clústeres que no sean de GKE.
apigee-mart Agente de conexión de Apigee
roles/apigeeconnect.Agent
Permite la autenticación del servicio MART. El rol de agente de Apigee Connect le permite comunicarse de forma segura con el proceso de Apigee Connect, tal como se describe en el artículo Usar Apigee Connect.
apigee-metrics Editor de métricas de monitorización
roles/monitoring.metricWriter
Permite recoger datos de métricas, tal como se describe en el artículo sobre la recogida de métricas.
apigee-synchronizer Administrador del sincronizador de Apigee
roles/apigee.synchronizerManager
Permite que el sincronizador descargue paquetes proxy y datos de configuración del entorno. También permite el funcionamiento de la función de seguimiento.
apigee-udca Agente de Analytics de Apigee
roles/apigee.analyticsAgent
Permite transferir datos de seguimiento, analíticas y estado de implementación al plano de gestión.
apigee-watcher Agente de entorno de ejecución de Apigee
roles/apigee.runtimeAgent
Apigee Watcher extrae los cambios relacionados con los hosts virtuales de una organización del sincronizador y hace los cambios necesarios para configurar el ingreso de Istio.
* Este nombre se usa en el nombre de archivo de la clave de cuenta de servicio descargada.

Como alternativa, en entornos de prueba, demostración y no productivos, puedes usar una sola cuenta de servicio con todos los roles asignados. No se recomienda para entornos de producción.

Componente* Rol ¿Es necesario para la instalación básica? Descripción
apigee-non-prod Agente de analíticas de Apigee, agente de conexión de Apigee, administrador de organización de Apigee, agente de entorno de ejecución de Apigee, administrador del sincronizador de Apigee, agente de Cloud Trace, escritor de registros, escritor de métricas de Monitoring y administrador de objetos de Storage O todos los SAs obligatorios anteriores Una sola cuenta de servicio para entornos de demostración o de prueba. Consulta el paso 5 de la parte 2 del artículo sobre cómo instalar la API: crear cuentas de servicio.

Además de crear las cuentas de servicio que se indican en esta tabla, utilizará las claves privadas de cada cuenta para generar tokens de acceso que le permitan acceder a las APIs de Apigee. La herramienta create-service-account descarga automáticamente los archivos de claves en un directorio de tu máquina local cuando crea o actualiza las cuentas de servicio.

Crear las cuentas de servicio

Hay varias formas de crear cuentas de servicio, entre las que se incluyen las siguientes:

Cada uno de ellos se describe en las siguientes secciones.

Usar la herramienta create-service-account

La herramienta create-service-account está disponible después de descargar y descomprimir apigeectl en el directorio tools/. Se trata de cuentas de servicio específicas de componentes híbridos y asigna los roles necesarios. La herramienta también descarga automáticamente las claves de la cuenta de servicio y las almacena en tu máquina local.

Por ejemplo, el siguiente comando creará todas las cuentas de servicio individuales de un entorno de producción, asignará los roles de IAM adecuados a cada cuenta de servicio y descargará el archivo de clave privada de cada cuenta en el directorio ./service-accounts:

./tools/create-service-account --env prod

El siguiente comando crea una cuenta de servicio llamada apigee-non-prod con todos los roles de gestión de identidades y accesos para todos los componentes híbridos. Es adecuada para entornos de demostración y de prueba, pero no para entornos de producción:

./tools/create-service-account --env non-prod

Para obtener más información sobre cómo usar create-service-account, consulta la referencia de create-service-account.

Usar la consola de Google Cloud

Puedes crear cuentas de servicio con la consola de Google Cloud.

Completa los siguientes pasos para cada cuenta de servicio que se indica en Cuentas de servicio y roles usados por componentes híbridos.

Para crear una cuenta de servicio con la consola de Google Cloud y generar una clave para la cuenta de servicio, haz lo siguiente:

  1. Crea una cuenta de servicio:

    1. En la consola de Cloud, ve a la página Cuentas de servicio.

      Ve a Cuentas de servicio

    2. Selecciona el proyecto.
    3. Haz clic en Crear cuenta de servicio.
    4. En el campo Nombre de cuenta de servicio, escribe un nombre. La consola de Cloud rellena el campo ID de cuenta de servicio en función de este nombre.

      Apigee recomienda que uses un nombre que refleje el rol de la cuenta de servicio. Puedes asignar a la cuenta de servicio el mismo nombre que el componente que la usa. Por ejemplo, asigna el nombre apigee-logger a la cuenta de servicio Escritor de registros.

      Para obtener más información sobre los nombres y los roles de las cuentas de servicio, consulta el artículo Cuentas de servicio y roles utilizados por los componentes híbridos.

    5. Opcional: En el campo Descripción de la cuenta de servicio, escribe una descripción para la cuenta de servicio. Las descripciones te ayudan a recordar para qué se usa una cuenta de servicio concreta.
    6. Haz clic en Crear y continuar.
    7. Haz clic en el campo Seleccionar un rol y elige un rol, tal como se describe en Cuentas de servicio y roles utilizados por componentes híbridos. Si los roles de Apigee no aparecen en la lista desplegable, actualiza la página.

      Por ejemplo, en el componente de registro, selecciona el rol Escritor de registros.

      Si es necesario, introduce texto para filtrar la lista de roles por nombre. Por ejemplo, para mostrar solo los roles de Apigee, introduce Apigee en el campo de filtro.

      Puedes añadir más de un rol a una cuenta de servicio, pero Apigee recomienda que solo uses un rol para cada una de las cuentas de servicio recomendadas. Para cambiar los roles de una cuenta de servicio después de crearla, usa la página IAM de la consola de Cloud.

    8. Haz clic en Hecho para terminar de crear la cuenta de servicio.

      No cierres la ventana del navegador. Lo usarás en el siguiente paso.

  2. Descarga una clave JSON de la cuenta de servicio que acabas de crear:

    1. En la consola de Cloud, haz clic en la dirección de correo de la cuenta de servicio que has creado.
    2. Haz clic en Teclas.
    3. Haz clic en Añadir clave y, a continuación, en Crear clave.
    4. Haz clic en Crear. Se descargará un archivo de clave JSON en tu ordenador.

      Asegúrate de almacenar el archivo de claves de forma segura, ya que se puede usar para autenticarte como tu cuenta de servicio. Puedes mover y cambiar el nombre de este archivo como quieras.

      Más adelante, usarás algunas de las claves de cuenta de servicio para configurar los servicios de tiempo de ejecución híbrido. Por ejemplo, al configurar el tiempo de ejecución híbrido, especificarás la ubicación de las claves de la cuenta de servicio mediante las propiedades SERVICE_NAME.serviceAccountPath.

      Las cuentas de servicio usan estas claves para obtener tokens de acceso, que luego utilizan para enviar solicitudes a las APIs de Apigee en tu nombre. (Pero eso no será hasta dentro de un tiempo. Por ahora, solo recuerda dónde lo has guardado).

    5. Haz clic en Cerrar.

Después de crear una cuenta de servicio, si quieres añadirle o quitarle un rol, debes usar la página IAM de la consola de Cloud. No puedes gestionar los roles de las cuentas de servicio en la vista Cuentas de servicio.

Usar las APIs de creación de cuentas de servicio de gcloud

Puedes crear y gestionar cuentas de servicio con la API Cloud Identity and Access Management.

Para obtener más información, consulta el artículo sobre cómo crear y gestionar cuentas de servicio.

Solución de problemas