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.
Funciones y cuentas de servicio que usan los componentes híbridos
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* | Rol | ¿Es necesario para la instalación básica? | Descripción |
---|---|---|---|
apigee-cassandra |
Administrador de objetos de almacenamientoroles/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 registrosroles/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 Connectroles/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 Monitoringroles/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 Apigeeroles/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 Apigeeroles/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 Apigeeroles/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* | Rol | ¿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:
-
Crear una cuenta de servicio:
-
En la consola de Cloud, ve a la página Cuentas de servicio.
- Selecciona tu proyecto.
- Haz clic en Crear cuenta de servicio.
-
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.
- 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.
- Haz clic en Crear y continuar.
-
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.
- Haga clic en Continuar.
Google Cloud muestra la vista Otorga a los usuarios acceso a esta cuenta de servicio:
- En Crear clave (opcional), haz clic en Crear clave.
Google Cloud te permite descargar una clave JSON o P12:
- 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:
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).
- 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):
En la consola de Google Cloud, las cuentas de servicio se indican con el ícono .
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
-