Asocia unidades con usuarios
En esta guía de inicio rápido, modificarás tu oferta de SaaS para asociar la unidad de VM implementada con un recurso de usuario y aprovisionar la VM en un proyecto de usuario dedicado que sea propiedad de tu usuario.
Este enfoque mejora el aislamiento de los recursos, lo que te permite administrar los recursos de cada usuario por separado y proporcionar una mejor seguridad y cumplimiento para tu oferta de SaaS.
Desarrollaremos el caso práctico de la guía de inicio rápido Implementa una VM con App Lifecycle Manager, lo modificaremos para asociar la unidad de VM implementada con un recurso de usuario y aprovisionar la VM en un proyecto dedicado que sea propiedad del usuario:
- Crea un recurso de usuario en App Lifecycle Manager.
- Asocia una VM con el recurso de usuario.
- Configura App Lifecycle Manager y tu configuración de Terraform para implementar recursos en un proyecto de usuario independiente.
- Aborda los problemas comunes de permisos y habilitación de la API cuando se realiza la implementación entre proyectos.
Al final de esta guía de inicio rápido, crearás la base para una oferta de SaaS con varios usuarios que te permita establecer configuraciones y políticas a nivel del usuario mediante la creación de usuarios y su asociación con unidades.
Antes de comenzar
Antes de crear usuarios o asociarlos con unidades, debes tener conocimientos sobre los aspectos fundamentales del ecosistema de App Lifecycle Manager, y crear una oferta de SaaS.
-
Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
Implementa una VM con App Lifecycle Manager, lo que incluye la creación de una configuración de Terraform, un repositorio de Artifact Registry, una oferta de SaaS, un tipo de unidad, una unidad y componentes (incluido
terraform-files.zip).- Verifica que las APIs que se enumeran en la sección Antes de comenzar de la guía de inicio rápido estén habilitadas en tu proyecto de productor.
- Verifica que tengas las cuentas de servicio y los roles de IAM 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.iam.gserviceaccount.comen el proyecto de productor.
Tu proyecto de productor y cualquier proyecto de usuario deben crearse antes de que crees y asocies tus recursos de usuario. Para obtener más información, consulta Configura un proyecto de usuario.
Crea y asocia un recurso de usuario
Puedes usar usuarios para agrupar recursos de unidades. Crea un recurso de usuario en la oferta de SaaS de tu proyecto de productor para representar a tu cliente:
En la Google Cloud consola de, ve a App Lifecycle Manager > Usuarios.
Haz clic en Crear.
En la página Crear usuario, ingresa
vm-quickstart-tenanten el cuadro Nombre del usuario.En el cuadro Oferta de SaaS, selecciona
vm-quickstart-saas-offering.En el menú desplegable Región, selecciona
us-central1.Haz clic en Agregar unidad. Aparecerá una sección Unidad nueva.
En el menú desplegable Unidad, selecciona la unidad
projects/YOUR-PROJECT-NAME/locations/us-central1/units/vm-quickstart-unit.Haz clic en Listo para asociar tu recurso
vm-quickstart-unitcon tu recursovm-quickstart-tenant.Haz clic en Crear para crear tu recurso de usuario. Creaste correctamente el recurso
vm-quickstart-tenanty lo asociaste con el recursovm-quickstart-unit. Esta asociación sirve principalmente como una etiqueta organizativa dentro de la Google Cloud consola, lo que te ayuda a identificar qué unidades pertenecen a qué usuario.
Crea un lanzamiento de usuario
En Google Cloud la consola de, ve a App Lifecycle Manager > Lanzamientos.
En la página Lanzamientos, haz clic en Crear.
En la página Crear lanzamiento, ingresa
vm-quickstart-tenant-releaseen el cuadro Nombre del lanzamiento.En el cuadro Tipo de unidad, selecciona
vm-quickstart-unit-kind. Haz clic en Siguiente.En el paso Seleccionar plano, haz clic en el botón de activación Seleccionar una imagen existente de Artifact Registry.
En el paso Almacenar plano, haz clic en Explorar y selecciona el artefacto asociado con
vm-quickstart-tenant-blueprint. Haz clic en Siguiente.Haz clic en Crear. Creaste correctamente el recurso
vm-quickstart-tenant-release.
Crea un proyecto de usuario y, luego, implementa una unidad
En la guía de inicio rápido Implementa una VM con App Lifecycle Manager, aprovisionas recursos de App Lifecycle Manager en el mismo proyecto que contiene la configuración de tu oferta de SaaS.
En esta guía de inicio rápido, diriges el aprovisionamiento de recursos al proyecto de usuario en lugar del proyecto de productor.
Deberás pasar las variables modificadas tenant_project_id y tenant_project_number durante el aprovisionamiento de la unidad.
Crea un proyecto de usuario en el que implementarás los archivos
terraform-vm.zip:gcloud projects create quickstart-tenant-project --name="SaaS Tenant A Project"Habilita las APIs y otorga roles de IAM en el proyecto de usuario. Para implementar unidades en tu proyecto de usuario, debes habilitar la API de Compute Engine y otorgar roles de IAM en tu proyecto de usuario.
Habilita las APIs en tu proyecto de usuario
Habilita la API de Compute Engine en el proyecto de usuario con la consola de Google Cloud :
Ir al selector de proyectos
Haz clic en Seleccionar un proyecto.
Selecciona
quickstart-tenant-project.Habilita la API de Compute Engine.
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.Asegúrate de tener los siguientes roles en el proyecto: roles/compute.admin
Verifica los roles
-
En la Google Cloud consola de, dirígete a la página IAM.
Ir a IAM - Selecciona el proyecto.
-
En la columna Principal, busca todas las filas que te identifiquen a ti o a un grupo en el que estés incluido. Para saber en qué grupos estás incluido, comunícate con el administrador.
- Para todas las filas que te especifiquen o incluyan, consulta la columna Rol para ver si la lista de roles incluye los roles requeridos.
Otorga los roles
-
En la Google Cloud consola de, dirígete a la página IAM.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Grant access.
-
En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.
- Haz clic en Seleccionar un rol y, luego, busca el rol.
- Para otorgar roles adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
- Haz clic en Guardar.
-
Aprovisiona una unidad con variables del proyecto de usuario
Desde tu proyecto de productor, aprovisiona una unidad nueva con las variables de entrada de tu proyecto de usuario:
Ir al selector de proyectos
Haz clic en Seleccionar un proyecto.
Selecciona tu proyecto de productor.
Navega a App Lifecycle Manager > Unidades en la Google Cloud consola de.
Selecciona el recurso
vm-quickstart-unit.Haz clic en Provision.
Selecciona el recurso
vm-quickstart-tenant-release.Selecciona la cuenta de servicio de activación a la que otorgaste permisos en el proyecto de usuario.
En la sección Variables de entrada , haz lo siguiente:
- La variable
tenant_project_idaparece como la definiste envariables.tf. - En el cuadro ID del proyecto de usuario, ingresa
quickstart-tenant-project.
- 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.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu Google Cloud cuenta de por los recursos que usaste en esta página.
- En la Google Cloud consola, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- Cuando se te solicite, escribe el ID del proyecto y, luego, haz clic en Apagar.
¿Qué sigue?
- Obtén más información para configurar proyectos y recursos de usuario.
- Usa variables y asignación de variables para la organización sofisticada de ofertas de SaaS (incluido el aprovisionamiento automatizado de recursos).