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 (), Kishan Kavala (AWS) e Anusha Mandava () AWS 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 del tempo alla gestione di funzionalità indifferenziate su più SaaSAPIs, 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
Approvvigionamento per gli inquilini
Archiviazione dei dati degli inquilini
Comunicazioni con i tenant
Gestione del prodotto
Registrazione e monitoraggio delle metriche
Prerequisiti e limitazioni
Prerequisiti
Un account attivo AWS
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 dell'AWSIdentity and Access Management (IAM)
Conoscenza di AWS Step Functions
Conoscenza AWS CloudTrail e Amazon CloudWatch
Conoscenza delle librerie e del codice Python
Conoscenza del SaaSAPIs, 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 implementa il servizio Amazon Cognito solo in una AWS singola regione.
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 (AmazonSNS)
AWSFunzioni 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.](images/pattern-img/4306bc76-22a7-45ca-a107-43df6c6f7ac8/images/700faf4d-c28f-4814-96aa-2d895cdcb518.png)
Il diagramma mostra il flusso di lavoro seguente:
Un AWS utente avvia azioni relative al provisioning dei tenant, al provisioning dei prodotti o all'amministrazione effettuando una chiamata a un endpoint Gateway. API
L'utente viene autenticato da un token di accesso recuperato da un pool di utenti di Amazon Cognito o da un altro IdP.
Le singole attività di provisioning o amministrazione sono eseguite da funzioni Lambda integrate API con API gli endpoint Gateway.
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.
IAMle autorizzazioni sia per l'amministrazione che per APIs le funzioni Lambda sono convalidate dal servizio. IAM
Le funzioni Lambda archiviano e recuperano i dati dai cataloghi (per tenant, prodotti e utenti) in DynamoDB e Amazon S3.
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 per il provisioning dei tenant.
Le singole attività del flusso di lavoro AWS Step Functions vengono eseguite in un flusso di lavoro predeterminato (macchina a stati).
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 fornire altre AWS risorse utilizzando un modello. AWS CloudFormation
Se necessario, il flusso di lavoro invia una richiesta di fornitura di AWS risorse aggiuntive per un prodotto SaaS specifico all'account di AWS quel prodotto.
Quando la richiesta ha esito positivo o negativo, il flusso di lavoro pubblica l'aggiornamento dello stato come messaggio su un argomento di AmazonSNS.
Amazon SNS è abbonata all'SNSargomento Amazon del flusso di lavoro Step Functions.
Amazon invia SNS quindi l'aggiornamento dello stato del flusso di lavoro all'AWSutente.
I registri delle azioni di ciascun AWS servizio, inclusa una traccia di controllo delle API chiamate, vengono inviati a CloudWatch. È possibile configurare regole e allarmi specifici CloudWatch per ogni caso d'uso.
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 Lavorare con AWS CloudFormation i modelli nella Guida AWS CloudFormation per l'utente.
Strumenti
Servizi AWS
Amazon API Gateway ti aiuta a creare, pubblicare, gestire RESTHTTP, monitorare e proteggere WebSocket APIs su qualsiasi scala.
Amazon Cognito fornisce autenticazione, autorizzazione e gestione degli utenti per app Web e mobili.
AWS CloudTrailti aiuta a controllare la governance, la conformità e il rischio operativo del tuo AWS account.
Amazon ti CloudWatch aiuta a monitorare i parametri delle tue AWS risorse e delle applicazioni su cui esegui AWS in tempo reale.
Amazon DynamoDB è un servizio di database SQL No completamente gestito che offre prestazioni veloci, prevedibili e scalabili.
AWSIdentity and Access Management (IAM) consente di gestire in modo sicuro l'accesso alle AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.
AWSLambda è un servizio di elaborazione che ti aiuta a eseguire il codice senza dover effettuare il provisioning o gestire i server. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione 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 (AmazonSNS) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.
AWSStep Functions è un servizio di orchestrazione serverless che consente di combinare funzioni AWS Lambda e altri AWS servizi 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à | Descrizione | Competenze richieste |
---|---|---|
Stabilisci i requisiti per la tua piattaforma SaaS multi-tenant. | Stabilisci requisiti dettagliati per quanto segue:
| Architetto cloud, amministratore AWS di sistema |
Configura il servizio Amazon Cognito. | Segui le istruzioni in Introduzione ad Amazon Cognito nella Amazon Cognito Developer Guide. | Architetto del cloud |
Configura le IAM politiche richieste. | Crea le IAM politiche richieste per il tuo caso d'uso. Quindi, associa le politiche ai IAM ruoli 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 del cloud, architetto del cloud, sicurezza AWS IAM |
Configura le API autorizzazioni richieste. | Configura le autorizzazioni di accesso al API gateway utilizzando IAM ruoli e policy e autorizzatori Lambda. Per istruzioni, consulta le seguenti sezioni della Amazon API Gateway Developer Guide: | Amministratore cloud, architetto cloud |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea i cataloghi di dati richiesti. |
Per ulteriori informazioni, consulta Configurazione di DynamoDB nella Amazon DynamoDB Developer Guide. | DBA |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea funzioni Lambda e API Gateway APIs per eseguire le attività richieste sul piano di controllo. | Crea funzioni Lambda e API gateway separati APIs per aggiungere, eliminare e gestire quanto segue:
Per ulteriori informazioni, consulta Using AWS Lambda with Amazon API Gateway nella AWSLambda Developer Guide. | Sviluppatore di app |
Attività | Descrizione | Competenze 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 AWS Step Functions per quanto segue:
ImportanteAssicurati che le principali parti interessate approvino i requisiti. | Proprietario dell'app |
Crea i flussi di lavoro AWS Step Functions richiesti. |
| Sviluppatore di app, Build lead |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea SNS argomenti Amazon. | Crea SNS argomenti Amazon per ricevere notifiche su quanto segue:
Per ulteriori informazioni, consulta Creating an SNS topic nella Amazon SNS Developer Guide. | Proprietario dell'app, Cloud architect |
Sottoscrivi gli endpoint a ogni SNS argomento di Amazon. | Per ricevere messaggi pubblicati su un SNS argomento Amazon, devi sottoscrivere un endpoint per ogni argomento. Per ulteriori informazioni, consulta l'argomento Abbonamento a un SNS argomento Amazon nell'Amazon SNS Developer Guide. | Sviluppatore di app, architetto cloud |
Attività | Descrizione | Competenze 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:
NotaPuoi consolidare i log di ogni risorsa in un account di registrazione centralizzato utilizzando le policy. IAM Per ulteriori informazioni, consulta Registrazione centralizzata e protezioni di sicurezza per più account. | Sviluppatore di app, amministratore di sistema, amministratore cloud AWS |
Attività | Descrizione | Competenze 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 Guida per l'utente AWS CloudFormation . | Sviluppatore di app, DevOps ingegnere, sviluppatore CloudFormation |
Risorse correlate
Controlla l'accesso a un pool di utenti REST API che utilizza Amazon Cognito come autorizzatore (Amazon API Gateway Developer Guide)
Usa gli autorizzatori API Gateway Lambda (Amazon API Gateway Developer Guide)
Pool di utenti di Amazon Cognito (Amazon Cognito Developer Guide)
CloudWatch Console per più account e più regioni (Amazon CloudWatch User Guide)