Questa guida spiega come utilizzare i tenant di SaaS Runtime per organizzare le unità di cui è stato 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, vedi Tenant e progetti tenant.
Prima di iniziare
Prima di creare progetti o risorse tenant:
- Crea una configurazione Terraform, un repository Artifact Registry e un artefatto contenente l'applicazione SaaS nel progetto del produttore. Consulta Esegui il deployment di un'istanza di servizio con Runtime SaaS per scoprire come configurare un'offerta SaaS.
Abilita le API richieste da Runtime SaaS.
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.Verifica di disporre dei service account e dei ruoli Identity and Access Management necessari concessi all'interno del progetto produttore. Ciò include il account di servizio creato dall'utente e le autorizzazioni concesse all'account
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.comnel progetto produttore.
Configura un progetto tenant
Quando esegui il provisioning delle risorse del tenant in progetti separati, le risorse, i criteri IAM, le quote e le configurazioni di rete vengono separati per ciascun tenant, riducendo la probabilità che violazioni o configurazioni errate di un tenant influiscano sugli altri.
Documenti necessari:
- un progetto producer e
un progetto tenant per ciascuno dei tuoi tenant.
Console
Per configurare i progetti tenant e produttore utilizzando la console Google Cloud :
- Crea un progetto produttore e un progetto tenant per ciascuno dei tuoi tenant.
- Abilita la fatturazione per i progetti del tenant e del produttore.
Abilita le API richieste da SaaS Runtime nei progetti tenant.
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.Verifica che i progetti tenant dispongano di service account di attivazione con le autorizzazioni richieste.
Per maggiori dettagli, vedi Service account Runtime SaaS.
Hai configurato correttamente i progetti tenant e produttore. Una volta creata e abilitata la fatturazione per i progetti produttore e tenant, puoi creare risorse tenant e associare unità ai tenant.
gcloud
Per configurare un progetto produttore e un progetto tenant utilizzando Google Cloud CLI:
Crea il progetto del produttore e un progetto tenant per ciascuno dei tuoi 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: una stringa identificatore che rappresenta l'ID progetto producer.TENANT_PROJECT_ID: Un identificatore stringa che rappresenta l'ID progetto tenant.
Abilita la fatturazione per i progetti del tenant e del produttore:
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: una stringa identificatore 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: una stringa identificatore che rappresenta l'ID progetto producer.SERVICE_ACCOUNT: L'account di servizio a cui vuoi concedere ruoli all'interno del progetto specificato.ROLE: il ruolo Identity and Access Management da concedere.Devi eseguire
gcloud projects add-iam-policy-bindingper ogni ruolo che vuoi concedere all'account di servizio specificato (ad esempio--role='roles/compute.admin').
Hai configurato correttamente i progetti tenant e produttore. Una volta creata e abilitata la fatturazione per i progetti produttore e tenant, puoi creare risorse tenant e associare unità ai tenant.
Crea una risorsa tenant
Crea una risorsa tenant nella tua offerta SaaS per rappresentare il tuo cliente:
Nella console Google Cloud , vai a SaaS Runtime > Tenant.
Fai clic su Crea.
Nella casella Nome tenant, inserisci un nome per la risorsa tenant.
(Facoltativo) Nella casella Risorsa cliente, fornisci una risorsa di consumo con impostazioni definite dal consumatore per l'integrazione.
Nella casella Offerta SaaS, seleziona l'offerta SaaS a cui vuoi associare il tuo 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 di coppia chiave-valore al tuo 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 e aver eseguito il deployment di un'unità, puoi collegarli tra loro. Questa associazione funge principalmente da tag organizzativo che ti aiuta a organizzare le unità che appartengono a ciascun tenant.
Per saperne di più sul deployment delle unità, consulta Esegui il deployment di una VM con Runtime SaaS.
Per associare un'unità a un tenant:
Nella console Google Cloud , vai a SaaS Runtime > Tenant.
Fai clic sul nome dell'inquilino che vuoi associare a un'unità.
Fai clic su Modifica.
Nella sezione Unità associate, fai clic su Aggiungi unità.
Seleziona le unità da associare a questo tenant.
Fai clic su Fine.
Fai clic su Salva.
Le unità selezionate sono associate al tenant indicato.
Esegui 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.
Vai a SaaS Runtime > Unità nella console Google Cloud .
Crea una nuova unità associata al tipo di unità.
Fai clic su Provisioning.
Seleziona la release da 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 file di configurazione Terraformvariables.tf. - 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.
Runtime SaaS 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 questo progetto tenant.
Eseguire nuovamente il provisioning di un'unità con una nuova release
Quando esegui il provisioning di una unità esistente con una nuova release, devi fornire
la variabile tenant_project_id.
Vai a SaaS Runtime > Unità nella console Google Cloud .
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 file di configurazione Terraformvariables.tf. - 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.
Runtime SaaS 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 questo progetto tenant.
Passaggi successivi
- Scopri come gestire le dipendenze tra le unità.
- Scopri di più sull'utilizzo delle variabili e della mappatura delle variabili.
- Rivedi le autorizzazioni richieste per i service account.