Acerca de las cuentas de servicio

Una cuenta de servicio es un tipo especial de cuenta de Google Cloud que habilita a 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 Acerca de los servicios de Google Cloud.

La Apigee Hybrid usa cuentas de servicio de Google Cloud para realizar diversas tareas, incluidas las siguientes:

  • Enviar datos de registro y de métricas
  • Extraer solicitudes de seguimiento
  • Conectarse a la puerta de enlace de API para las solicitudes administrativas a la API
  • Ejecutar copias de seguridad
  • Descargar paquetes de proxy

Aunque una cuenta de servicio puede realizar todas estas operaciones, para 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. Esto mejora la seguridad mediante la compartimentación del acceso y la limitación de los privilegios de acceso y los permisos de cada cuenta de servicio. Al igual que con las cuentas de usuario, estos permisos se aplican mediante la asignación de una o más funciones a la cuenta de servicio.

Para operar de forma correcta, Apigee Hybrid requiere que crees varias cuentas de servicio. Cada cuenta de servicio requiere una o varias funciones específicas que le permitan realizar su función.

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

Componente* Función ¿Es necesario para la instalación básica? Descripción
apigee-cassandra Administrador de objetos de almacenamiento
roles/storage.objectAdmin
Permite copias de seguridad de Cassandra en Cloud Storage, como se describe en Copia de seguridad y recuperación.
apigee-logger Escritor de registros
roles/logging.logWriter
Permite la recopilación de datos de registro, como se describe en Logging. Solo se necesita para las instalaciones de clústeres que no sean de GKE.
apigee-mart Agente de Apigee Connect
roles/apigeeconnect.Agent
Permite la autenticación del servicio de MART. La función de agente de Apigee Connect se basa en que se comunica con el proceso de Apigee Connect de forma segura, como se describe en Usa Apigee Connect.
apigee-metrics Escritor de métricas de Monitoring
roles/monitoring.metricWriter
Permite la recopilación de datos de métricas, como se describe en la Descripción general de la recopilación de métricas.
apigee-runtime No se requiere una función Permite que el entorno de ejecución híbrido de Apigee se conecte a los servicios de Google y los servicios personalizados en Google Cloud, como Autenticación de Google, Google Cloud Trace y Jaeger.
apigee-synchronizer Administrador de Synchronizer de Apigee
roles/apigee.synchronizerManager
Permite que el sincronizador descargue paquetes de proxy y datos de configuración del entorno. También permite el funcionamiento de la función de seguimiento.
apigee-udca Agente de estadísticas de Apigee
roles/apigee.analyticsAgent
Permite la transferencia de datos de estado de implementación, estadísticas y seguimiento al plano de administración.
apigee-watcher Agente del entorno de ejecución de Apigee
roles/apigee.runtimeAgent
Apigee Watcher extrae cambios relacionados con los hosts virtuales de una organización desde el sincronizador y realiza los cambios necesarios para configurar la entrada de Istio.
* Este nombre se usa en el nombre de archivo de la clave de la cuenta de servicio que se descargó.

Como alternativa, para los entornos de no producción, prueba y demostración, puedes usar una sola cuenta de servicio con todas las funciones que se le asignaron. Esto no se recomienda para entornos de producción.

Componente* Función ¿Es necesario para la instalación básica? Descripción
apigee-non-prod Apigee Analytics Agent, Apigee Connect Agent, Apigee Organization Admin, Apigee Runtime Agent, Apigee Synchronizer Manager, Cloud Trace Agent, Logs Writer, Monitoring Metric Writer, Storage Object Admin O todas las AS requeridas que se mencionaron anteriormente Cuenta de servicio única para entornos de demostraciones o entornos de pruebas. Consulta Instala, Parte 2, Paso 5: Crea cuentas de servicio.

Además de crear las cuentas de servicio enumeradas en esta tabla, deberás usar las claves privadas de cada cuenta para generar tokens de acceso que te permitan acceder a las API de Apigee. La herramienta de 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.

Crea las cuentas de servicio

Existen varias formas de crear cuentas de servicio, incluidas las siguientes:

Cada una de ellas se describe en las siguientes secciones.

Usa la herramienta create-service-account

La herramienta de create-service-account está disponible después de descargar y expandir los charts de Helm de Apigee Hybrid. Puedes encontrar la herramienta de create-service-account en el siguiente directorio:

APIGEE_HELM_CHARTS_HOME/
└── apigee-operator/
    └── etc/
        └── tools/
            └── create-service-account

create-service-account crea las cuentas de servicio híbridas específicas de componentes y les asigna los roles necesarios. La herramienta también descarga automáticamente las claves de la cuenta de servicio y las almacena en la máquina local.

Por ejemplo, con el siguiente comando, se crearán todas las cuentas de servicio individuales para un entorno de producción, se asignarán las funciones de IAM apropiadas a cada cuenta de servicio y se descargará cada archivo de claves privadas al directorio ./service-accounts:

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

Con el siguiente comando, se crea una sola cuenta de servicio llamada apigee-non-prod con todos los roles de IAM para todos los componentes híbridos, adecuada para entornos de demostración y prueba, pero no para entornos de producción:

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

Para obtener más información sobre el uso de create-service-account, consulta la referencia sobre create-service-account .

Usa la consola de Google Cloud

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

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

  1. Crear una cuenta de servicio:

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

      Ir a Cuentas de servicio

    2. Selecciona tu proyecto.
    3. Haz clic en Crear cuenta de servicio.
    4. Ingresa un nombre en el campo Nombre de cuenta de servicio. >La consola de Cloud completa el campo ID de cuenta de servicio según este nombre.

      Apigee recomienda que uses un nombre que refleje la función de la cuenta de servicio. Puedes configurar el nombre de la cuenta de servicio con el fin de que sea el mismo nombre que el componente que la usa. Por ejemplo, configura el nombre de la cuenta de servicio de escritura de registros apigee-logger.

      Para obtener más información sobre los nombres y las funciones de las cuentas de servicio, consulta Cuentas de servicio y funciones que usan los componentes híbridos.

    5. Opcional: En el campo Descripción de la cuenta de servicio, ingresa una descripción para la cuenta de servicio. Las descripciones son útiles a fin de recordarte para qué se usa una cuenta de servicio específica.
    6. Haz clic en Crear y continuar.
    7. Haz clic en el campo Selecciona un rol y selecciona uno, como se describe en Cuentas de servicio y roles que usan los componentes híbridos. Si los roles de Apigee no aparecen en la lista desplegable, actualiza la página.

      Por ejemplo, para el componente de registro, selecciona la función de escritor de registros.

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

      Puedes agregar más de un rol a una cuenta de servicio, pero Apigee recomienda usar solo un rol para cada una de las cuentas de servicio recomendadas. Para cambiar las funciones de una cuenta de servicio después de crearla, usa la página de IAM en la consola de Cloud.

    8. Haga clic en Continuar.

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

      Campos para la función de usuarios de Cuentas de servicio y de Administrador de cuentas de servicio; botón para Crear clave

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

      Google Cloud te permite descargar una clave JSON o P12:

      Selecciona el tipo de clave JSON o P12

    10. 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, como se muestra en el siguiente ejemplo:

      Ejemplo de filename.json

      Más adelante, usarás algunas de las claves de la cuenta de servicio para configurar los servicios del entorno de ejecución híbrido. Por ejemplo, cuando configuras el entorno 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 la cuenta de servicio usa para realizar solicitudes en las API de Apigee. (Sin embargo, esto no sucederá hasta dentro de un momento; por ahora, solo recuerda dónde la guardaste).

    11. Repite los pasos 4 a 11 para cada cuenta de servicio enumerada en Cuentas de servicio y funciones usadas por componentes híbridos (excepto la cuenta apigee-mart, que no tiene una función asociada).

      Cuando termines, debes tener las siguientes cuentas de servicio (además de las predeterminadas, si corresponde):

      Lista de cuentas de servicio. Cuadro de selección de columna 1, correo electrónico de columna 2, estado de columna 3, nombre de cuenta de servicio de columna 4

      En la consola de Google Cloud, las cuentas de servicio se indican con el ícono tecla del lado izquierdo, rectángulo a la derecha, todo subrayado.

    Después de crear una cuenta de servicio, si deseas agregarle una función o quitarla, debes usar la vista IAM y administrador. No puedes administrar funciones para cuentas de servicio en la vista Cuentas de servicio.

    Usa las API de creación de cuentas de servicio de gcloud

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

    Para obtener más información, consulta Crea y administra cuentas de servicio.

    Soluciona problemas