- v1.16 (última)
- v1.15
- v1.14
- Lista de versiones admitidas
- v1.13
- v1.12
- v1.11
- v1.10
- v1.9
- v1.8
- v1.7
- Versión 1.6
- v1.5
- Versión 1.4
- Versión 1.3
- v1.2
- v1.1
Versiones compatibles:
Versiones no compatibles:
Descripción general de create-service-account
create-service-account es una herramienta de línea de comandos proporcionada con Apigee Hybrid que crea cuentas de servicio de Google Cloud con roles que permiten que los componentes híbridos individuales de Apigee realicen llamadas a la API autorizadas y descarguen los archivos de claves de cuenta de servicio asociados. Puedes usar los archivos de claves de la cuenta de servicio que genera este comando en el archivo de configuración de anulaciones.
create-service-account crea una o más cuentas de servicio en tu proyecto actual de Google Cloud o el proyecto que especifiques, asigna el rol de IAM correcta a la cuenta de servicio y descarga el archivo de certificado para la cuenta de servicio en un directorio de tu máquina local.
Para obtener más información sobre las cuentas de servicio y leer la lista completa de las que están recomendadas para entornos de producción, consulta los siguientes vínculos:
También puedes crear cuentas de servicio en la consola de Google Cloud . Consulta también Crea y administra cuentas de servicio.
Requisitos previos
Rol
La herramienta create-service-account requiere que la CLI de gcloud esté instalada. Los usuarios que invoquen la utilidad deben tener la función Service Account Admin.
Proyecto
Las cuentas de servicio están vinculadas a un proyecto específico de Google Cloud. create-service-account crea cuentas de servicio en tu proyecto actual o en el que especifiques, y vincula las funciones de IAM a las cuentas de servicio dentro de ese proyecto. create-service-account también usa el ID del proyecto como parte del correo electrónico y el nombre del archivo de claves de la cuenta de servicio. Por ejemplo, si tu proyecto se llama my-hybrid-project, el archivo de claves de la cuenta de servicio apigee-logger se llamará my-hybrid-project-apigee-logger.json y la dirección de correo electrónico de la cuenta de servicio será apigee-logger@my-hybrid-project.iam.gserviceaccount.com.
Puedes especificar un proyecto si defines una variable de entorno PROJECT_ID o con la marca --project-id. Si se configuran ambos, la marca --project-id tiene prioridad sobre la variable de entorno PROJECT_ID y create-service-account registra un [WARNING]. En todos los casos, la herramienta registra la fuente desde la que se leyó el ID del proyecto y, antes de crear cualquier cuenta de servicio, imprime el tipo de implementación, el proyecto y el directorio de salida resueltos.
Si no especificas un ID de proyecto de Cloud, create-service-account usa el proyecto en tu configuración de proyecto actual de gcloud.
Puedes verificar la configuración actual del proyecto gcloud con el siguiente comando:
gcloud config list project
Si necesitas cambiar el ID del proyecto actual, usa el siguiente comando:
gcloud config set project PROJECT_ID
En el ejemplo anterior, PROJECT_ID es el ID de tu proyecto actual de Cloud. Las instrucciones para crear un proyecto de Cloud se tratan en el Paso 2: Crea un proyecto de Google Cloud.
Ubicación del archivo
Puedes encontrar la herramienta de create-service-account en el siguiente directorio:
$APIGEE_HELM_CHARTS_HOME/apigee-operator/etc/tools/
Verifica que la herramienta create-service-account sea ejecutable
Verifica que puedas ejecutar create-service-account. Si acabas de descargar los gráficos de Helm para Apigee, es posible que las herramientas de línea de comandos no estén en un modo ejecutable. Navega al directorio en el que está instalado create-service-account y ejecútalo con --help para verificar que sea ejecutable:
./create-service-account --help
Si el resultado indica permission denied, debes hacer que el archivo sea ejecutable, por ejemplo, con chmod en Linux, MacOS o UNIX, o en Windows Explorer o con el comando icacls en Windows. Por ejemplo:
chmod +x ./create-service-account
Usa create-service-account
En los siguientes ejemplos, se muestra cómo usar create-service-account para tareas comunes de configuración de Apigee Hybrid.
Crea cuentas de servicio para un entorno de producción
Nota: En un entorno híbrido de producción, Apigee recomienda usar una cuenta de servicio independiente para cada componente. Usa el siguiente comando a fin de crear todas las cuentas de servicio para los componentes híbridos con sus nombres predeterminados en el directorio predeterminado.
./tools/create-service-account --prod
Esto creará las siguientes cuentas de servicio con los archivos de certificación descargados en el directorio ./tools/service-accounts:
| Cuenta de servicio | Rol de IAM | Correo electrónico | Archivo de certificación |
|---|---|---|---|
apigee-cassandra |
roles/storage.objectAdmin |
apigee-cassandra@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-cassandra.json |
apigee-guardrails |
roles/serviceusage.serviceUsageViewer |
apigee-guardrails@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-guardrails.json |
apigee-logger |
roles/logging.logWriter |
apigee-logger@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-logger.json |
apigee-mart |
roles/apigeeconnect.Agent |
apigee-mart@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-mart.json |
apigee-metrics |
roles/monitoring.metricWriter |
apigee-metrics@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-metrics.json |
apigee-mint-task-scheduler |
No hay ningún rol asignado | apigee-mint-task-scheduler@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-mint-task-scheduler.json |
apigee-runtime |
No hay ningún rol asignado | apigee-runtime@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-runtime.json |
apigee-synchronizer |
roles/apigee.synchronizerManager |
apigee-synchronizer@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-synchronizer.json |
apigee-watcher |
roles/apigee.runtimeAgent |
apigee-watcher@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-watcher.json |
Crea una cuenta de servicio única para un entorno que no sea de producción
Para entornos que no sean productos, como un entorno experimental o de demostración, puedes crear una sola cuenta de servicio llamada “apigee-non-prod” que puedas usar para todos los componentes. Esta cuenta de servicio tendrá todas las funciones de IAM que se asignaron en el ejemplo anterior.
./tools/create-service-account --non-prod
Esto creará una cuenta de servicio única llamada apigee-non-prod y descargará el archivo de certificación en el directorio ./tools/service-accounts:
| Cuenta de servicio | Funciones de IAM | Correo electrónico | Archivo de certificación |
|---|---|---|---|
apigee-non-prod |
roles/apigee.runtimeAgentroles/apigee.synchronizerManagerroles/apigeeconnect.Agentroles/logging.logWriterroles/monitoring.metricWriterroles/serviceusage.serviceUsageViewerroles/storage.objectAdmin |
apigee-non-prod@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-non-prod.json |
Asigna un nombre personalizado a una sola cuenta de servicio de producción
De forma predeterminada, una sola cuenta de servicio de producción se denomina según el nombre de la cuenta de servicio compatible que selecciones. Por ejemplo, --prod apigee-cassandra crea una cuenta de servicio llamada apigee-cassandra. Para asignar un nombre diferente a una sola cuenta de servicio de producción y conservar el mismo rol de IAM, agrega la marca --name (o su alias -n):
./tools/create-service-account --prod apigee-cassandra --name my-cassandra-sa
Esto crea una cuenta de servicio de producción llamada my-cassandra-sa con el rol de IAM de apigee-cassandra (roles/storage.objectAdmin). El rol de IAM siempre proviene del nombre de la cuenta de servicio que pasas a --prod; --name solo cambia el nombre de la cuenta.
create-service-account syntax
La herramienta create-service-account usa la siguiente sintaxis:
create-service-account [flags]
En la siguiente tabla, se enumeran las marcas create-service-account:
| Marcar | Valores | Descripción |
|---|---|---|
--dir-d |
nombre del directorio | Especifica un directorio de salida para los archivos de claves de la cuenta de servicio. Si el directorio no existe, create-service-account lo creará. Si el directorio ya existe, create-service-account reemplazará los archivos del directorio que tengan el mismo nombre que los archivos de claves que crea.
Si no especificas un directorio de salida, |
--prod |
Nombre de la cuenta de servicio (opcional) |
Crea cuentas de servicio para un entorno híbrido de producción. Este es el valor predeterminado: si ejecutas create-service-account sin ninguna marca de tipo de implementación, se comportará como si se hubiera pasado --prod.
En un entorno de producción, se recomienda que tengas una sola cuenta de servicio para cada servicio de Apigee. Cada cuenta de servicio creada tiene un solo rol de IAM asociado.
|
--non-prod |
Nombre de la cuenta de servicio (opcional) |
Crea una única cuenta de servicio con todos los roles de IAM vinculados a ella. Esto es útil para entornos que no son de producción, como una instalación experimental o de demostración.
La cuenta de servicio se llama |
--name-n |
Nombre de la cuenta de servicio | Solo cambia el nombre de la cuenta de servicio creada, nunca los roles de IAM que recibe.
Los roles se siguen determinando según el tipo de implementación y, para una sola cuenta de servicio de producción, según SA_NAME.
Las reglas de precedencia dependen del tipo de implementación:
|
--skip-key-download |
none | Crea las cuentas de servicio y asigna sus roles de IAM, pero no descarga los archivos de claves JSON. Usa esta marca cuando no necesites los archivos de claves, como con los métodos de autenticación de Workload Identity Federation for GKE. |
--help-h |
none | Muestra el texto de ayuda. |
‑‑project‑id-i |
project id | El ID del proyecto de Google Cloud en el que creas las cuentas de servicio.
Puedes proporcionar el ID del proyecto con la marca
Si no especificas un ID del proyecto con la marca o la variable de entorno, |
Para obtener más información sobre las cuentas de servicio que usa Apigee Hybrid, consulta Acerca de las cuentas de servicio.
También puedes crear cuentas de servicio en la consola de Google Cloud . Consulta también Crea y administra cuentas de servicio.