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.

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, Apigee recomienda que crees 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:

Componente* Rol ¿Es necesario para la instalación básica? Descripción
apigee-cassandra Administrador de objetos de Storage Permite crear copias de seguridad de Cassandra en Google Cloud Storage, tal como se describe en Copia de seguridad y recuperación.
apigee-logger Escritor de registros 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 Sin rol Permite la autenticación del servicio MART. Esta cuenta de servicio no debe tener ningún rol asociado. Por lo tanto, cuando crees esta cuenta de servicio, no le asignes ningún rol.
apigee-metrics Escritor de las métricas de supervisión Permite la recogida de datos de métricas, tal como se describe en Recogida de métricas.
apigee-org-admin Administrador de organización de Apigee Te permite llamar a las APIs getSyncAuthorization y setSyncAuthorization. No puedes crear esta cuenta de servicio con la herramienta create-service-account.
apigee-synchronizer Administrador del sincronizador de Apigee 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 Permite transferir datos de seguimiento, analíticas y estado de implementación al plano de gestión.
* Este nombre se usa en el nombre de archivo de la clave de cuenta de servicio descargada.

Además de crear las cuentas de servicio que se indican en esta tabla, también debes descargar sus claves privadas. Más adelante, usarás estas claves para generar tokens de acceso que te permitan acceder a las APIs de Apigee.

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 de creación de cuentas de servicio

La herramienta create-service-account (disponible después de descargar y expandir apigeectl) crea cuentas de servicio específicas de componentes híbridos y te 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 en el directorio especificado.

Para crear cuentas de servicio con la herramienta create-service-account, haz lo siguiente:

  1. Descarga y descomprime apigeectl (si aún no lo has hecho), tal como se describe en Descargar e instalar apigeectl.
  2. Crea un directorio para almacenar las claves de tu cuenta de servicio. Por ejemplo:
    mkdir ./service-accounts
  3. Ejecuta estos comandos:
    ./tools/create-service-account apigee-metrics ./service-accounts
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts

    Estos comandos crean la mayoría de las cuentas necesarias y almacenan sus claves en el directorio ./service-accounts. Estos comandos no crean la cuenta de servicio apigee-org-admin.

    Si estos comandos fallan, asegúrate de haber hecho referencia a un directorio en el que almacenar los archivos de clave.

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

  4. Crea la cuenta de servicio apigee-org-admin. Para ello, usa la consola de Google Cloud.

Usar la consola de Google Cloud

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

Para crear cuentas de servicio con la consola de Google Cloud, sigue estos pasos:

  1. Abre la consola de Google Cloud e inicia sesión con la cuenta de usuario 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 IAM y administración > Cuentas de servicio.

    La consola muestra la vista Cuentas de servicio. En esta vista se muestra una lista de las cuentas de servicio del proyecto. En la mayoría de los casos, aún no habrá ninguna cuenta en la lista, aunque puede que haya cuentas de servicio predeterminadas, en función de cómo hayas creado el proyecto.

  4. Para crear una cuenta de servicio, haz clic en +Crear cuenta de servicio en la parte superior de la vista.

    Se muestra la vista Detalles de la cuenta de servicio.

  5. En el campo Nombre de cuenta de servicio, introduce el nombre de la cuenta de servicio.

    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.

    Cuando escribas un nombre, Google Cloud generará un ID de cuenta de servicio único, que tendrá la estructura de una dirección de correo, como se muestra en el siguiente ejemplo:

    Ejemplo de ID de apigee-logger@hybrid-42.iam.gserviceaccount.com

    También puedes añadir una descripción en el campo Descripción de la cuenta de servicio. Las descripciones te ayudan a recordar para qué se usa una cuenta de servicio concreta.

  6. Haz clic en Crear.

    Google Cloud crea una cuenta de servicio y muestra la vista Permisos de cuenta de servicio, como se muestra en el siguiente ejemplo:

    Crear una cuenta de servicio sin permisos seleccionados

    Usa esta vista para asignar un rol a la nueva cuenta de servicio.

  7. Haz clic en la lista desplegable Seleccionar un rol.
  8. Selecciona el rol de la cuenta de servicio, tal como se describe en Cuentas de servicio y roles usados 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 enumerar solo los roles de Apigee, introduce "Apigee" en el campo de filtro, como se muestra en el siguiente ejemplo:

    Lista de permisos de cuenta de servicio que coinciden con Apigee

    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 el panel IAM y administración de Google Cloud.

  9. Haz clic en Continuar.

    Google Cloud muestra la vista Conceder a los usuarios acceso a esta cuenta de servicio:

    Campos de los roles Usuario de cuenta de servicio y Administrador de cuenta de servicio, y botón para crear una clave

  10. En Crear clave (opcional), haz clic en Crear clave.

    Google Cloud te ofrece la opción de descargar una clave JSON o P12:

    Seleccionar el tipo de clave JSON o P12

  11. Selecciona JSON (opción predeterminada) y haz clic en Crear.

    Google Cloud guarda el archivo de claves en formato JSON en tu máquina local y muestra una confirmación cuando se completa correctamente, como se muestra en el siguiente ejemplo:

    Ejemplo de archivo filename.json

    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).

  12. Repite los pasos del 4 al 11 para cada cuenta de servicio que se indica en Cuentas de servicio y roles usados por componentes híbridos (excepto la cuenta apigee-mart, que no tiene ningún rol asociado, por lo que no debes asignarle ningún rol).

    Cuando hayas terminado, deberías tener las siguientes cuentas de servicio (además de las predeterminadas, si las hay):

    Lista de cuentas de servicio. Casilla de selección de la columna 1, columna 2 (Correo electrónico), columna 3 (Estado) y columna 4 (Nombre de la cuenta de servicio)

    En la consola de Google Cloud, las cuentas de servicio se indican con un icono .

Después de crear una cuenta de servicio, si quieres añadirle o quitarle un rol, debes usar la vista IAM y administración. 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