Configura proyectos y recursos de usuarios

En esta guía, se explica cómo usar los arrendatarios del entorno de ejecución de SaaS para organizar tus unidades implementadas y cómo implementar recursos en proyectos de arrendatarios separados para aislar y administrar tus recursos.

Para obtener una descripción general de los usuarios y los proyectos de usuario, consulta Usuarios y proyectos de usuario.

Antes de comenzar

Antes de crear proyectos o recursos de usuario, haz lo siguiente:

  1. 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 cómo implementar una instancia de servicio con el entorno de ejecución de SaaS para obtener información sobre cómo configurar una oferta de SaaS.
  2. Habilita las APIs que requiere el entorno de ejecución de SaaS.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  3. Verifica que tengas las cuentas de servicio y los roles de Identity and Access Management necesarios otorgados en el proyecto del 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.com en el proyecto del productor.

Configura un proyecto de inquilino

Cuando aprovisionas los recursos de tu arrendatario en proyectos separados, los recursos, las políticas de IAM, las cuotas y las configuraciones de red se separan para cada uno de tus arrendatarios, lo que hace que sea menos probable que los incumplimientos o las configuraciones incorrectas con un arrendatario afecten a los demás.

Necesitarás lo siguiente:

  • un proyecto de un productor
  • un proyecto de usuario para cada uno de tus usuarios

Console

Para configurar proyectos de usuario y de productor con la consola de Google Cloud , haz lo siguiente:

  1. Crea un proyecto de productor y un proyecto de usuario para cada uno de tus usuarios.
  2. Habilita la facturación en tus proyectos de usuario y de productor.
  3. Habilita las APIs que requiere el entorno de ejecución de SaaS en los proyectos de tu arrendatario.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. Verifica que tus proyectos de usuarios tengan cuentas de servicio de activación con los permisos requeridos.

    Para obtener más información, consulta Cuentas de servicio del entorno de ejecución de SaaS.

Configuraste correctamente tus proyectos de arrendatario y productor. Una vez que hayas creado y habilitado la facturación para tus proyectos de usuario y de productor, podrás crear recursos de usuario y asociar unidades con usuarios.

gcloud

Para configurar proyectos de productor y de arrendatario con Google Cloud CLI, haz lo siguiente:

  1. 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 del productor.
    • TENANT_PROJECT_ID: Es un identificador de cadena que representa el ID del proyecto de usuario.
  2. Habilita la facturación para tus proyectos de usuario y de productor:

     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_ID
    

    Reemplaza lo siguiente:

    • PRODUCER_PROJECT_ID: Es un identificador de cadena que representa el ID del proyecto del 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.
  3. Otorga a la cuenta de servicio de activación los roles de Identity and Access Management necesarios para cada proyecto de arrendatario:

     gcloud projects add-iam-policy-binding TENANT_PROJECT_ID \
     --member='serviceAccount:SERVICE_ACCOUNT@PRODUCER_PROJECT_ID.iam.gserviceaccount.com' \
     --role=ROLE
    

    Reemplaza 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 del 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-binding para cada rol que desees otorgar a la cuenta de servicio especificada (--role='roles/compute.admin', por ejemplo).

Configuraste correctamente tus proyectos de inquilino y de productor. Una vez que hayas creado y habilitado la facturación para tus proyectos de productor y de usuario, podrás crear recursos de usuario 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:

  1. En la consola de Google Cloud , ve a SaaS Runtime > Tenants.

    Ir a Tenants

  2. Haz clic en Crear.

  3. En el cuadro Nombre del arrendatario, ingresa un nombre para el recurso del arrendatario.

  4. Opcional: En el cuadro Recurso del cliente, proporciona un recurso del consumidor con la configuración definida por el consumidor para la integración.

  5. En el cuadro Oferta de SaaS, selecciona la oferta de SaaS con la que deseas asociar tu usuario.

  6. En el menú desplegable Región, selecciona una región en la que se almacenarán los metadatos del arrendatario.

  7. Opcional: Haz clic en Agregar etiqueta para agregar una etiqueta de par clave-valor a tu arrendatario.

  8. Haz clic en Crear para crear tu recurso de arrendatario.

Creaste correctamente un recurso de arrendatario.

Asocia una unidad con un inquilino

Después de crear un inquilino y, luego, 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é inquilino.

Para obtener más información sobre la implementación de unidades, consulta Implementa una VM con el entorno de ejecución de SaaS.

Para asociar una unidad a un inquilino, sigue estos pasos:

  1. En la consola de Google Cloud , ve a SaaS Runtime > Tenants.

    Ir a Tenants

  2. Haz clic en el nombre del arrendatario que deseas asociar a una unidad.

  3. Haz clic en Editar.

  4. En la sección Unidades asociadas, haz clic en Agregar unidad.

  5. Selecciona las unidades que deseas asociar a este usuario.

  6. Haz clic en Listo.

  7. Haz clic en Guardar.

Las unidades seleccionadas están asociadas al usuario indicado.

Aprovisiona una unidad nueva con variables del proyecto de usuario

Cuando aprovisionas una unidad asociada a un arrendatario, debes proporcionar la variable tenant_project_id.

  1. Navega a SaaS Runtime > Units en la consola de Google Cloud .

    Ir a Unidades

  2. Crea una unidad nueva asociada a tu tipo de unidad.

  3. Haz clic en Provision.

  4. Selecciona la versión que deseas aprovisionar en la unidad del usuario.

  5. Selecciona la cuenta de servicio de activación a la que otorgaste permisos en tu proyecto de arrendatario. Debes seguir el principio de privilegio mínimo y otorgar solo los roles necesarios para los recursos que se administran.

  6. En la sección Variables de entrada, haz lo siguiente:

    1. Verifica que la variable tenant_project_id aparezca como la definiste en el archivo variables.tf de configuración de Terraform.
    2. En el cuadro ID del proyecto del usuario, proporciona el nombre de tu proyecto del usuario.
    3. 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.
  7. Haz clic en Provision.

El entorno de ejecución de SaaS 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 inquilino.

Cómo volver a aprovisionar una unidad con una versión nueva

Cuando vuelvas a aprovisionar una unidad existente con un lanzamiento nuevo, debes proporcionar la variable tenant_project_id.

  1. Navega a SaaS Runtime > Units en la consola de Google Cloud .

    Ir a Unidades

  2. Selecciona la unidad asociada con tu tipo de unidad.

  3. Haz clic en Edit Provisioning.

  4. Selecciona la versión que creaste con la configuración actualizada de Terraform.

  5. Selecciona la cuenta de servicio de activación a la que otorgaste permisos en tu proyecto de arrendatario. Debes seguir el principio de privilegio mínimo y otorgar solo los roles necesarios para los recursos que se administran.

  6. En la sección Variables de entrada, haz lo siguiente:

    1. Verifica que la variable tenant_project_id aparezca como la definiste en el archivo variables.tf de configuración de Terraform.
    2. En el cuadro ID del proyecto del usuario, proporciona el nombre de tu proyecto del usuario.
    3. 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.
  7. Haz clic en Actualizar.

El entorno de ejecución de SaaS 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 inquilino.

¿Qué sigue?