Associer des unités à des locataires
Dans ce guide de démarrage rapide, vous allez modifier votre offre SaaS pour associer l'unité de VM déployée à une ressource de locataire et provisionner la VM dans un projet locataire dédié appartenant à votre locataire.
Cette approche améliore l'isolation des ressources, ce qui vous permet de gérer les ressources de chaque locataire séparément et d'offrir une meilleure sécurité et conformité pour votre offre SaaS.
Nous allons nous appuyer sur le scénario du guide de démarrage rapide Déployer une VM avec App Lifecycle Manager, en le modifiant pour associer l'unité de VM déployée à une ressource de locataire et provisionner la VM dans un projet dédié appartenant au locataire :
- Créez une ressource de locataire dans App Lifecycle Manager.
- Associez une VM à la ressource de locataire.
- Configurez App Lifecycle Manager et votre configuration Terraform pour déployer des ressources dans un projet locataire distinct.
- Résolvez les problèmes courants d'autorisation et d'activation d'API lors du déploiement inter-projets.
À la fin de ce guide de démarrage rapide, vous aurez créé les bases d'une offre SaaS avec plusieurs locataires qui vous permet de définir des configurations et des stratégies au niveau du locataire en créant des locataires et en les associant à des unités.
Avant de commencer
Avant de créer des locataires ou de les associer à des unités, vous devez connaître les principes de base de l'écosystème App Lifecycle Manager et créer une offre SaaS.
-
Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
Déployez une VM avec App Lifecycle Manager, y compris la création d'une configuration Terraform, d'un dépôt Artifact Registry, d'une offre SaaS, d'un type d'unité, d'une unité et de composants (y compris
terraform-files.zip).- Vérifiez que les API listées dans la section Avant de commencer du guide de démarrage rapide sont activées dans votre projet producteur.
- Vérifiez que vous disposez des comptes de service et des rôles IAM 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.comdans le projet producteur.
Votre projet producteur et tous les projets locataires doivent être créés avant que vous ne créiez et n'associiez vos ressources de locataire. Pour en savoir plus, consultez Configurer un projet locataire.
Créer et associer une ressource de locataire
Vous pouvez utiliser des locataires pour regrouper des ressources d'unité. Créez une ressource locataire dans l'offre SaaS de votre projet producteur pour représenter votre client :
Dans la Google Cloud console, accédez à App Lifecycle Manager > Locataires.
Cliquez sur Créer.
Sur la page Créer un locataire, saisissez
vm-quickstart-tenantdans le champ Nom du locataire.Dans le champ Offre SaaS, sélectionnez
vm-quickstart-saas-offering.Dans la liste déroulante Région, sélectionnez
us-central1.Cliquez sur Ajouter une unité. Une section Nouvelle unité s'affiche.
Dans la liste déroulante Unité, sélectionnez l'unité
projects/YOUR-PROJECT-NAME/locations/us-central1/units/vm-quickstart-unit.Cliquez sur OK pour associer votre ressource
vm-quickstart-unità votre ressourcevm-quickstart-tenant.Cliquez sur Créer pour créer votre ressource de locataire. Vous avez créé la ressource
vm-quickstart-tenantet l'avez associée à la ressourcevm-quickstart-unit. Cette association sert principalement de tag d'organisation dans la Google Cloud console, ce qui vous permet d'identifier les unités appartenant à chaque locataire.
Créer une version de locataire
Dans la Google Cloud console, accédez à App Lifecycle Manager > Versions.
Sur la page Versions, cliquez sur Créer.
Sur la page Créer une version, saisissez
vm-quickstart-tenant-releasedans le champ Nom de la version.Dans le champ Type d'unité, sélectionnez
vm-quickstart-unit-kind. Cliquez sur Next (Suivant).À l'étape Sélectionner un blueprint, cliquez sur le bouton Sélectionner une image existante dans Artifact Registry.
À l'étape Stocker le blueprint, cliquez sur Parcourir et sélectionnez l'artefact associé à
vm-quickstart-tenant-blueprint. Cliquez sur Next (Suivant).Cliquez sur Créer. Vous avez créé la ressource
vm-quickstart-tenant-release.
Créer un projet locataire et déployer une unité
Dans le guide de démarrage rapide Déployer une VM avec App Lifecycle Manager, vous provisionnez des ressources App Lifecycle Manager dans le même projet que celui qui contient la configuration de votre offre SaaS.
Dans ce guide de démarrage rapide, vous dirigez le provisionnement des ressources vers le projet locataire au lieu du projet producteur.
Vous devrez transmettre des variables modifiées tenant_project_id et tenant_project_number lors du provisionnement de l'unité.
Créez un projet locataire dans lequel vous allez déployer les fichiers
terraform-vm.zip:gcloud projects create quickstart-tenant-project --name="SaaS Tenant A Project"Activez les API et accordez des rôles IAM sur le projet locataire. Pour déployer des unités dans votre projet locataire, vous devez activer l'API Compute Engine et accorder des rôles IAM sur votre projet locataire.
Activer les API dans votre projet locataire
Activez l'API Compute Engine dans le projet locataire à l'aide de la Google Cloud console :
Accédez au sélecteur de projet.
Cliquez sur Sélectionner un projet.
Sélectionnez
quickstart-tenant-project.Activez l'API Compute Engine.
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.Assurez-vous de disposer des rôles suivants sur le projet : roles/compute.admin
Vérifier les rôles
-
Dans la Google Cloud console, accédez à la page IAM.
Accéder à IAM - Sélectionnez le projet.
-
Dans la colonne Compte principal, recherchez toutes les lignes qui vous identifient ou identifient un groupe dont vous faites partie. Pour savoir à quels groupes vous appartenez, contactez votre administrateur.
- Pour toutes les lignes qui vous spécifient ou vous incluent, consultez la colonne Rôle pour vous assurer que la liste inclut les rôles requis.
Attribuer les rôles
-
Dans la Google Cloud console, accédez à la page IAM.
Accéder à IAM - Sélectionnez le projet.
- Cliquez sur Accorder l'accès.
-
Dans le champ Nouveaux comptes principaux, saisissez votre identifiant utilisateur. Il s'agit généralement de l'adresse e-mail d'un compte Google.
- Cliquez sur Sélectionner un rôle, puis recherchez le rôle.
- Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez tous les rôles supplémentaires.
- Cliquez sur Enregistrer.
-
Provisionner une unité avec des variables de projet locataire
À partir de votre projet producteur, provisionnez une nouvelle unité avec les variables d'entrée de votre projet locataire :
Accédez au sélecteur de projet.
Cliquez sur Sélectionner un projet.
Sélectionnez votre projet producteur.
Dans la Google Cloud console, accédez à App Lifecycle Manager > Unités.
Sélectionnez la ressource
vm-quickstart-unit.Cliquez sur Provisionner.
Sélectionnez la ressource
vm-quickstart-tenant-release.Sélectionnez le compte de service d'activation auquel vous avez accordé des autorisations dans le projet locataire.
Dans la section Variables d'entrée :
- La variable
tenant_project_idest listée telle que vous l'avez définie dansvariables.tf. - Dans le champ ID du projet locataire, saisissez
quickstart-tenant-project.
- 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.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, procédez comme suit :
- Dans la Google Cloud console, accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Lorsque vous y êtes invité, saisissez l'ID du projet, puis cliquez sur Arrêter.
Étape suivante
- Découvrez comment configurer des projets et des ressources de locataire.
- Utilisez des variables et le mappage de variables pour une orchestration sophistiquée des offres SaaS (y compris le provisionnement automatisé des ressources provisioning).