Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Gestion des locataires sur plusieurs produits SaaS sur un seul plan de contrôle - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des locataires sur plusieurs produits SaaS sur un seul plan de contrôle

Créée par Ramanna Avancha (AWS), Jenifer Pascal (AWS), Kishan Kavala (AWS) et Anusha Mandava (AWS)

Récapitulatif

Ce modèle montre comment gérer le cycle de vie des clients sur plusieurs produits SaaS (Software as a Service) sur un seul plan de contrôle dans le cloud AWS. L'architecture de référence fournie peut aider les entreprises à réduire la mise en œuvre de fonctionnalités redondantes et partagées dans leurs produits SaaS individuels et à améliorer l'efficacité de la gouvernance à grande échelle.

Les grandes entreprises peuvent proposer plusieurs produits SaaS dans différentes unités commerciales. Ces produits doivent souvent être fournis pour être utilisés par des locataires externes à différents niveaux d'abonnement. Sans solution mutualisée, les administrateurs informatiques doivent passer du temps à gérer des fonctionnalités indifférenciées entre plusieurs SaaS APIs, au lieu de se concentrer sur le développement des fonctionnalités de base du produit.

La solution de locataire commun proposée dans ce modèle peut aider à centraliser la gestion de nombreuses fonctionnalités des produits SaaS partagés d'une entreprise, notamment les suivantes :

  • Sécurité

  • Provisionnement pour les locataires

  • Stockage des données des locataires

  • Communications avec les locataires

  • Gestion des produits

  • Enregistrement et surveillance des métriques

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif

  • Connaissance d'Amazon Cognito ou d'un fournisseur d'identité (IdP) tiers

  • Connaissance d'Amazon API Gateway

  • Connaissance d'AWS Lambda

  • Connaissance d'Amazon DynamoDB

  • Connaissance d'AWS Identity and Access Management (IAM)

  • Connaissance d'AWS Step Functions

  • Connaissance d'AWS CloudTrail et d'Amazon CloudWatch

  • Connaissance des bibliothèques et du code Python

  • Connaissance du SaaS APIs, notamment des différents types d'utilisateurs (organisations, locataires, administrateurs et utilisateurs d'applications), des modèles d'abonnement et des modèles d'isolation des locataires

  • Connaissance des exigences SaaS multi-produits et des abonnements multi-locataires de votre entreprise

Limites

  • Les intégrations entre la solution mutualisée et les produits SaaS individuels ne sont pas couvertes par ce modèle.

  • Ce modèle déploie le service Amazon Cognito uniquement dans une seule région AWS.

Architecture

Pile technologique cible

  • Amazon API Gateway

  • Amazon Cognito

  • AWS CloudTrail

  • Amazon CloudWatch

  • Amazon DynamoDB

  • IAM

  • AWS Lambda

  • Amazon Simple Storage Service (Amazon S3)

  • Amazon Simple Notification Service (Amazon SNS)

  • Fonctions d'AWS Step

Architecture cible

Le schéma suivant montre un exemple de flux de travail pour gérer le cycle de vie des locataires sur plusieurs produits SaaS sur un seul plan de contrôle dans le cloud AWS.

Flux de travail pour gérer le cycle de vie des locataires sur un plan de contrôle unique.

Le schéma suivant illustre le flux de travail suivant :

  1. Un utilisateur AWS lance le provisionnement des locataires, le provisionnement des produits ou des actions liées à l'administration en appelant un point de terminaison API Gateway.

  2. L'utilisateur est authentifié par un jeton d'accès extrait d'un groupe d'utilisateurs Amazon Cognito ou d'un autre IdP.

  3. Les tâches d'approvisionnement ou d'administration individuelles sont exécutées par des fonctions Lambda intégrées aux points de terminaison de l'API API Gateway.

  4. L'administration APIs de la solution commune (pour les locataires, les produits et les utilisateurs) rassemble tous les paramètres d'entrée, en-têtes et jetons requis. L'administration APIs invoque ensuite les fonctions Lambda associées.

  5. Les autorisations IAM pour les fonctions d'administration APIs et Lambda sont validées par le service IAM.

  6. Les fonctions Lambda stockent et extraient les données des catalogues (pour les locataires, les produits et les utilisateurs) dans DynamoDB et Amazon S3.

  7. Une fois les autorisations validées, un flux de travail AWS Step Functions est invoqué pour effectuer une tâche spécifique. L'exemple du diagramme montre un flux de travail de provisionnement des locataires.

  8. Les tâches individuelles du flux de travail AWS Step Functions sont exécutées dans un flux de travail prédéterminé (machine à états).

  9. Toutes les données essentielles nécessaires à l'exécution de la fonction Lambda associée à chaque tâche de flux de travail sont extraites de DynamoDB ou d'Amazon S3. D'autres ressources AWS devront peut-être être mises en service à l'aide d'un CloudFormation modèle AWS.

  10. Le cas échéant, le flux de travail envoie une demande de mise à disposition de ressources AWS supplémentaires pour un produit SaaS spécifique sur le compte AWS de ce produit.

  11. Lorsque la demande aboutit ou échoue, le flux de travail publie la mise à jour du statut sous forme de message sur une rubrique Amazon SNS.

  12. Amazon SNS est abonné à la rubrique Amazon SNS du flux de travail Step Functions.

  13. Amazon SNS renvoie ensuite la mise à jour de l'état du flux de travail à l'utilisateur AWS.

  14. Les journaux des actions de chaque service AWS, y compris une piste d'audit des appels d'API, sont envoyés à CloudWatch. Des règles et des alarmes spécifiques peuvent être configurées CloudWatch pour chaque cas d'utilisation.

  15. Les journaux sont archivés dans des compartiments Amazon S3 à des fins d'audit.

Automatisation et mise à l'échelle

Ce modèle utilise un CloudFormation modèle pour automatiser le déploiement de la solution mutualisée. Le modèle peut également vous aider à augmenter ou à réduire rapidement les ressources associées.

Pour plus d'informations, consultez la section Utilisation des CloudFormation modèles AWS dans le guide de CloudFormation l'utilisateur AWS.

Outils

Services AWS

  • Amazon API Gateway vous aide à créer, publier, gérer, surveiller et sécuriser REST, HTTP, et ce, WebSocket APIs à n'importe quelle échelle.

  • Amazon Cognito fournit des fonctionnalités d'authentification, d'autorisation et de gestion des utilisateurs pour les applications Web et mobiles.

  • AWS vous CloudTrail aide à auditer la gouvernance, la conformité et le risque opérationnel de votre compte AWS.

  • Amazon vous CloudWatch aide à surveiller les indicateurs de vos ressources AWS et des applications que vous exécutez sur AWS en temps réel.

  • Amazon DynamoDB est un service de base de données NoSQL entièrement géré, offrant des performances rapides, prévisibles et évolutives.

  • AWS Identity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.

  • AWS Lambda est un service de calcul qui vous permet d'exécuter du code sans avoir à approvisionner ou à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez.

  • Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.

  • Amazon Simple Notification Service (Amazon SNS) vous aide à coordonner et à gérer l'échange de messages entre les éditeurs et les clients, y compris les serveurs Web et les adresses e-mail.

  • AWS Step Functions est un service d'orchestration sans serveur qui vous permet de combiner les fonctions AWS Lambda et d'autres services AWS pour créer des applications critiques pour l'entreprise.

Bonnes pratiques

Dans ce modèle, la solution utilise un plan de contrôle unique pour gérer l'intégration de plusieurs locataires et pour fournir un accès à plusieurs produits SaaS. Le plan de contrôle permet aux utilisateurs administratifs de gérer quatre autres plans spécifiques aux fonctionnalités :

  • Avion de sécurité

  • Plan de flux de travail

  • Plan de communication

  • Plan de journalisation et de surveillance

Épopées

TâcheDescriptionCompétences requises

Définissez les exigences relatives à votre plateforme SaaS à locataires multiples.

Établissez des exigences détaillées pour les éléments suivants :

  • Locataires

  • Users

  • Rôles

  • Produits SaaS

  • Abonnements

  • Echanges de profils

Architecte cloud, administrateur système AWS

Configurez le service Amazon Cognito.

Suivez les instructions de la section Getting started with Amazon Cognito Developer Guide du développeur Amazon Cognito.

Architecte du cloud

Configurez les politiques IAM requises.

Créez les politiques IAM requises pour votre cas d'utilisation. Mappez ensuite les politiques aux rôles IAM dans Amazon Cognito.

Pour plus d'informations, consultez la section Gestion de l'accès à l'aide de politiques et de contrôle d'accès basé sur les rôles dans le manuel Amazon Cognito Developer Guide.

Administrateur cloud, architecte cloud, sécurité AWS IAM

Configurez les autorisations d'API requises.

Configurez les autorisations d'accès à API Gateway à l'aide des rôles et politiques IAM et des autorisateurs Lambda.

Pour obtenir des instructions, consultez les sections suivantes du manuel Amazon API Gateway Developer Guide :

Administrateur cloud, architecte cloud

Configuration du plan de sécurité

TâcheDescriptionCompétences requises

Définissez les exigences relatives à votre plateforme SaaS à locataires multiples.

Établissez des exigences détaillées pour les éléments suivants :

  • Locataires

  • Users

  • Rôles

  • Produits SaaS

  • Abonnements

  • Echanges de profils

Architecte cloud, administrateur système AWS

Configurez le service Amazon Cognito.

Suivez les instructions de la section Getting started with Amazon Cognito Developer Guide du développeur Amazon Cognito.

Architecte du cloud

Configurez les politiques IAM requises.

Créez les politiques IAM requises pour votre cas d'utilisation. Mappez ensuite les politiques aux rôles IAM dans Amazon Cognito.

Pour plus d'informations, consultez la section Gestion de l'accès à l'aide de politiques et de contrôle d'accès basé sur les rôles dans le manuel Amazon Cognito Developer Guide.

Administrateur cloud, architecte cloud, sécurité AWS IAM

Configurez les autorisations d'API requises.

Configurez les autorisations d'accès à API Gateway à l'aide des rôles et politiques IAM et des autorisateurs Lambda.

Pour obtenir des instructions, consultez les sections suivantes du manuel Amazon API Gateway Developer Guide :

Administrateur cloud, architecte cloud
TâcheDescriptionCompétences requises

Créez les catalogues de données requis.

  1. Créez des tables DynamoDB pour stocker les données des catalogues utilisateur. Assurez-vous d'inclure les attributs et les rôles des utilisateurs. Assurez-vous également de modéliser les données dans les tables du catalogue afin de conserver les attributs obligatoires et facultatifs pour chaque utilisateur et chaque rôle.

  2. Créez des tables DynamoDB pour stocker les données des catalogues de produits. Assurez-vous de modéliser les cas d'utilisation spécifiques de vos produits SaaS.

  3. Créez des tables DynamoDB pour stocker les données des catalogues clients. Assurez-vous de configurer des modèles d'abonnement pour les locataires, les produits et les licences pour les abonnements multi-SaaS et les tags.

Pour plus d'informations, consultez la section Configuration de DynamoDB dans le manuel du développeur Amazon DynamoDB.

DBA

Configuration du plan de données

TâcheDescriptionCompétences requises

Créez les catalogues de données requis.

  1. Créez des tables DynamoDB pour stocker les données des catalogues utilisateur. Assurez-vous d'inclure les attributs et les rôles des utilisateurs. Assurez-vous également de modéliser les données dans les tables du catalogue afin de conserver les attributs obligatoires et facultatifs pour chaque utilisateur et chaque rôle.

  2. Créez des tables DynamoDB pour stocker les données des catalogues de produits. Assurez-vous de modéliser les cas d'utilisation spécifiques de vos produits SaaS.

  3. Créez des tables DynamoDB pour stocker les données des catalogues clients. Assurez-vous de configurer des modèles d'abonnement pour les locataires, les produits et les licences pour les abonnements multi-SaaS et les tags.

Pour plus d'informations, consultez la section Configuration de DynamoDB dans le manuel du développeur Amazon DynamoDB.

DBA
TâcheDescriptionCompétences requises

Créez des fonctions Lambda et une API Gateway APIs pour exécuter les tâches du plan de contrôle requises.

Créez des fonctions Lambda et une API Gateway distinctes APIs pour ajouter, supprimer et gérer les éléments suivants :

  • Users

  • Locataires

  • Produits

Pour plus d'informations, consultez la section Utilisation d'AWS Lambda avec Amazon API Gateway dans le manuel du développeur AWS Lambda.

Développeur d’applications

Configuration du plan de contrôle

TâcheDescriptionCompétences requises

Créez des fonctions Lambda et une API Gateway APIs pour exécuter les tâches du plan de contrôle requises.

Créez des fonctions Lambda et une API Gateway distinctes APIs pour ajouter, supprimer et gérer les éléments suivants :

  • Users

  • Locataires

  • Produits

Pour plus d'informations, consultez la section Utilisation d'AWS Lambda avec Amazon API Gateway dans le manuel du développeur AWS Lambda.

Développeur d’applications
TâcheDescriptionCompétences requises

Identifiez les tâches que les flux de travail AWS Step Functions doivent exécuter.

Identifiez et documentez les exigences détaillées du flux de travail AWS Step Functions pour les éléments suivants :

  • Users

  • Locataires

  • Produits

Important

Assurez-vous que les principales parties prenantes approuvent les exigences.

Propriétaire de l'application

Créez les flux de travail AWS Step Functions requis.

  1. Créez les flux de travail requis pour les utilisateurs, les locataires et les produits dans AWS Step Functions. Pour plus d'informations, consultez le guide du développeur AWS Step Functions.

  2. Identifiez les mécanismes de gestion des nouvelles tentatives et des erreurs. Pour plus d'informations, consultez la section Gestion des erreurs, des nouvelles tentatives et ajout d'alertes aux machines Step Function State sur le blog AWS.

  3. Implémentez les étapes du flux de travail à l'aide des fonctions Lambda. Pour obtenir des instructions, consultez la section Création d'une machine d'état Step Functions utilisant Lambda dans le guide du développeur AWS Step Functions.

  4. Intégrez tous les services externes à AWS Step Functions selon vos besoins.

  5. Conservez le statut de chaque flux de travail dans une table DynamoDB et communiquez le statut de chaque flux de travail à l'aide d'Amazon SNS.

Développeur d'applications, responsable de la création

Configuration du plan de flux de travail

TâcheDescriptionCompétences requises

Identifiez les tâches que les flux de travail AWS Step Functions doivent exécuter.

Identifiez et documentez les exigences détaillées du flux de travail AWS Step Functions pour les éléments suivants :

  • Users

  • Locataires

  • Produits

Important

Assurez-vous que les principales parties prenantes approuvent les exigences.

Propriétaire de l'application

Créez les flux de travail AWS Step Functions requis.

  1. Créez les flux de travail requis pour les utilisateurs, les locataires et les produits dans AWS Step Functions. Pour plus d'informations, consultez le guide du développeur AWS Step Functions.

  2. Identifiez les mécanismes de gestion des nouvelles tentatives et des erreurs. Pour plus d'informations, consultez la section Gestion des erreurs, des nouvelles tentatives et ajout d'alertes aux machines Step Function State sur le blog AWS.

  3. Implémentez les étapes du flux de travail à l'aide des fonctions Lambda. Pour obtenir des instructions, consultez la section Création d'une machine d'état Step Functions utilisant Lambda dans le guide du développeur AWS Step Functions.

  4. Intégrez tous les services externes à AWS Step Functions selon vos besoins.

  5. Conservez le statut de chaque flux de travail dans une table DynamoDB et communiquez le statut de chaque flux de travail à l'aide d'Amazon SNS.

Développeur d'applications, responsable de la création
TâcheDescriptionCompétences requises

Créez des rubriques Amazon SNS.

Créez des rubriques Amazon SNS pour recevoir des notifications sur les points suivants :

  • Statuts du flux de travail

  • Erreurs

  • Nouvelle tentative

Pour plus d'informations, consultez la rubrique Création d'un réseau SNS dans le manuel Amazon SNS Developer Guide.

Propriétaire de l'application, architecte cloud

Abonnez des points de terminaison à chaque rubrique Amazon SNS.

Pour recevoir des messages publiés sur une rubrique Amazon SNS, vous devez abonner un point de terminaison à chaque rubrique.

Pour plus d'informations, consultez la section Abonnement à une rubrique Amazon SNS dans le manuel du développeur Amazon SNS.

Développeur d'applications, architecte cloud

Configuration du plan de communication

TâcheDescriptionCompétences requises

Créez des rubriques Amazon SNS.

Créez des rubriques Amazon SNS pour recevoir des notifications sur les points suivants :

  • Statuts du flux de travail

  • Erreurs

  • Nouvelle tentative

Pour plus d'informations, consultez la rubrique Création d'un réseau SNS dans le manuel Amazon SNS Developer Guide.

Propriétaire de l'application, architecte cloud

Abonnez des points de terminaison à chaque rubrique Amazon SNS.

Pour recevoir des messages publiés sur une rubrique Amazon SNS, vous devez abonner un point de terminaison à chaque rubrique.

Pour plus d'informations, consultez la section Abonnement à une rubrique Amazon SNS dans le manuel du développeur Amazon SNS.

Développeur d'applications, architecte cloud
TâcheDescriptionCompétences requises

Activez la journalisation pour chaque composant de la solution mutualisée.

Activez la journalisation au niveau des composants pour chaque ressource de la solution mutualisée que vous avez créée.

Pour obtenir des instructions, veuillez consulter les sections suivantes :

Note

Vous pouvez consolider les journaux de chaque ressource dans un compte de journalisation centralisé en utilisant des politiques IAM. Pour plus d'informations, consultez la section Journalisation centralisée et mesures de sécurité pour plusieurs comptes.

Développeur d'applications, administrateur système AWS, administrateur cloud

Configuration du plan de journalisation et de surveillance

TâcheDescriptionCompétences requises

Activez la journalisation pour chaque composant de la solution mutualisée.

Activez la journalisation au niveau des composants pour chaque ressource de la solution mutualisée que vous avez créée.

Pour obtenir des instructions, veuillez consulter les sections suivantes :

Note

Vous pouvez consolider les journaux de chaque ressource dans un compte de journalisation centralisé en utilisant des politiques IAM. Pour plus d'informations, consultez la section Journalisation centralisée et mesures de sécurité pour plusieurs comptes.

Développeur d'applications, administrateur système AWS, administrateur cloud
TâcheDescriptionCompétences requises

Créez des CloudFormation modèles.

Automatisez le déploiement et la maintenance de la solution commune complète et de tous ses composants à l'aide CloudFormation de modèles.

Pour plus d'informations, consultez le guide de CloudFormation l'utilisateur AWS.

Développeur d'applications, DevOps ingénieur, CloudFormation développeur

Fournir et déployer la solution Common Tenant

TâcheDescriptionCompétences requises

Créez des CloudFormation modèles.

Automatisez le déploiement et la maintenance de la solution commune complète et de tous ses composants à l'aide CloudFormation de modèles.

Pour plus d'informations, consultez le guide de CloudFormation l'utilisateur AWS.

Développeur d'applications, DevOps ingénieur, CloudFormation développeur

Ressources connexes

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.