- 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 ("Prod") y no de producción ("Non-prod"). 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 mercados, las métricas y las 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
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 es 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 clave 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 aparece 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 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 herramienta create-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.
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.
Si tienes previsto usar Workload Identity en GKE para autenticar componentes del 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
.
Sigue las instrucciones de Crear cuentas de servicio con para crear las siguientes cuentas de servicio y asignarles los siguientes roles:
Consola
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 |
Usa los siguientes comandos para crear las cuentas de servicio y asignar los roles de gestión de identidades y accesos.
gcloud
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 asignar 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