- v1.15 (última)
- v1.14
- v1.13
- Lista de versiones admitidas
- 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:
En este paso se explica cómo crear las cuentas de servicio de Google Cloud que necesita Apigee hybrid para funcionar.
Información general
Apigee hybrid usa cuentas de servicio de Google Cloud para permitir que los componentes híbridos se comuniquen haciendo llamadas a las APIs autorizadas.
Entornos de producción y de no producción
En esta guía se hace referencia a las instalaciones de producción y no de producción. Una instalación de producción se ajusta para ofrecer una mayor capacidad de uso, almacenamiento y escalabilidad. Una instalación que no es de producción usa menos recursos y se utiliza principalmente para aprender y hacer demostraciones.
Cuando creas y configuras cuentas de servicio para Apigee hybrid, es importante que tengas en cuenta el tipo de instalación que quieres usar.
En las instalaciones de producción, te recomendamos que crees una cuenta de servicio independiente para cada componente híbrido de Apigee. Por ejemplo, los tiempos de ejecución, los marts, las métricas y los UDCA, entre otros, tienen su propia cuenta de servicio.
En las instalaciones de entorno de no producción, puedes crear una sola cuenta de servicio que se aplique a todos los componentes.
Para obtener más información sobre las cuentas de servicio que usa Apigee y los roles que tienen asignados, consulta el artículo Cuentas de servicio y roles que usan los componentes híbridos.
Workload Identity en GKE
En las instalaciones híbridas de Apigee en GKE, Google Cloud ofrece una opción llamada Workload Identity para autenticar los componentes del tiempo de ejecución híbrido. Esta opción no usa archivos de certificado descargados para autenticar las cuentas de servicio. En su lugar, asocia las cuentas de servicio de Google Cloud que creas en este paso con las cuentas de servicio de Kubernetes del clúster de Kubernetes.
Workload Identity solo está disponible en instalaciones de GKE.
Crear las cuentas de servicio
Sigue estos procedimientos para crear las cuentas de servicio de Google Cloud para tu instalación híbrida:
- La herramienta
create-service-account
: si vas a instalar Apigee Hybrid en una plataforma que no sea GKE o si vas a instalarlo en GKE, pero no quieres usar la identidad de carga de trabajo, usa la herramientacreate-service-account
proporcionada por Apigee para crear las cuentas de servicio, asignar los roles a las cuentas de servicio y crear y descargar los archivos de claves de la cuenta de servicio con un solo comando. Sigue los procedimientos que se indican en
Crear cuentas de servicio concreate-service-account
. - Google Cloud console o
gcloud
: si vas a instalar Apigee Hybrid en GKE y tienes previsto usar Workload Identity, usa Google Cloud console ogcloud
para crear las cuentas de servicio sin descargar los archivos de certificado. Sigue los procedimientos que se indican en
Crear cuentas de servicio en la Google Cloud console o congcloud
.
Crear cuentas de servicio con create-service-account
Usa la herramienta create-service-account
en los siguientes casos:
- Estás instalando en una plataforma que no es GKE
- Vas a instalarlo en GKE, pero no tienes previsto usar Workload Identity.
Si no es así, ve a la sección Crear cuentas de servicio en la Google Cloud console o con gcloud
.
- Comprueba que las variables de entorno HYBRID_FILES y PROJECT_ID estén definidas.
PROJECT_ID debe tener el valor del ID de su proyecto de Google Cloud, ya que la herramienta
create-service-account
lee la variable de entorno PROJECT_ID para crear las cuentas de servicio en el proyecto correcto.echo $HYBRID_FILES
echo $PROJECT_ID
- Crea la cuenta de servicio con el siguiente comando:
No producción
Este comando crea una cuenta de servicio llamada
apigee-non-prod
para usarla en una instalación que no sea de producción y descarga el archivo de claves de la cuenta de servicio en el directorio$HYBRID_FILES/service-accounts
.$HYBRID_FILES/tools/create-service-account --env non-prod --dir $HYBRID_FILES/service-accounts
Producción
Este comando crea todas las cuentas de servicio individuales para una instalación de producción y descarga los archivos de claves de las cuentas de servicio en el directorio
$HYBRID_FILES/service-accounts
.$HYBRID_FILES/tools/create-service-account --env prod --dir $HYBRID_FILES/service-accounts
Si ves el siguiente mensaje, introduce y:
[INFO]: gcloud configured project ID is project_id. Enter: y to proceed with creating service account in project: project_id Enter: n to abort.
Si es la primera vez que creas una cuenta de servicio concreta, la herramienta la creará sin más peticiones.
Sin embargo, si ves el siguiente mensaje y petición, introduce y para generar nuevas claves:
[INFO]: Service account apigee-non-prod@project_id.iam.gserviceaccount.com already exists. ... [INFO]: The service account might have keys associated with it. It is recommended to use existing keys. Press: y to generate new keys.(this does not deactivate existing keys) Press: n to skip generating new keys.
-
Verifica que la clave de cuenta de servicio se haya creado con el siguiente comando. Eres responsable de almacenar estas claves privadas de forma segura. Los nombres de los archivos de claves tienen como prefijo el nombre de tu proyecto de Google Cloud.
ls $HYBRID_FILES/service-accounts
El resultado debería ser similar al siguiente:
project_id-apigee-non-prod.json
- Para obtener más información sobre
create-service-account
y todas sus opciones, consultacreate-service-account
. - Para obtener información sobre los conceptos relacionados de Google Cloud, consulta los artículos sobre cómo crear y gestionar cuentas de servicio y cómo crear y gestionar claves de cuentas de servicio.
Crea cuentas de servicio en Google Cloud console o con gcloud
.
Si tienes previsto usar Workload Identity en GKE para autenticar componentes de tiempo de ejecución híbrido, no es necesario que crees ni descargues archivos de certificado para las cuentas de servicio. Por lo tanto, no uses la herramienta create-service-account
. En su lugar, crea las cuentas de servicio en Google Cloud console o con la API IAM en gcloud
.
Si no es así, ve a la sección Crear cuentas de servicio con create-service-account
.
Consola
Sigue las instrucciones que se indican en el artículo Crear cuentas de servicio para crear las siguientes cuentas de servicio y asignarles los siguientes roles:
No de producción
En instalaciones que no son de producción:
Nombre de la cuenta de servicio | Roles de gestión de identidades y accesos |
---|---|
apigee-non-prod |
|
Producción
Para instalaciones de producción:
Instalaciones de producción | |
---|---|
Nombre de la cuenta de servicio | Roles de gestión de identidades y accesos |
apigee-cassandra |
Administrador de objetos de Storage |
apigee-logger |
Escritor de registros |
apigee-mart |
Agente de conexión de Apigee |
apigee-metrics |
Escritor de las métricas de supervisión |
apigee-runtime |
No se requiere ningún rol |
apigee-synchronizer |
Administrador del sincronizador de Apigee |
apigee-udca |
Agente de Analytics de Apigee |
apigee-watcher |
Agente de entorno de ejecución de Apigee |
gcloud
Usa los siguientes comandos para crear las cuentas de servicio y asignar los roles de gestión de identidades y accesos.
No de producción
En instalaciones que no son de producción:
- Crea la
apigee-non-prod
cuenta de servicio:gcloud iam service-accounts create apigee-non-prod \ --display-name="apigee-non-prod" \ --project=$PROJECT_ID
- Asigna los roles de gestión de identidades y accesos a la cuenta de servicio:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/storage.objectAdmin"
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/logging.logWriter"
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigeeconnect.Agent"
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/monitoring.metricWriter"
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigee.synchronizerManager"
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigee.analyticsAgent"
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigee.runtimeAgent"
- Verifica las vinculaciones de roles:
gcloud projects get-iam-policy ${PROJECT_ID} \ --flatten="bindings[].members" \ --format='table(bindings.role)' \ --filter="bindings.members:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com"
Producción
Para instalaciones de producción:
Usa los siguientes comandos para crear cada cuenta de servicio y asignarle el rol de gestión de identidades y accesos correspondiente.
apigee-cassandra
cuenta de servicio:gcloud iam service-accounts create apigee-cassandra \ --display-name="apigee-cassandra" \ --project=$PROJECT_ID
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-cassandra@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/storage.objectAdmin"
apigee-logger
cuenta de servicio:gcloud iam service-accounts create apigee-logger \ --display-name="apigee-logger" \ --project=$PROJECT_ID
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-logger@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/logging.logWriter"
apigee-mart
cuenta de servicio:gcloud iam service-accounts create apigee-mart \ --display-name="apigee-mart" \ --project=$PROJECT_ID
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-mart@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigeeconnect.Agent"
apigee-metrics
cuenta de servicio:gcloud iam service-accounts create apigee-metrics \ --display-name="apigee-metrics" \ --project=$PROJECT_ID
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-metrics@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/monitoring.metricWriter"
apigee-runtime
cuenta de servicio:gcloud iam service-accounts create apigee-runtime \ --display-name="apigee-runtime" \ --project=$PROJECT_ID
apigee-synchronizer
cuenta de servicio:gcloud iam service-accounts create apigee-synchronizer \ --display-name="apigee-synchronizer" \ --project=$PROJECT_ID
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-synchronizer@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigee.synchronizerManager"
apigee-udca
cuenta de servicio:gcloud iam service-accounts create apigee-udca \ --display-name="apigee-udca" \ --project=$PROJECT_ID
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-udca@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigee.analyticsAgent"
apigee-watcher
cuenta de servicio:gcloud iam service-accounts create apigee-watcher \ --display-name="apigee-watcher" \ --project=$PROJECT_ID
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-watcher@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigee.runtimeAgent"
Para obtener más información sobre cómo crear cuentas de servicio con gcloud
, consulta el artículo Crear cuentas de servicio.
Ahora has creado cuentas de servicio y has asignado los roles que necesitan los componentes de Apigee hybrid. A continuación, crea los certificados TLS que necesita la puerta de enlace de entrada híbrida.
1 2 3 4 Paso 5: Crea certificados TLS 6 7 8 9 10 11