Crea cuentas de servicio de Google Cloud Platform (GCP) con funciones 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 la Función 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.
La herramienta create-service-account
se ubica en el directorio HYBRID_ROOT_DIR/tools
.
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
Función
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
. create-service-account
lee el valor de la variable de entorno PROJECT_ID
. Si no está presente, puedes usar la marca --project-id
.
Si no especificas un ID del proyecto de Cloud con el comando, create-service-account
usa el proyecto en la configuración actual de tu proyecto 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.
Usa create-service-account
En los siguientes ejemplos, se muestra cómo usar create-service-account
para tareas comunes de configuración híbrida de Apigee.
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 --env prod
Esto creará las siguientes cuentas de servicio con los archivos de certificación descargados en el directorio ./tools/service-accounts
:
Cuenta de servicio | Función 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-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-runtime |
No hay ninguna función asignada | 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-udca |
roles/apigee.analyticsAgent |
apigee-udca@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-udca.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 --env 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.analyticsAgent |
apigee-non-prod@PROJECT_ID.iam.gserviceaccount.com |
PROJECT_ID-apigee-non-prod.json |
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, |
--env -e |
prod non-prod |
Especifica si creas cuentas de servicio para un entorno de producción (prod ) o uno de no producción (non-prod ).
Si ejecutas |
--help -h |
none | Muestra el texto de ayuda. |
--name -n |
Nombre de la cuenta de servicio | Especifica un nombre para la cuenta de servicio. --name solo se aplica a una sola cuenta de servicio, ya sea especificada con --profile o --env non-prod .
El nombre también es parte del nombre del archivo de certificación y el correo electrónico de la cuenta de servicio. Por ejemplo, si ejecutas
Si no especificas |
‑‑profile -p |
apigee‑cassandra apigee‑logger apigee‑mart apigee‑metrics apigee‑runtime apigee‑synchronizer apigee‑udca apigee‑watcher |
Solo para los entornos de producción, especifica una única cuenta de servicio para que se cree.
Puedes especificar un nombre para la cuenta de servicio con la marca
Requiere |
‑‑project‑id -i |
project id | El ID del proyecto de Google Cloud en el que creas las cuentas de servicio.
Si no especificas un ID del proyecto, |
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.