Tenant e progetti tenant

Questa guida fornisce una panoramica dei tenant di Runtime SaaS e di come puoi utilizzarli per organizzare la tua offerta SaaS.

Tenant e progetti tenant

Una risorsa tenant di Runtime SaaS rappresenta un cliente logico, un client o un tenant della tua offerta SaaS. Funge principalmente da strumento organizzativo che ti aiuta a raggruppare le unità appartenenti a un tenant specifico.

Se la tua offerta SaaS ha più tenant, ti consigliamo di eseguire il provisioning delle risorse di ogni tenant in un progetto Google Cloud separato. Per separare le risorse del tenant in progetti Google Cloud dedicati, devi creare almeno due progetti:

  • Progetto produttore:il progetto in cui è configurata la tua offerta SaaS. Per l'applicazione SaaS è necessario un solo progetto di produttore.
  • Progetti tenant: i progetti con risorse Runtime SaaS per un tenant specifico. Ti consigliamo di creare un progetto per ciascuno dei tuoi tenant.

L'utilizzo di progetti separati per ogni tenant consente di impostare configurazioni (ad esempio, criteri IAM o peering di rete) all'interno dei progetti tenant e ti aiuta a monitorare i costi e gestire le risorse per ogni tenant.

Service account di attivazione in un progetto tenant

Il service account di attivazione ha bisogno delle autorizzazioni nel progetto tenant per creare e gestire le risorse definite nella configurazione Terraform. Ti consigliamo di configurare un account di attivazione separato per ciascuno dei tuoi inquilini.

Per saperne di più sui service account di attivazione e sulle autorizzazioni potenzialmente richieste, consulta Service account di attivazione.

API in un progetto tenant

Quando SaaS Runtime (tramite Infrastructure Manager e il service account di attivazione) tenta di creare risorse (ad esempio una VM) in un progetto tenant, le API necessarie devono essere abilitate in quel progetto tenant. In caso contrario, il provisioning non riuscirà.

Devi abilitare le API per tutti i tipi di risorse utilizzati dalla configurazione Terraform all'interno di un progetto tenant.

Utilizzare un tipo di unità provvisorio per automatizzare la configurazione del tenant

La creazione manuale di progetti, l'attivazione di API e la configurazione di IAM per ogni nuovo tenant richiedono molto tempo e sono soggette a errori. Puoi automatizzare il processo di configurazione del tenant utilizzando Runtime SaaS creando un tipo di unità provvisorio contenente una configurazione Terraform che:

  • Crea un nuovo progetto Google Cloud per il tenant.
  • Abilita le API necessarie nel nuovo progetto.
  • Crea un account di servizio di attivazione dedicato per il tenant di cui è stato eseguito il provisioning (nel progetto produttore o nel progetto tenant).
  • Concede le autorizzazioni IAM necessarie ai service account all'interno del progetto tenant.
  • Configura il networking, la registrazione o altre infrastrutture di base.

Il tipo di unità provvisorio deve:

  • Definisci le variabili Terraform output per tenant_project_id, tenant_project_number e l'email actuation_sa che crea.
  • Ricevi tenant_id come variabile input.

Configura il tipo di unità dell'applicazione in modo che dipenda dal tipo di unità provvisorio e mappa le variabili di output alle variabili di input corrispondenti dell'unità dell'applicazione.

Dopo aver configurato le dipendenze del tipo di unità, SaaS Runtime verifica che l'unità di infrastruttura tenant sottostante sia sottoposta a provisioning (creando un progetto tenant e configurandone le autorizzazioni) prima che venga eseguito il provisioning dell'unità contenente l'applicazione.

Per ulteriori dettagli sull'implementazione di questo pattern, consulta Gestire le dipendenze tra le unità e Utilizzare le variabili.

Passaggi successivi