Comienza a usar unidades de inquilino

En esta página, se muestra la configuración básica y el flujo de trabajo para las unidades de inquilino, que son parte de Service Infrastructure, lo que incluye las siguientes actividades:

En los ejemplos se utilizan llamadas directas a la API de REST de Service Consumer Management.

Para obtener información general sobre las unidades de inquilino, consulta Crea y borra unidades de inquilino.

Antes de comenzar

  • La API de Service Consumer Management está diseñada para utilizarse con servicios administrados y proyectos del productor de servicios. Necesitarás contar con un proyecto de Google Cloud Platform y un servicio administrado (como, por ejemplo, un servicio creado con Cloud Endpoints) en ese proyecto.
  • Para utilizar las unidades de inquilino, la API de Service Consumer Management debe crear proyectos de inquilino en la organización del productor de servicios. Asegúrate de tener suficiente cuota para la cantidad necesaria de proyectos del consumidor de servicios.
  • Cada proyecto del consumidor de servicios creado en una unidad de inquilino también debe estar en una carpeta que especifiques. Debido a esto, necesitas contar con una Organización para utilizar las unidades de inquilino.

Autenticación

Las API de Cloud, como la API de Service Consumer Management, solo aceptan llamadas autenticadas. Si aún no tienes una, conoce cómo crear una cuenta de servicio y obtener una clave JSON para autenticar las API de Cloud en Comienza a usar la autenticación. Si utilizas una biblioteca cliente de Google, puedes configurar el entorno para que utilice las credenciales de la cuenta de servicio de forma predeterminada. Para las llamadas directas a la API de REST, tendrás que proporcionar un token de acceso en cada encabezado, como se muestra en el siguiente ejemplo:

    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" --header 'Content-Type: application/json' --data '{"tag":"tag1", "project_config":{"folder":"folders/9876543210", "tenant_project_policy": {"policy_bindings":{"role":"roles/owner", "members":"user:user1@company.com"}}, "billing_config":{"billing_account":"billingAccounts/123456-472F22-28F9AA"}}}' -X POST "https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/consumers/12345678901/tenancyUnits/tu-hello:addProject"

Crea una unidad de inquilino

Una vez que hayas configurado los permisos pertinentes, cuando un consumidor de servicios habilite tu servicio, podrás crear una unidad de inquilino que contendrá el proyecto de inquilino para ese consumidor de servicios. Una unidad de inquilino es una entidad básica que representa la relación de un consumidor de servicios, normalmente un proyecto de GCP que habilitó tus API, y tu servicio administrado. Cada consumidor de servicios puede tener solamente una unidad de inquilino activa.

Una unidad de inquilino se crea de la siguiente manera:

POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits

Aquí, 'projects/12345678901' es el número del proyecto del consumidor de servicios y your-service.example.com es el nombre del servicio.

La estructura de datos que se muestra tiene el nombre de la unidad de inquilino con un ID único que puede utilizarse para el acceso. En este ejemplo, el nombre generado es /services/your-service.example.com/projects/12345678901/tenancyUnits/absdef.

Agrega un proyecto de inquilino

Ahora puedes agregar un proyecto para el usuario. Para agregar un proyecto de inquilino nuevo a la unidad de inquilino creada en el paso anterior, llama al siguiente método:

POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:addProject

con los siguientes datos:

{"tag":"tag1", "project_config":{"folder":"folders/9876543210", "tenant_project_policy":{"policy_bindings":{"role":"roles/owner", "members":"user:bob@example.com"}}, "billing_config":{"billing_account":"billingAccounts/123456-472F22-28F9AA"}}}

El valor tag es un identificador que proporcionas para el proyecto dentro de la unidad de inquilino, puede ser cualquiera que desees (aquí es tag1), como una región, una red de consumidor o solo un ID de string.

Esta llamada muestra una operación de larga duración que puedes consultar para encontrar si la creación del proyecto se realizó de forma correcta.

Busca unidades de inquilino

Encuentra una unidad de inquilino para un consumidor de servicios

A fin de encontrar una unidad de inquilino para un consumidor de servicios específico, utiliza el método ListTenancyUnits; para ello, especifica el número del proyecto del consumidor de servicios:

GET https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits

Busca unidades de inquilino

Puedes utilizar el método SearchTenancyUnits para buscar las unidades de inquilino definidas para tu servicio. Por ejemplo, la siguiente consulta mostrará todas las unidades que contengan un proyecto con la etiqueta 'tag1':

GET https://serviceconsumermanagement.sandbox.googleapis.com/v1/services/your-service.example.com:search?query=tenant_resources.tag=tag1

Limpia las unidades de inquilino

Cuando un consumidor de servicios deja de usar el servicio, borrar la unidad de inquilino limpia los recursos y ayuda a garantizar que se borren los datos del usuario.

Quita los proyectos de inquilino

Los proyectos de inquilino deben borrarse antes de borrar la unidad de inquilino asociada del consumidor de servicios. El método removeProject borra el proyecto y todos los recursos que contiene:

POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:removeProject

con los siguientes datos:

{"tag":"tag1"}

Borra una unidad de inquilino

Una vez que se hayan quitado todos los proyectos de inquilino en una unidad de inquilino, puedes borrar la unidad:

DELETE https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Service Infrastructure