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 API. Para obtener más información sobre Google Cloud, consulta Acerca de los servicios de Google Cloud.

La nube híbrida 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, 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:

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-distributed-trace Agente de Cloud Trace
roles/cloudtrace.agent
Permite que el plano del entorno de ejecución híbrido participe en el seguimiento de solicitudes distribuidas en un formato compatible con sistemas como Google Cloud Trace y Jaeger.
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-org-admin Administrador de la organización de Apigee
roles/apigee.admin
Te permite llamar a la API de getSyncAuthorization y a la API de setSyncAuthorization. Debido a que el administrador de la organización de Apigee es una función externa del plano de entorno de ejecución, no puedes asignar esta función a la cuenta de servicio con la herramienta de create-service-account.
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ó.

Además de crear las cuentas de servicio enumeradas en esta tabla, también puedes descargar sus claves privadas. Más adelante, usarás estas claves con el fin de generar tokens de acceso para poder acceder a las API de Apigee.

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

La herramienta de create-service-account (disponible después de descargar y expandir apigeectl) crea cuentas de servicio híbridas específicas de componentes y les asigna las funciones que solicitaste. La herramienta también descarga las claves de la cuenta de servicio automáticamente y las almacena en tu máquina local en el directorio especificado.

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

  1. Descarga y expande apigeectl (si aún no lo hiciste), como se describe en Descarga y, luego, instala apigeectl.
  2. Crea un directorio para almacenar las claves de la cuenta de servicio. Por ejemplo:
    mkdir ./service-accounts
  3. Ejecuta los siguientes comandos:
    ./tools/create-service-account apigee-metrics ./service-accounts
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-distributed-trace ./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

    Mediante estos comandos, se crean la mayoría de las cuentas requeridas y se almacenan sus claves en el directorio ./service-accounts.

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

    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.

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

  1. Abre la consola de Google Cloud y accede con la cuenta de usuario que creaste en el Paso 1: Crea una cuenta de Google Cloud.
  2. Selecciona el proyecto que creaste en el Paso 2: Crea un proyecto de Google Cloud.
  3. Selecciona IAM y administrador > Cuenta de servicio.

    Console 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 se mostrarán cuentas todavía, aunque pueden haber cuentas de servicio predeterminadas en la lista, según la forma en que creaste el proyecto.

  4. Para crear una cuenta de servicio nueva, haz clic en + Crear cuenta de servicio (+ Create Service Account) en la parte superior de la vista.

    Aparecerá la vista Detalles de la cuenta de servicio (Service account details).

  5. En el campo Nombre de la cuenta de servicio (Service account name), ingresa el nombre de la cuenta de servicio.

    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.

    Cuando ingresas un nombre, Google Cloud genera un ID de cuenta de servicio único, que se estructura como una dirección de correo electrónico, como se muestra en el siguiente ejemplo:

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

    De forma opcional, puedes agregar una descripción en el campo Descripción de la cuenta de servicio. Las descripciones son útiles a fin de recordarte para qué se usa una cuenta de servicio específica.

  6. Haga clic en Crear.

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

    Crea cuenta de servicio sin permisos seleccionados

    Usa esta vista para asignar una función a tu cuenta de servicio nueva.

  7. Haz clic en la lista desplegable Seleccionar una función.
  8. Selecciona la función para la cuenta de servicio, como se describe en Cuentas de servicio y funciones que usan los componentes híbridos. Si las funciones 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 las funciones de Apigee, ingresa Apigee en el campo del filtro, como se muestra en el siguiente ejemplo:

    Lista de permisos de cuentas de servicio que coinciden con Apigee

    Puedes agregar más de una función a una cuenta de servicio, pero Apigee recomienda que solo uses una función para cada una de las cuentas de servicio recomendadas. Para cambiar las funciones de una cuenta de servicio después de crearla, usa el panel de IAM y administración en Google Cloud.

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

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

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

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