Ce guide explique comment utiliser les locataires SaaS Runtime pour organiser vos unités déployées et comment déployer des ressources dans des projets locataires distincts afin d'isoler et de gérer vos ressources.
Pour obtenir une présentation des locataires et des projets locataires, consultez Locataires et projets locataires.
Avant de commencer
Avant de créer des projets ou des ressources locataires :
- Créez une configuration Terraform et un dépôt Artifact Registry, puis créez un artefact contenant votre application SaaS dans votre projet de producteur. Pour savoir comment configurer une offre SaaS, consultez Déployer une instance de service avec l'environnement d'exécution SaaS.
Activez les API requises par SaaS Runtime.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.Vérifiez que vous disposez des comptes de service et des rôles Identity and Access Management nécessaires dans le projet producteur. Cela inclut le compte de service créé par l'utilisateur et les autorisations accordées au compte
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.comsur le projet producteur.
Configurer un projet locataire
Lorsque vous provisionnez les ressources de votre locataire dans des projets distincts, vos ressources, vos règles IAM, vos quotas et vos configurations réseau sont séparés pour chacun de vos locataires. Il est donc moins probable que des failles ou des erreurs de configuration chez un locataire affectent les autres.
Vous aurez besoin des documents suivants :
- un projet de producteur ;
un projet locataire pour chacun de vos locataires.
Console
Pour configurer des projets locataires et producteurs à l'aide de la console Google Cloud :
- Créez un projet de producteur et un projet de locataire pour chacun de vos locataires.
- Activez la facturation dans vos projets locataire et producteur.
Activez les API requises par SaaS Runtime dans vos projets de locataire.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.Vérifiez que vos projets locataires disposent de comptes de service d'actionnement avec les autorisations requises.
Pour en savoir plus, consultez Comptes de service de l'environnement d'exécution SaaS.
Vous avez bien configuré vos projets de locataire et de producteur. Une fois que vous avez créé et activé la facturation pour vos projets producteur et locataire, vous pouvez créer des ressources locataires et associer des unités à des locataires.
gcloud
Pour configurer des projets de producteur et de locataire à l'aide de Google Cloud CLI :
Créez votre projet de producteur et un projet locataire pour chacun de vos locataires :
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]Remplacez :
PRODUCER_PROJECT_ID: chaîne d'identifiant représentant l'ID du projet du producteur.TENANT_PROJECT_ID: chaîne d'identifiant représentant l'ID du projet locataire.
Activez la facturation pour vos projets locataire et producteur :
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_IDRemplacez :
PRODUCER_PROJECT_ID: chaîne d'identifiant représentant l'ID du projet du producteur.TENANT_PROJECT_ID: chaîne d'identifiant représentant l'ID du projet locataire.BILLING_ACCOUNT_ID: ID du compte de facturation que vous souhaitez associer au projet spécifié.
Attribuez au compte de service d'actionnement les rôles Identity and Access Management nécessaires pour chaque projet de locataire :
gcloud projects add-iam-policy-binding TENANT_PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT@PRODUCER_PROJECT_ID.iam.gserviceaccount.com' \ --role=ROLERemplacez :
TENANT_PROJECT_ID: chaîne d'identifiant représentant l'ID du projet locataire.PRODUCER_PROJECT_ID: chaîne d'identifiant représentant l'ID du projet du producteur.SERVICE_ACCOUNT: compte de service auquel vous souhaitez attribuer des rôles dans le projet spécifié.ROLE: rôle IAM (Identity and Access Management) à accorder.Vous devrez exécuter
gcloud projects add-iam-policy-bindingpour chaque rôle que vous souhaitez attribuer au compte de service spécifié (--role='roles/compute.admin', par exemple).
Vous avez bien configuré vos projets de locataire et de producteur. Une fois que vous avez créé et activé la facturation pour vos projets producteur et locataire, vous pouvez créer des ressources locataires et associer des unités à des locataires.
Créer une ressource de locataire
Créez une ressource tenant dans votre offre SaaS pour représenter votre client :
Dans la console Google Cloud , accédez à SaaS Runtime > Tenants.
Cliquez sur Créer.
Dans le champ Nom du locataire, saisissez le nom de votre ressource de locataire.
Facultatif : Dans la zone Ressource client, fournissez une ressource consommateur avec des paramètres définis par le consommateur pour l'intégration.
Dans la zone Offre SaaS, sélectionnez l'offre SaaS à laquelle vous souhaitez associer votre locataire.
Dans le menu déroulant Région, sélectionnez la région dans laquelle les métadonnées du locataire seront stockées.
Facultatif : Cliquez sur Ajouter un libellé pour ajouter un libellé de paire clé/valeur à votre locataire.
Cliquez sur Créer pour créer votre ressource de locataire.
Vous avez créé une ressource de locataire.
Associer une unité à un locataire
Une fois que vous avez créé un locataire et déployé une unité, vous pouvez les associer. Cette association sert principalement de tag organisationnel qui vous aide à organiser les unités appartenant à chaque locataire.
Pour en savoir plus sur le déploiement d'unités, consultez Déployer une VM avec l'environnement d'exécution SaaS.
Pour associer une unité à un locataire :
Dans la console Google Cloud , accédez à SaaS Runtime > Tenants.
Cliquez sur le nom du locataire que vous souhaitez associer à une unité.
Cliquez sur Modifier.
Dans la section Unités associées, cliquez sur Ajouter une unité.
Sélectionnez les unités à associer à ce locataire.
Cliquez sur OK.
Cliquez sur Enregistrer.
Les unités sélectionnées sont associées au locataire indiqué.
Provisionner une nouvelle unité avec des variables de projet locataire
Lorsque vous provisionnez une unité associée à un locataire, vous devez fournir la variable tenant_project_id.
Dans la console Google Cloud , accédez à SaaS Runtime > Unités.
Créez une unité associée à votre genre d'unité.
Cliquez sur Provisionner.
Sélectionnez Release (Version) pour provisionner l'unité de votre locataire.
Sélectionnez le compte de service d'actionnement auquel vous avez accordé des autorisations dans votre projet de locataire. Nous vous conseillons d'appliquer le principe du moindre privilège et de n'accorder que les rôles nécessaires pour les ressources gérées.
Dans la section Variables d'entrée :
- Vérifiez que la variable
tenant_project_idest listée telle que vous l'avez définie dans votre fichier de configuration Terraformvariables.tf. - Dans la zone ID du projet locataire, indiquez le nom de votre projet locataire.
- Fournissez les variables d'entrée définies dans votre configuration Terraform. Si vous n'avez pas défini d'autres variables dans votre configuration Terraform, ignorez cette étape.
- Vérifiez que la variable
Cliquez sur Provisionner.
L'environnement d'exécution SaaS déclenche Infrastructure Manager à l'aide du compte de service d'activation spécifié. Infrastructure Manager lit la variable tenant_project_id et crée la VM dans ce projet locataire.
Reprovisionner une unité avec une nouvelle version
Lorsque vous provisionnez à nouveau une unité existante avec une nouvelle version, vous devez fournir la variable tenant_project_id.
Dans la console Google Cloud , accédez à SaaS Runtime > Unités.
Sélectionnez l'unité associée à votre genre d'unité.
Cliquez sur Modifier le provisionnement.
Sélectionnez la version que vous avez créée avec la configuration Terraform mise à jour.
Sélectionnez le compte de service d'actionnement auquel vous avez accordé des autorisations dans votre projet de locataire. Nous vous conseillons d'appliquer le principe du moindre privilège et de n'accorder que les rôles nécessaires pour les ressources gérées.
Dans la section Variables d'entrée :
- Vérifiez que la variable
tenant_project_idest listée telle que vous l'avez définie dans votre fichier de configuration Terraformvariables.tf. - Dans la zone ID du projet locataire, indiquez le nom de votre projet locataire.
- Fournissez les variables d'entrée définies dans votre configuration Terraform. Si vous n'avez pas défini d'autres variables dans votre configuration Terraform, ignorez cette étape.
- Vérifiez que la variable
Cliquez sur Mettre à jour.
L'environnement d'exécution SaaS déclenche Infrastructure Manager à l'aide du compte de service d'activation spécifié. Infrastructure Manager lit la variable tenant_project_id et crée la VM dans ce projet locataire.
Étapes suivantes
- Découvrez comment gérer les dépendances entre les unités.
- En savoir plus sur l'utilisation des variables et du mappage des variables
- Consultez les autorisations requises pour les comptes de service.