Questa guida spiega come utilizzare i tenant di App Lifecycle Manager per organizzare le unità di cui hai eseguito il deployment e come eseguire il deployment delle risorse in progetti tenant separati per isolare e gestire le risorse.
Per una panoramica dei tenant e dei progetti tenant, consulta Tenant e progetti tenant.
Prima di iniziare
Prima di creare progetti tenant o risorse:
- Crea una configurazione Terraform, un repository Artifact Registry e un artefatto contenente l'applicazione SaaS nel progetto producer. Per scoprire come configurare un'offerta SaaS, consulta Eseguire il deployment di un'istanza di servizio con App Lifecycle Manager per informazioni.
Abilita le API richieste da App Lifecycle Manager.
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.Verifica di aver concesso i service account e i ruoli Identity and Access Management necessari all'interno del progetto producer. 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 producer.
Configurare un progetto tenant
Quando esegui il provisioning delle risorse del tenant in progetti separati, le risorse, le policy IAM, le quote e le configurazioni di rete vengono separate per ogni tenant, riducendo la probabilità che violazioni o configurazioni errate di un tenant influiscano sugli altri.
Documenti necessari:
- Un progetto producer.
Un progetto tenant per ogni tenant.
Console
Per configurare i progetti tenant e producer utilizzando la Google Cloud console:
- Crea un progetto producer e un progetto tenant per ogni tenant.
- Abilita la fatturazione nei progetti tenant e producer.
Abilita le API richieste da App Lifecycle Manager nei progetti tenant.
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.Verifica che i progetti tenant dispongano di service account di attivazione con le autorizzazioni richieste.
Per maggiori dettagli, consulta Service account di App Lifecycle Manager.
Hai configurato correttamente i progetti tenant e producer. Dopo aver creato e abilitato la fatturazione per i progetti producer e tenant, puoi creare risorse tenant e associare unità ai tenant.
gcloud
Per configurare i progetti producer e tenant utilizzando Google Cloud CLI:
Crea il progetto producer e un progetto tenant per ogni tenant:
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]Sostituisci:
PRODUCER_PROJECT_ID: un identificatore stringa che rappresenta l'ID progetto producer.TENANT_PROJECT_ID: un identificatore stringa che rappresenta l'ID progetto tenant.
Abilita la fatturazione per i progetti tenant e producer:
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_IDSostituisci:
PRODUCER_PROJECT_ID: un identificatore stringa che rappresenta l'ID progetto producer.TENANT_PROJECT_ID: un identificatore stringa che rappresenta l'ID progetto tenant.BILLING_ACCOUNT_ID: l'ID dell'account di fatturazione che vuoi associare al progetto specificato.
Concedi al account di servizio di attivazione i ruoli Identity and Access Management necessari per ogni progetto tenant:
gcloud projects add-iam-policy-binding TENANT_PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT@PRODUCER_PROJECT_ID.iam.gserviceaccount.com' \ --role=ROLESostituisci:
TENANT_PROJECT_ID: un identificatore stringa che rappresenta l'ID progetto tenant.PRODUCER_PROJECT_ID: un identificatore stringa che rappresenta l'ID progetto producer.SERVICE_ACCOUNT: il account di servizio a cui vuoi concedere i ruoli all'interno del progetto specificato.ROLE: il ruolo Identity and Access Management da concedere.Dovrai eseguire
gcloud projects add-iam-policy-bindingper ogni ruolo che vuoi concedere al account di servizio specificato (--role='roles/compute.admin', ad esempio).
Hai configurato correttamente i progetti tenant e producer. Dopo aver creato e abilitato la fatturazione per i progetti producer e tenant, puoi creare risorse tenant e associare unità ai tenant.
Creare una risorsa tenant
Crea una risorsa tenant nella tua offerta SaaS per rappresentare il cliente:
Nella Google Cloud console, vai a App Lifecycle Manager > Tenant.
Fai clic su Crea.
Nella casella Nome tenant, inserisci un nome per la risorsa tenant.
(Facoltativo) Nella casella Risorsa cliente, fornisci una risorsa consumer con impostazioni definite dal consumer per l'integrazione.
Nella casella Offerta SaaS, seleziona l'offerta SaaS a cui vuoi associare il tenant.
Nel menu a discesa Regione, seleziona una regione in cui verranno archiviati i metadati del tenant.
(Facoltativo) Fai clic su Aggiungi etichetta per aggiungere un'etichetta coppia chiave-valore al tenant.
Fai clic su Crea per creare la risorsa tenant.
Hai creato una risorsa tenant.
Associare un'unità a un tenant
Dopo aver creato un tenant ed eseguito il deployment di un'unità, puoi collegarli tra loro. Questa associazione funge principalmente da tag organizzativo che ti aiuta a organizzare le unità appartenenti a un tenant.
Per ulteriori informazioni sul deployment delle unità, consulta Eseguire il deployment di una VM con App Lifecycle Manager.
Per associare un'unità a un tenant:
Nella Google Cloud console, vai a App Lifecycle Manager > Tenant.
Fai clic sul nome del tenant che vuoi associare a un'unità.
Fai clic su Modifica.
Nella sezione Unità associate, fai clic su Aggiungi unità.
Seleziona le unità che vuoi associare a questo tenant.
Fai clic su Fine.
Fai clic su Salva.
Le unità selezionate sono associate al tenant indicato.
Eseguire il provisioning di una nuova unità con le variabili del progetto tenant
Quando esegui il provisioning di un'unità associata a un tenant, devi fornire la variabile tenant_project_id.
Nella Google Cloud console, vai a App Lifecycle Manager > Unità.
Crea una nuova unità associata al tipo di unità.
Fai clic su Provisioning.
Seleziona la release di cui vuoi eseguire il provisioning nell'unità tenant.
Seleziona il service account di attivazione a cui hai concesso le autorizzazioni nel progetto tenant. Devi seguire il principio del privilegio minimo e concedere solo i ruoli necessari per le risorse gestite.
Nella sezione Variabili di input:
- Verifica che la variabile
tenant_project_idsia elencata come l'hai definita nel filevariables.tfdella configurazione Terraform. - Nella casella ID progetto tenant, fornisci il nome del progetto tenant.
- Fornisci le variabili di input definite nella configurazione Terraform. Se non hai definito altre variabili nella configurazione Terraform, salta questo passaggio.
- Verifica che 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 del progetto tenant.
Eseguire di nuovo il provisioning di un'unità con una nuova release
Quando esegui di nuovo il provisioning di un'unità esistente con una nuova release, devi fornire la variabile tenant_project_id.
Nella Google Cloud console, vai a App Lifecycle Manager > Unità.
Seleziona l'unità associata al tipo di unità.
Fai clic su Modifica provisioning.
Seleziona la release che hai creato con la configurazione Terraform aggiornata.
Seleziona il service account di attivazione a cui hai concesso le autorizzazioni nel progetto tenant. Devi seguire il principio del privilegio minimo e concedere solo i ruoli necessari per le risorse gestite.
Nella sezione Variabili di input:
- Verifica che la variabile
tenant_project_idsia elencata come l'hai definita nel filevariables.tfdella configurazione Terraform. - Nella casella ID progetto tenant, fornisci il nome del progetto tenant.
- Fornisci le variabili di input definite nella configurazione Terraform. Se non hai definito altre variabili nella configurazione Terraform, salta questo passaggio.
- Verifica che la variabile
Fai clic su Aggiorna.
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 del progetto tenant.
Passaggi successivi
- Scopri come gestire le dipendenze tra le unità.
- Scopri di più sull'utilizzo delle variabili e del mapping delle variabili.
- Esamina le autorizzazioni richieste per i service account.