Associare le unità ai tenant
In questa guida rapida, modificherai la tua offerta SaaS per associare l'unità VM di cui hai eseguito il deployment a una risorsa tenant ed eseguire il provisioning della VM in un progetto tenant dedicato di proprietà del tenant.
Questo approccio migliora l'isolamento delle risorse, consentendoti di gestire le risorse per ogni tenant separatamente e di fornire una maggiore sicurezza e conformità per la tua offerta SaaS.
Ci baseremo sullo scenario della guida rapida Eseguire il deployment di una VM con App Lifecycle Manager, modificandolo per associare l'unità VM di cui hai eseguito il deployment a una risorsa tenant ed eseguire il provisioning della VM in un progetto dedicato di proprietà del tenant:
- Crea una risorsa tenant in App Lifecycle Manager.
- Associa una VM alla risorsa tenant.
- Configura App Lifecycle Manager e la configurazione Terraform per eseguire il deployment delle risorse in un progetto tenant separato.
- Risolvi i problemi comuni di autorizzazione e abilitazione delle API durante il deployment tra progetti.
Al termine di questa guida rapida, creerai le basi per un'offerta SaaS con più tenant che ti consente di impostare configurazioni e policy a livello di tenant creando tenant e associandoli alle unità.
Prima di iniziare
Prima di creare tenant o associarli alle unità, devi avere una conoscenza di base dell'ecosistema di App Lifecycle Manager e creare un'offerta SaaS.
-
Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per eseguire, testare ed eseguire il deployment dei carichi di lavoro.
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.
Esegui il deployment di una VM con App Lifecycle Manager, inclusa la creazione della configurazione Terraform, di un repository Artifact Registry, di un' offerta SaaS, di un tipo di unità, di un'unità e di componenti (incluso
terraform-files.zip).- Verifica che le API elencate nella sezione Prima di iniziare della guida rapida siano abilitate nel progetto del produttore.
- Verifica di disporre dei service account e dei ruoli IAM necessari concessi all'interno del progetto del produttore.
Sono inclusi il account di servizio creato dall'utente e le autorizzazioni concesse all'account
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.comnel progetto del produttore.
Il progetto del produttore e tutti i progetti tenant devono essere creati prima di creare e associare le risorse tenant. Per ulteriori informazioni, consulta Configurare un progetto tenant.
Creare e associare una risorsa tenant
Puoi utilizzare i tenant per raggruppare le risorse unità. Crea una risorsa tenant nell'offerta SaaS del progetto del produttore per rappresentare il tuo cliente:
Nella Google Cloud console, vai a App Lifecycle Manager > Tenant.
Fai clic su Crea.
Nella pagina Crea tenant, inserisci
vm-quickstart-tenantnella casella Nome tenant.Nella casella Offerta SaaS, seleziona
vm-quickstart-saas-offering.Nel menu a discesa Regione, seleziona
us-central1.Fai clic su Aggiungi unità. Viene visualizzata una sezione Nuova unità.
Nel menu a discesa Unità, seleziona l'unità
projects/YOUR-PROJECT-NAME/locations/us-central1/units/vm-quickstart-unit.Fai clic su Fine per associare la risorsa
vm-quickstart-unitalla risorsavm-quickstart-tenant.Fai clic su Crea per creare la risorsa tenant. Hai creato correttamente la risorsa
vm-quickstart-tenante l'hai associata alla risorsavm-quickstart-unit. Questa associazione funge principalmente da tag organizzativo all'interno della Google Cloud console, aiutandoti a identificare le unità appartenenti a ciascun tenant.
Creare una release tenant
Nella Google Cloud console, vai a App Lifecycle Manager > Release.
Nella pagina Release, fai clic su Crea.
Nella pagina Crea release, inserisci
vm-quickstart-tenant-releasenella casella Nome release.Nella casella Tipo di unità, seleziona
vm-quickstart-unit-kind. Fai clic su Avanti.Nel passaggio Seleziona blueprint, fai clic sul pulsante Seleziona un'immagine esistente da Artifact Registry.
Nel passaggio Archivia blueprint, fai clic su Sfoglia e seleziona l'artefatto associato a
vm-quickstart-tenant-blueprint. Fai clic su Avanti.Fai clic su Crea. Hai creato correttamente la risorsa
vm-quickstart-tenant-release.
Creare un progetto tenant ed eseguire il deployment di un'unità
Nella guida rapida Eseguire il deployment di una VM con App Lifecycle Manager, esegui il provisioning delle risorse App Lifecycle Manager nello stesso progetto che contiene la configurazione dell'offerta SaaS.
In questa guida rapida, indirizzerai il provisioning delle risorse al progetto tenant anziché al progetto del produttore.
Durante il provisioning dell'unità, dovrai passare le variabili modificate tenant_project_id e tenant_project_number.
Crea un progetto tenant in cui eseguire il deployment dei file
terraform-vm.zip:gcloud projects create quickstart-tenant-project --name="SaaS Tenant A Project"Abilita le API e concedi i ruoli IAM nel progetto tenant. Per eseguire il deployment delle unità nel progetto tenant, devi abilitare l'API Compute Engine e concedere i ruoli IAM nel progetto tenant.
Abilitare le API nel progetto tenant
Abilita l'API Compute Engine nel progetto tenant utilizzando la Google Cloud console:
Vai al selettore di progetti.
Fai clic su Seleziona un progetto.
Seleziona
quickstart-tenant-project.Abilita l'API Compute Engine.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.Assicurati di disporre del seguente ruolo o dei seguenti ruoli nel progetto: roles/compute.admin
Controlla i ruoli
-
Nella Google Cloud console vai alla pagina IAM.
Vai a IAM - Seleziona il progetto.
-
Nella colonna Entità, trova tutte le righe che identificano te o un gruppo di cui fai parte. Per scoprire i gruppi di cui fai parte, contatta l' amministratore.
- Per tutte le righe che ti specificano o ti includono, controlla la colonna Ruolo per verificare se l'elenco dei ruoli include i ruoli richiesti.
Concedi i ruoli
-
Nella Google Cloud console vai alla pagina IAM.
Vai a IAM - Seleziona il progetto.
- Fai clic su Concedi l'accesso.
-
Nel campo Nuove entità, inserisci il tuo identificatore dell'utente. In genere si tratta dell'indirizzo email di un Account Google.
- Fai clic su Seleziona un ruolo, quindi cerca il ruolo.
- Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo aggiuntivo.
- Fai clic su Salva.
-
Eseguire il provisioning di un'unità con le variabili del progetto tenant
Dal progetto del produttore, esegui il provisioning di una nuova unità con le variabili di input del progetto tenant:
Vai al selettore di progetti.
Fai clic su Seleziona un progetto.
Seleziona il progetto del produttore.
Nella Google Cloud console, vai a App Lifecycle Manager > Unità.
Seleziona la risorsa
vm-quickstart-unit.Fai clic su Provisioning.
Seleziona la risorsa
vm-quickstart-tenant-release.Seleziona il service account di attivazione a cui hai concesso le autorizzazioni nel progetto tenant.
Nella sezione Variabili di input:
- La variabile
tenant_project_idè elencata come l'hai definita invariables.tf. - Nella casella ID progetto tenant, inserisci
quickstart-tenant-project.
- La variabile
Fai clic su Provisioning.
App Lifecycle Manager attiva Infrastructure Manager utilizzando il account di servizio di attivazione specificato. Infrastructure Manager legge la variabile tenant_project_id e crea la VM all'interno di quel progetto tenant.
Libera spazio
Per evitare che al tuo Google Cloud account vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
- Nella Google Cloud console, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Quando ti viene richiesto, digita l'ID progetto e fai clic su Arresta.
Passaggi successivi
- Scopri di più su come configurare progetti e risorse tenant.
- Utilizza le variabili e il mapping delle variabili per un'orchestrazione sofisticata dell'offerta SaaS (incluso il provisioning automatico delle risorse provisioning).