En esta guía, se explica cómo usar los usuarios de App Lifecycle Manager para organizar las unidades implementadas y cómo implementar recursos en proyectos de usuarios separados para aislar y administrar tus recursos.
Para obtener una descripción general de los usuarios y los proyectos de usuarios, consulta Usuarios y proyectos de usuarios.
Antes de comenzar
Antes de crear proyectos o recursos de usuarios, haz lo siguiente:
- Crea una configuración de Terraform, un repositorio de Artifact Registry y un artefacto que contenga tu aplicación de SaaS en tu proyecto de productor. Consulta Implementa una instancia de servicio con App Lifecycle Manager para aprender a configurar una oferta de SaaS.
Habilita las APIs que requiere App Lifecycle Manager.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.Verifica que tengas las cuentas de servicio y los roles de Identity and Access Management necesarios otorgados en el proyecto de productor. Esto incluye la cuenta de servicio creada por el usuario y los permisos otorgados a la cuenta
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.en el proyecto de productor.
Configura un proyecto de usuario
Cuando aprovisionas los recursos de tu usuario en proyectos separados, tus recursos, las políticas de IAM, las cuotas y las configuraciones de red se separan para cada uno de tus usuarios, lo que hace que sea menos probable que las vulneraciones o las configuraciones incorrectas de un usuario afecten a los demás.
Necesitarás lo siguiente:
- un proyecto de productor
un proyecto de usuario para cada uno de tus usuarios
Console
Para configurar proyectos de usuarios y productores con la Google Cloud consola, haz lo siguiente:
- Crea un proyecto de productor y un proyecto de usuario para cada uno de tus usuarios.
- Habilita la facturación en tus proyectos de usuarios y productores.
Habilita las APIs que requiere App Lifecycle Manager en tus proyectos de usuarios.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.Verifica que tus proyectos de usuarios tengan cuentas de servicio de activación con los permisos necesarios.
Para obtener más información, consulta Cuentas de servicio de App Lifecycle Manager.
Configuraste correctamente tus proyectos de usuarios y productores. Una vez que hayas creado y habilitado la facturación para tus proyectos de usuarios y productores, podrás crear recursos de usuarios y asociar unidades con usuarios.
gcloud
Para configurar proyectos de usuarios y productores con Google Cloud CLI, haz lo siguiente:
Crea tu proyecto de productor y un proyecto de usuario para cada uno de tus usuarios:
gcloud projects create PRODUCER_PROJECT_ID --name="SaaS producer project" [--folder=folder-id] gcloud projects create TENANT_PROJECT_ID --name="SaaS tenant A project" [--folder=folder-id]Reemplaza lo siguiente:
PRODUCER_PROJECT_ID: Es un identificador de cadena que representa el ID del proyecto de productor.TENANT_PROJECT_ID: Es un identificador de cadena que representa el ID del proyecto de usuario.
Habilita la facturación para tus proyectos de usuarios y productores:
gcloud beta billing projects link PRODUCER_PROJECT_ID --billing-account=BILLING_ACCOUNT_ID gcloud beta billing projects link TENANT_PROJECT_ID --billing-account=BILLING_ACCOUNT_IDReemplaza lo siguiente:
PRODUCER_PROJECT_ID: Es un identificador de cadena que representa el ID del proyecto de productor.TENANT_PROJECT_ID: Es un identificador de cadena que representa el ID del proyecto de usuario.BILLING_ACCOUNT_ID: Es el ID de la cuenta de facturación que deseas asociar con el proyecto especificado.
Otorga a la cuenta de servicio de activación los roles de Identity and Access Management necesarios para cada proyecto de usuario:
gcloud projects add-iam-policy-binding TENANT_PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT@PRODUCER_PROJECT_ID.' \ --role=ROLEReemplaza lo siguiente:
TENANT_PROJECT_ID: Es un identificador de cadena que representa el ID del proyecto de usuario.PRODUCER_PROJECT_ID: Es un identificador de cadena que representa el ID del proyecto de productor.SERVICE_ACCOUNT: Es la cuenta de servicio a la que deseas otorgar roles en el proyecto especificado.ROLE: Es el rol de Identity and Access Management que se otorgará.Deberás ejecutar
gcloud projects add-iam-policy-bindingpara cada rol que desees otorgar a la cuenta de servicio especificada (--role='roles/compute.admin', por ejemplo).
Configuraste correctamente tus proyectos de usuarios y productores. Una vez que hayas creado y habilitado la facturación para tus proyectos de usuarios y productores, podrás crear recursos de usuarios y asociar unidades con usuarios.
Crea un recurso de usuario
Crea un recurso de usuario en tu oferta de SaaS para representar a tu cliente:
En Google Cloud la consola, ve a App Lifecycle Manager > Usuarios.
Haz clic en Crear.
En el cuadro Nombre del usuario, ingresa un nombre para tu recurso de usuario.
Opcional: En el cuadro Recurso del cliente, proporciona un recurso del consumidor con la configuración definida por el consumidor para la integración.
En el cuadro Oferta de SaaS, selecciona la oferta de SaaS con la que deseas asociar tu usuario.
En el menú desplegable Región, selecciona una región en la que se almacenarán los metadatos del usuario.
Opcional: Haz clic en Agregar etiqueta para agregar una etiqueta de par clave-valor a tu usuario.
Haz clic en Crear para crear tu recurso de usuario.
Creaste un recurso de usuario correctamente.
Asocia una unidad con un usuario
Después de crear un usuario y de implementar una unidad, puedes vincularlos entre sí. Esta asociación sirve principalmente como una etiqueta organizativa que te ayuda a organizar qué unidades pertenecen a qué usuario.
Para obtener más información sobre la implementación de unidades, consulta Implementa una VM con App Lifecycle Manager.
Para asociar una unidad con un usuario, haz lo siguiente:
En la Google Cloud consola, ve a App Lifecycle Manager > Usuarios.
Haz clic en el nombre del usuario que deseas asociar a una unidad.
Haz clic en Editar.
En la sección Unidades asociadas, haz clic en Agregar unidad.
Selecciona las unidades que deseas asociar con este usuario.
Haz clic en Listo.
Haz clic en Guardar.
Las unidades seleccionadas están asociadas con el usuario indicado.
Aprovisiona una unidad nueva con variables de proyecto de usuario
Cuando aprovisionas una unidad asociada con un usuario, debes proporcionar la variable tenant_project_id.
Navega a App Lifecycle Manager > Unidades en la Google Cloud consola.
Crea una unidad nueva asociada con tu tipo de unidad.
Haz clic en Provision.
Selecciona la versión que se aprovisionará en tu unidad de usuario.
Selecciona la cuenta de servicio de activación a la que otorgaste permisos en tu proyecto de usuario. Debes seguir el principio de privilegio mínimo y otorgar solo los roles necesarios para los recursos que se administran.
En la sección Variables de entrada , haz lo siguiente:
- Verifica que la variable
tenant_project_idaparezca como la definiste en tu archivovariables.tfde configuración de Terraform. - En el cuadro ID del proyecto de usuario, proporciona el nombre de tu proyecto de usuario.
- Proporciona las variables de entrada definidas en tu configuración de Terraform. Si no definiste otras variables en tu configuración de Terraform, omite este paso.
- Verifica que la variable
Haz clic en Provision.
App Lifecycle Manager activa Infrastructure Manager con la cuenta de servicio de activación especificada. Infrastructure Manager lee la variable tenant_project_id y crea la VM dentro de ese proyecto de usuario.
Vuelve a aprovisionar una unidad con una versión nueva
Cuando vuelves a aprovisionar una unidad existente con una versión nueva, debes proporcionar la variable tenant_project_id.
Navega a App Lifecycle Manager > Unidades en la Google Cloud consola.
Selecciona la unidad asociada con tu tipo de unidad.
Haz clic en Editar aprovisionamiento.
Selecciona la versión que creaste con la configuración actualizada de Terraform.
Selecciona la cuenta de servicio de activación a la que otorgaste permisos en tu proyecto de usuario. Debes seguir el principio de privilegio mínimo y otorgar solo los roles necesarios para los recursos que se administran.
En la sección Variables de entrada , haz lo siguiente:
- Verifica que la variable
tenant_project_idaparezca como la definiste en tu archivovariables.tfde configuración de Terraform. - En el cuadro ID del proyecto de usuario, proporciona el nombre de tu proyecto de usuario.
- Proporciona las variables de entrada definidas en tu configuración de Terraform. Si no definiste otras variables en tu configuración de Terraform, omite este paso.
- Verifica que la variable
Haz clic en Actualizar.
App Lifecycle Manager activa Infrastructure Manager con la cuenta de servicio de activación especificada. Infrastructure Manager lee la variable tenant_project_id y crea la VM dentro de ese proyecto de usuario.
¿Qué sigue?
- Explora la administración de dependencias entre unidades.
- Obtén más información sobre el uso de variables y la asignación de variables.
- Revisa los permisos necesarios para las cuentas de servicio.