Cette page explique comment gérer les unités de location pour votre service. Une unité de location est une ressource légère qui représente la relation entre un client de service et un service géré. Chaque client de service ne peut avoir qu'une seule unité de location active pour un service géré. Il s'agit d'une fonctionnalité fournie par Service Infrastructure.
Le nom de ressource d'une unité de location suit le format ci-dessous :
services/{your service name}/projects/{consumer project number}/tenancyUnits/{id}
L'ID d'une unité de location est généré automatiquement lors de sa création. Vous pouvez également fournir un ID lorsque vous appelez la méthode services.tenancyUnits.create
. Si vous fournissez un ID, il doit être globalement unique dans le champ d'application de votre service géré, pour tous les clients du service.
Les exemples présentés sur cette page utilisent des appels directs à l'API REST Service Consumer Management. Pour une utilisation en production, nous vous recommandons d'utiliser les bibliothèques clientes fournies par Google, qui vous offrent davantage de facilité d'utilisation et de fiabilité.
Avant de commencer
- L'API Service Consumer Management est conçue pour être utilisée avec des services gérés et des projets producteurs de services. Vous devez déjà disposer d'un projet Google Cloud et d'un service géré (tel qu'un service créé à l'aide de Cloud Endpoints) dans ce projet.
- Pour utiliser des unités de location, l'API Service Consumer Management doit créer des projets locataires dans votre organisation de production de services. Assurez-vous de disposer d'un quota d'utilisation suffisant pour le nombre de projets locataires requis pour les clients de votre service.
- Pour créer et supprimer des unités de location, suivez les instructions de configuration initiale fournies à la page Premiers pas avec l'API Service Consumer Management.
- Chaque projet locataire créé dans une unité de location doit également figurer dans un dossier que vous spécifiez dans la configuration du projet locataire. C'est pourquoi vous avez besoin d'une organisation pour utiliser des unités de location.
Authentification
Select the tabs for how you plan to access the API:
gcloud
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Bibliothèques clientes
Pour utiliser des bibliothèques clientes dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application avec vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
REST
Pour utiliser l'API REST dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Pour en savoir plus sur la configuration de l'authentification dans un environnement de production, consultez Set up Application Default Credentials for code running on Google Cloud dans la documentation sur l'authentification Google Cloud.
Créer une unité de location
Les unités de location et les projets locataires sont normalement créés lorsqu'il y a création de ressources dans votre propre service qui dépendent de ressources Google Cloud supplémentaires à provisionner pour les clients du service.
Pour créer une unité de location, procédez comme suit :
POST https://serviceconsumermanagement.googleapis.com/v1/services/service.example.com/projects/12345678901/tenancyUnits
Ici, "projects/12345678901" représente le client du service et service.example.com
est le nom de votre service.
La structure de données renvoyée porte le nom de l'unité de location et contient un identifiant unique pouvant être utilisé pour y accéder. Dans cet exemple, le nom généré est services/your-service.example.com/projects/12345678901/tenancyUnits/absdef
.
Ajouter un projet locataire
Vous pouvez maintenant ajouter un projet pour l'utilisateur. Pour ajouter un projet locataire à l'unité de location créée à l'étape précédente, appelez la méthode suivante :
POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:addProject
avec les données suivantes :
{"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"}}}
La valeur tag
est un identifiant de votre choix que vous fournissez pour le projet au sein de l'unité de location (ici, il s'agit de tag1
). Cela peut être une région, un réseau de client ou simplement un ID de chaîne.
Cet appel affiche une opération de longue durée que vous pouvez interroger pour déterminer si le projet a été créé avec succès.
Si vous devez appliquer une configuration différente, par exemple pour ajouter des services gérés, vous pouvez appeler la méthode services.tenancyUnits.applyProjectConfig
.
Rechercher des unités de location
Trouver une unité de location pour un client de service
Pour rechercher l'unité de location correspondant à un client de service spécifique, appelez la méthode services.tenancyUnits.ListTenancyUnits
en spécifiant le numéro du projet client de service :
GET https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits
Rechercher des unités de location
Vous pouvez utiliser la méthode services.tenancyUnits.SearchTenancyUnits
pour rechercher des unités de location définies pour votre service. Par exemple, la requête suivante va afficher toutes les unités contenant un projet avec le tag "tag1" :
GET https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com:search?query=tenant_resources.tag=tag1
Nettoyer des unités de location
Lorsqu'un client cesse d'utiliser votre service, vous devez supprimer son unité de location afin de libérer les ressources et de garantir la suppression des données utilisateur.
Supprimer des projets locataires
Vous devez supprimer tous les projets locataires avant de pouvoir supprimer l'unité de location correspondante. Utilisez la méthode services.tenancyUnits.removeProject
pour supprimer un projet locataire et toutes les ressources qu'il contient :
POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:removeProject
Supprimer une unité de location
Une fois que vous avez supprimé tous les projets locataires d'une unité de location ou qu'ils se trouvent tous dans l'état DELETED
, vous pouvez supprimer l'unité de location comme suit :
DELETE https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/01/29 (UTC).