Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Manage tenants across multiple SaaS products on a single control plane (Gestione dei tenant su più prodotti SaaS su un unico piano di controllo (control-plane)) - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Manage tenants across multiple SaaS products on a single control plane (Gestione dei tenant su più prodotti SaaS su un unico piano di controllo (control-plane))

Creato da Ramanna Avancha (AWS), Jenifer Pascal (AWS), Kishan Kavala (AWS) e Anusha Mandava (AWS)

Riepilogo

Questo modello mostra come gestire i cicli di vita dei tenant su più prodotti SaaS (Software as a Service) su un unico piano di controllo nel cloud AWS. L'architettura di riferimento fornita può aiutare le organizzazioni a ridurre l'implementazione di funzionalità ridondanti e condivise nei singoli prodotti SaaS e fornire efficienze di governance su larga scala.

Le grandi aziende possono disporre di più prodotti SaaS in diverse unità aziendali. Questi prodotti spesso devono essere forniti per essere utilizzati da tenant esterni con diversi livelli di abbonamento. Senza una soluzione tenant comune, gli amministratori IT devono dedicare tempo alla gestione di funzionalità indifferenziate su più SaaS APIs, invece di concentrarsi sullo sviluppo delle funzionalità principali del prodotto.

La soluzione tenant comune fornita in questo modello può aiutare a centralizzare la gestione di molte delle funzionalità condivise dei prodotti SaaS di un'organizzazione, tra cui:

  • Sicurezza

  • Fornitura agli inquilini

  • Archiviazione dei dati degli inquilini

  • Comunicazioni con i tenant

  • Gestione del prodotto

  • Registrazione e monitoraggio delle metriche

Prerequisiti e limitazioni

Prerequisiti

  • Un account AWS attivo

  • Conoscenza di Amazon Cognito o di un provider di identità (IdP) di terze parti

  • Conoscenza di Amazon API Gateway

  • Conoscenza di AWS Lambda

  • Conoscenza di Amazon DynamoDB

  • Conoscenza di AWS Identity and Access Management (IAM)

  • Conoscenza di AWS Step Functions

  • Conoscenza di AWS CloudTrail e Amazon CloudWatch

  • Conoscenza delle librerie e del codice Python

  • Conoscenza del SaaS APIs, compresi i diversi tipi di utenti (organizzazioni, inquilini, amministratori e utenti delle applicazioni), i modelli di abbonamento e i modelli di isolamento dei tenant

  • Conoscenza dei requisiti SaaS multiprodotto e degli abbonamenti multi-tenant dell'organizzazione

Limitazioni

  • Le integrazioni tra la soluzione tenant comune e i singoli prodotti SaaS non sono coperte da questo modello.

  • Questo modello distribuisce il servizio Amazon Cognito solo in una singola regione AWS.

Architettura

Stack tecnologico Target

  • Amazon API Gateway

  • Amazon Cognito

  • AWS CloudTrail

  • Amazon CloudWatch

  • Amazon DynamoDB

  • IAM

  • AWS Lambda

  • Amazon Simple Storage Service (Amazon S3)

  • Servizio di notifica semplice Amazon (Amazon Simple Notification Service (Amazon SNS))

  • Funzioni AWS Step

Architettura Target

Il diagramma seguente mostra un esempio di flusso di lavoro per la gestione dei cicli di vita dei tenant su più prodotti SaaS su un unico piano di controllo nel cloud AWS.

Flusso di lavoro per la gestione dei cicli di vita dei tenant su un unico piano di controllo.

Il diagramma mostra il flusso di lavoro seguente:

  1. Un utente AWS avvia azioni relative al provisioning dei tenant, al provisioning dei prodotti o all'amministrazione effettuando una chiamata a un endpoint API Gateway.

  2. L'utente viene autenticato da un token di accesso recuperato da un pool di utenti di Amazon Cognito o da un altro IdP.

  3. Le singole attività di provisioning o amministrazione vengono eseguite da funzioni Lambda integrate con gli endpoint API API Gateway.

  4. L'amministrazione APIs della soluzione Common Tenant (per tenant, prodotti e utenti) raccoglie tutti i parametri di input, le intestazioni e i token richiesti. Quindi, l'amministrazione APIs richiama le funzioni Lambda associate.

  5. Le autorizzazioni IAM sia per l'amministrazione che per APIs le funzioni Lambda sono convalidate dal servizio IAM.

  6. Le funzioni Lambda archiviano e recuperano i dati dai cataloghi (per tenant, prodotti e utenti) in DynamoDB e Amazon S3.

  7. Dopo la convalida delle autorizzazioni, viene richiamato un flusso di lavoro AWS Step Functions per eseguire un'attività specifica. L'esempio nel diagramma mostra un flusso di lavoro di provisioning dei tenant.

  8. Le singole attività del flusso di lavoro AWS Step Functions vengono eseguite in un flusso di lavoro predeterminato (macchina a stati).

  9. Tutti i dati essenziali necessari per eseguire la funzione Lambda associata a ciascuna attività del flusso di lavoro vengono recuperati da DynamoDB o Amazon S3. Potrebbe essere necessario effettuare il provisioning di altre risorse AWS utilizzando un CloudFormation modello AWS.

  10. Se necessario, il flusso di lavoro invia una richiesta di fornitura di risorse AWS aggiuntive per uno specifico prodotto SaaS all'account AWS di quel prodotto.

  11. Quando la richiesta ha esito positivo o negativo, il flusso di lavoro pubblica l'aggiornamento di stato come messaggio su un argomento di Amazon SNS.

  12. Amazon SNS è abbonato all'argomento Amazon SNS del flusso di lavoro Step Functions.

  13. Amazon SNS invia quindi l'aggiornamento dello stato del flusso di lavoro all'utente AWS.

  14. I log delle azioni di ogni servizio AWS, incluso un audit trail delle chiamate API, vengono inviati a CloudWatch. È possibile configurare regole e allarmi specifici CloudWatch per ogni caso d'uso.

  15. I log vengono archiviati in bucket Amazon S3 per scopi di controllo.

Automazione e scalabilità

Questo modello utilizza un CloudFormation modello per aiutare ad automatizzare l'implementazione della soluzione tenant comune. Il modello può anche aiutarti a scalare rapidamente verso l'alto o verso il basso le risorse associate.

Per ulteriori informazioni, consulta Working with AWS CloudFormation templates nella AWS CloudFormation User Guide.

Strumenti

Servizi AWS

  • Amazon API Gateway ti aiuta a creare, pubblicare, gestire, monitorare e proteggere REST, HTTP e WebSocket APIs su qualsiasi scala.

  • Amazon Cognito fornisce autenticazione, autorizzazione e gestione degli utenti per app Web e mobili.

  • AWS ti CloudTrail aiuta a controllare la governance, la conformità e il rischio operativo del tuo account AWS.

  • Amazon ti CloudWatch aiuta a monitorare i parametri delle tue risorse AWS e delle applicazioni che esegui su AWS in tempo reale.

  • Amazon DynamoDB è un servizio di database NoSQL interamente gestito che offre prestazioni elevate, prevedibili e scalabili.

  • AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.

  • AWS Lambda è un servizio di elaborazione che ti aiuta a eseguire codice senza dover fornire o gestire server. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di calcolo che utilizzi.

  • Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.

  • Amazon Simple Notification Service (Amazon SNS) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.

  • AWS Step Functions è un servizio di orchestrazione serverless che ti aiuta a combinare le funzioni di AWS Lambda e altri servizi AWS per creare applicazioni aziendali critiche.

Best practice

La soluzione in questo modello utilizza un unico piano di controllo per gestire l'onboarding di più tenant e fornire l'accesso a più prodotti SaaS. Il piano di controllo aiuta gli utenti amministrativi a gestire altri quattro piani specifici per funzionalità:

  • Piano di sicurezza

  • Piano del flusso di lavoro

  • Piano di comunicazione

  • Piano di registrazione e monitoraggio

Epiche

AttivitàDescrizioneCompetenze richieste

Stabilisci i requisiti per la tua piattaforma SaaS multi-tenant.

Stabilisci requisiti dettagliati per quanto segue:

  • Tenant

  • Utenti

  • Roles

  • Prodotti SaaS

  • Sottoscrizioni

  • Scambi di profili

Architetto cloud, amministratore di sistema AWS

Configura il servizio Amazon Cognito.

Segui le istruzioni in Introduzione ad Amazon Cognito nella Amazon Cognito Developer Guide.

Architetto del cloud

Configura le politiche IAM richieste.

Crea le policy IAM richieste per il tuo caso d'uso. Quindi, associa le policy ai ruoli IAM in Amazon Cognito.

Per ulteriori informazioni, consulta Gestire l'accesso utilizzando le policy e il controllo degli accessi basato sui ruoli nella Amazon Cognito Developer Guide.

Amministratore cloud, architetto cloud, sicurezza AWS IAM

Configura le autorizzazioni API richieste.

Configura le autorizzazioni di accesso all'API Gateway utilizzando i ruoli e le policy IAM e gli autorizzatori Lambda.

Per istruzioni, consulta le seguenti sezioni della Amazon API Gateway Developer Guide:

Amministratore cloud, architetto cloud

Configura il piano di sicurezza

AttivitàDescrizioneCompetenze richieste

Stabilisci i requisiti per la tua piattaforma SaaS multi-tenant.

Stabilisci requisiti dettagliati per quanto segue:

  • Tenant

  • Utenti

  • Roles

  • Prodotti SaaS

  • Sottoscrizioni

  • Scambi di profili

Architetto cloud, amministratore di sistema AWS

Configura il servizio Amazon Cognito.

Segui le istruzioni in Introduzione ad Amazon Cognito nella Amazon Cognito Developer Guide.

Architetto del cloud

Configura le politiche IAM richieste.

Crea le policy IAM richieste per il tuo caso d'uso. Quindi, associa le policy ai ruoli IAM in Amazon Cognito.

Per ulteriori informazioni, consulta Gestire l'accesso utilizzando le policy e il controllo degli accessi basato sui ruoli nella Amazon Cognito Developer Guide.

Amministratore cloud, architetto cloud, sicurezza AWS IAM

Configura le autorizzazioni API richieste.

Configura le autorizzazioni di accesso all'API Gateway utilizzando i ruoli e le policy IAM e gli autorizzatori Lambda.

Per istruzioni, consulta le seguenti sezioni della Amazon API Gateway Developer Guide:

Amministratore cloud, architetto cloud
AttivitàDescrizioneCompetenze richieste

Crea i cataloghi di dati richiesti.

  1. Crea tabelle DynamoDB per archiviare i dati per i cataloghi degli utenti. Assicurati di includere gli attributi e i ruoli utente. Inoltre, assicuratevi di eseguire la modellazione dei dati sulle tabelle del catalogo per mantenere gli attributi obbligatori e facoltativi per ogni utente e ruolo.

  2. Crea tabelle DynamoDB per archiviare i dati per i cataloghi di prodotti. Assicurati di modellare i casi d'uso specifici per i tuoi prodotti SaaS.

  3. Crea tabelle DynamoDB per archiviare i dati per i cataloghi dei tenant. Assicurati di configurare modelli di abbonamento per tenant, prodotti e licenze per abbonamenti multi-SaaS e tag.

Per ulteriori informazioni, consulta Configurazione di DynamoDB nella Amazon DynamoDB Developer Guide.

DBA

Configura il piano dati

AttivitàDescrizioneCompetenze richieste

Crea i cataloghi di dati richiesti.

  1. Crea tabelle DynamoDB per archiviare i dati per i cataloghi degli utenti. Assicurati di includere gli attributi e i ruoli utente. Inoltre, assicuratevi di eseguire la modellazione dei dati sulle tabelle del catalogo per mantenere gli attributi obbligatori e facoltativi per ogni utente e ruolo.

  2. Crea tabelle DynamoDB per archiviare i dati per i cataloghi di prodotti. Assicurati di modellare i casi d'uso specifici per i tuoi prodotti SaaS.

  3. Crea tabelle DynamoDB per archiviare i dati per i cataloghi dei tenant. Assicurati di configurare modelli di abbonamento per tenant, prodotti e licenze per abbonamenti multi-SaaS e tag.

Per ulteriori informazioni, consulta Configurazione di DynamoDB nella Amazon DynamoDB Developer Guide.

DBA
AttivitàDescrizioneCompetenze richieste

Crea funzioni Lambda e API Gateway APIs per eseguire le attività richieste dal piano di controllo.

Crea funzioni Lambda e API Gateway separati APIs per aggiungere, eliminare e gestire quanto segue:

  • Utenti

  • Tenant

  • Prodotti

Per ulteriori informazioni, consulta Using AWS Lambda with Amazon API Gateway nella AWS Lambda Developer Guide.

Sviluppatore di app

Configurare il piano di controllo

AttivitàDescrizioneCompetenze richieste

Crea funzioni Lambda e API Gateway APIs per eseguire le attività richieste dal piano di controllo.

Crea funzioni Lambda e API Gateway separati APIs per aggiungere, eliminare e gestire quanto segue:

  • Utenti

  • Tenant

  • Prodotti

Per ulteriori informazioni, consulta Using AWS Lambda with Amazon API Gateway nella AWS Lambda Developer Guide.

Sviluppatore di app
AttivitàDescrizioneCompetenze richieste

Identifica le attività che i flussi di lavoro di AWS Step Functions devono eseguire.

Identifica e documenta i requisiti dettagliati del flusso di lavoro di AWS Step Functions per quanto segue:

  • Utenti

  • Tenant

  • Prodotti

Importante

Assicurati che le principali parti interessate approvino i requisiti.

Proprietario dell'app

Crea i flussi di lavoro AWS Step Functions richiesti.

  1. Crea i flussi di lavoro richiesti per utenti, tenant e prodotti in AWS Step Functions. Per ulteriori informazioni, consulta la AWS Step Functions Developer Guide.

  2. Identifica i meccanismi di gestione dei tentativi e degli errori. Per ulteriori informazioni, consulta Gestione degli errori, nuovi tentativi e aggiunta di avvisi alle macchine a stati Step Function sul blog di AWS.

  3. Implementa le fasi del flusso di lavoro utilizzando le funzioni Lambda. Per istruzioni, consulta Creazione di una macchina a stati Step Functions che utilizza Lambda nella AWS Step Functions Developer Guide.

  4. Integra qualsiasi servizio esterno con AWS Step Functions in base alle esigenze.

  5. Gestisci lo stato di ogni flusso di lavoro in una tabella DynamoDB e comunica lo stato di ogni flusso di lavoro utilizzando Amazon SNS.

Sviluppatore di app, Build lead

Configura il piano del flusso di lavoro

AttivitàDescrizioneCompetenze richieste

Identifica le attività che i flussi di lavoro di AWS Step Functions devono eseguire.

Identifica e documenta i requisiti dettagliati del flusso di lavoro di AWS Step Functions per quanto segue:

  • Utenti

  • Tenant

  • Prodotti

Importante

Assicurati che le principali parti interessate approvino i requisiti.

Proprietario dell'app

Crea i flussi di lavoro AWS Step Functions richiesti.

  1. Crea i flussi di lavoro richiesti per utenti, tenant e prodotti in AWS Step Functions. Per ulteriori informazioni, consulta la AWS Step Functions Developer Guide.

  2. Identifica i meccanismi di gestione dei tentativi e degli errori. Per ulteriori informazioni, consulta Gestione degli errori, nuovi tentativi e aggiunta di avvisi alle macchine a stati Step Function sul blog di AWS.

  3. Implementa le fasi del flusso di lavoro utilizzando le funzioni Lambda. Per istruzioni, consulta Creazione di una macchina a stati Step Functions che utilizza Lambda nella AWS Step Functions Developer Guide.

  4. Integra qualsiasi servizio esterno con AWS Step Functions in base alle esigenze.

  5. Gestisci lo stato di ogni flusso di lavoro in una tabella DynamoDB e comunica lo stato di ogni flusso di lavoro utilizzando Amazon SNS.

Sviluppatore di app, Build lead
AttivitàDescrizioneCompetenze richieste

Crea argomenti Amazon SNS.

Crea argomenti Amazon SNS per ricevere notifiche su quanto segue:

  • Stati del flusso di lavoro

  • Errori

  • Tentativi

Per ulteriori informazioni, consulta l'argomento Creazione di un SNS nella Amazon SNS Developer Guide.

Proprietario dell'app, Cloud architect

Sottoscrivi gli endpoint a ogni argomento di Amazon SNS.

Per ricevere messaggi pubblicati su un argomento di Amazon SNS, devi sottoscrivere un endpoint per ogni argomento.

Per ulteriori informazioni, consulta l'argomento Abbonamento a un argomento Amazon SNS nella Amazon SNS Developer Guide.

Sviluppatore di app, architetto cloud

Configura il piano di comunicazione

AttivitàDescrizioneCompetenze richieste

Crea argomenti Amazon SNS.

Crea argomenti Amazon SNS per ricevere notifiche su quanto segue:

  • Stati del flusso di lavoro

  • Errori

  • Tentativi

Per ulteriori informazioni, consulta l'argomento Creazione di un SNS nella Amazon SNS Developer Guide.

Proprietario dell'app, Cloud architect

Sottoscrivi gli endpoint a ogni argomento di Amazon SNS.

Per ricevere messaggi pubblicati su un argomento di Amazon SNS, devi sottoscrivere un endpoint per ogni argomento.

Per ulteriori informazioni, consulta l'argomento Abbonamento a un argomento Amazon SNS nella Amazon SNS Developer Guide.

Sviluppatore di app, architetto cloud
AttivitàDescrizioneCompetenze richieste

Attiva la registrazione per ogni componente della soluzione tenant comune.

Attiva la registrazione a livello di componente per ogni risorsa nella soluzione tenant comune che hai creato.

Per le istruzioni, consulta quanto segue:

Nota

Puoi consolidare i log di ogni risorsa in un account di registrazione centralizzato utilizzando le policy IAM. Per ulteriori informazioni, consulta Registrazione centralizzata e barriere di sicurezza per più account.

Sviluppatore di app, amministratore di sistema AWS, amministratore cloud

Configura il piano di registrazione e monitoraggio

AttivitàDescrizioneCompetenze richieste

Attiva la registrazione per ogni componente della soluzione tenant comune.

Attiva la registrazione a livello di componente per ogni risorsa nella soluzione tenant comune che hai creato.

Per le istruzioni, consulta quanto segue:

Nota

Puoi consolidare i log di ogni risorsa in un account di registrazione centralizzato utilizzando le policy IAM. Per ulteriori informazioni, consulta Registrazione centralizzata e barriere di sicurezza per più account.

Sviluppatore di app, amministratore di sistema AWS, amministratore cloud
AttivitàDescrizioneCompetenze richieste

Crea CloudFormation modelli.

Automatizza l'implementazione e la manutenzione della soluzione Common Tenant completa e di tutti i suoi componenti utilizzando CloudFormation i modelli.

Per ulteriori informazioni, consulta la AWS CloudFormation User Guide.

Sviluppatore di app, DevOps ingegnere, CloudFormation sviluppatore

Fornisci e distribuisci la soluzione tenant comune

AttivitàDescrizioneCompetenze richieste

Crea CloudFormation modelli.

Automatizza l'implementazione e la manutenzione della soluzione Common Tenant completa e di tutti i suoi componenti utilizzando CloudFormation i modelli.

Per ulteriori informazioni, consulta la AWS CloudFormation User Guide.

Sviluppatore di app, DevOps ingegnere, CloudFormation sviluppatore

Risorse correlate

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.