Ce guide explique comment utiliser les locataires App Lifecycle Manager pour organiser les 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, un dépôt Artifact Registry et un artefact contenant votre application SaaS dans votre projet producteur. Consultez Déployer une instance de service avec App Lifecycle Manager pour découvrir comment configurer une offre SaaS.
Activez les API requises par App Lifecycle Manager.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.Vérifiez que les comptes de service et les rôles Identity and Access Management nécessaires sont accordés 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.comdans le projet producteur.
Configurer un projet locataire
Lorsque vous provisionnez les ressources de votre locataire dans des projets distincts, vos ressources, vos stratégies 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 affectent vos autres locataires.
Vous aurez besoin des éléments suivants :
- un projet producteur ;
un projet locataire pour chacun de vos locataires.
Console
Pour configurer des projets locataires et producteurs à l'aide de la Google Cloud console :
- Créez un projet producteur et un projet locataire pour chacun de vos locataires.
- Activez la facturation dans vos projets locataires et producteurs.
Activez les API requises par App Lifecycle Manager dans vos projets locataires.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.Vérifiez que vos projets locataires disposent de comptes de service d'activation avec les autorisations requises.
Pour en savoir plus, consultez Comptes de service App Lifecycle Manager.
Vous avez bien configuré vos projets locataires et producteurs. Une fois que vous avez créé et activé la facturation pour vos projets producteurs et locataires, vous pouvez créer des ressources locataires et associer des unités à des locataires.
gcloud
Pour configurer des projets producteurs et locataires à l'aide de Google Cloud CLI :
Créez votre projet 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: identifiant de chaîne représentant l'ID du projet producteur.TENANT_PROJECT_ID: identifiant de chaîne représentant l'ID du projet locataire.
Activez la facturation pour vos projets locataires et producteurs :
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: identifiant de chaîne représentant l'ID du projet producteur.TENANT_PROJECT_ID: identifiant de chaîne représentant l'ID du projet locataire.BILLING_ACCOUNT_ID: ID du compte de facturation que vous souhaitez associer au projet spécifié.
Accordez au compte de service d'activation les rôles Identity and Access Management nécessaires pour chaque projet 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: identifiant de chaîne représentant l'ID du projet locataire.PRODUCER_PROJECT_ID: identifiant de chaîne représentant l'ID du projet producteur.SERVICE_ACCOUNT: compte de service auquel vous souhaitez accorder des rôles dans le projet spécifié.ROLE: rôle Identity and Access Management à accorder.Vous devez exécuter
gcloud projects add-iam-policy-bindingpour chaque rôle que vous souhaitez accorder au compte de service spécifié (--role='roles/compute.admin', par exemple).
Vous avez bien configuré vos projets locataires et producteurs. Une fois que vous avez créé et activé la facturation pour vos projets producteurs et locataires, vous pouvez créer des ressources locataires et associer des unités à des locataires.
Créer une ressource locataire
Créez une ressource locataire dans votre offre SaaS pour représenter votre client :
Dans la Google Cloud console, accédez à App Lifecycle Manager > Tenants.
Cliquez sur Créer.
Dans le champ Nom du locataire, saisissez un nom pour votre ressource locataire.
Facultatif : Dans le champ Ressource client, fournissez une ressource consommateur avec des paramètres définis par le consommateur pour l'intégration.
Dans le champ Offre SaaS, sélectionnez l'offre SaaS à laquelle vous souhaitez associer votre locataire.
Dans la liste déroulante Région, sélectionnez une région dans laquelle les métadonnées du locataire seront stockées.
Facultatif : Cliquez sur Ajouter une étiquette pour ajouter une étiquette de paire clé/valeur à votre locataire.
Cliquez sur Créer pour créer votre ressource locataire.
Vous avez bien créé une ressource 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 App Lifecycle Manager.
Pour associer une unité à un locataire :
Dans la Google Cloud console, accédez à App Lifecycle Manager > 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 que vous souhaitez 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.
Accédez à App Lifecycle Manager > Unités dans la Google Cloud console.
Créez une unité associée à votre type d'unité.
Cliquez sur Provisionner.
Sélectionnez la version à provisionner pour votre unité locataire.
Sélectionnez le compte de service d'activation auquel vous avez accordé des autorisations dans votre projet 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 répertoriée telle que vous l'avez définie dans votre fichiervariables.tfde configuration Terraform. - Dans le champ 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.
App Lifecycle Manager 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 reprovisionnez une unité existante avec une nouvelle version, vous devez fournir la variable tenant_project_id.
Accédez à App Lifecycle Manager > Unités dans la Google Cloud console.
Sélectionnez l'unité associée à votre type 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'activation auquel vous avez accordé des autorisations dans votre projet 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 répertoriée telle que vous l'avez définie dans votre fichiervariables.tfde configuration Terraform. - Dans le champ 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.
App Lifecycle Manager 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.
Étape suivante
- 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.