Locataires et projets locataires

Ce guide présente les locataires de l'environnement d'exécution SaaS et explique comment les utiliser pour organiser votre offre SaaS.

Locataires et projets locataires

Une ressource de locataire d'environnement d'exécution SaaS représente un client, un client ou un locataire logique de votre offre SaaS. Il s'agit principalement d'un outil d'organisation qui vous aide à regrouper les unités appartenant à un locataire spécifique.

Si votre offre SaaS comporte plusieurs locataires, nous vous recommandons de provisionner les ressources de chacun d'eux dans un projet Google Cloud distinct. Pour séparer les ressources de votre locataire dans des projets Google Cloud dédiés, vous devez créer au moins deux projets :

  • Projet de producteur : projet dans lequel votre offre SaaS est configurée. Vous n'avez besoin que d'un seul projet de producteur pour votre application SaaS.
  • Projets locataires : projets contenant des ressources SaaS Runtime pour un locataire spécifique. Nous vous recommandons de créer un projet pour chacun de vos locataires.

L'utilisation de projets distincts pour chaque locataire vous permet de définir des configurations (stratégies IAM ou peering de réseau, par exemple) dans les projets de locataire, et vous aide à suivre les coûts et à gérer les ressources pour chaque locataire.

Comptes de service d'activation dans un projet locataire

Le compte de service d'actionnement a besoin d'autorisations dans le projet locataire pour créer et gérer les ressources définies dans votre configuration Terraform. Nous vous recommandons de configurer un compte d'activation distinct pour chacun de vos locataires.

Pour en savoir plus sur les comptes de service d'actionnement et les autorisations potentiellement requises, consultez Compte de service d'actionnement.

API dans un projet locataire

Lorsque SaaS Runtime (via Infrastructure Manager et le compte de service d'actionnement) tente de créer des ressources (une VM, par exemple) dans un projet locataire, les API nécessaires doivent être activées dans ce projet locataire. Sinon, le provisionnement échouera.

Vous devez activer les API pour tous les types de ressources que votre configuration Terraform utilise dans un projet locataire.

Utiliser un type d'unité provisoire pour automatiser la configuration de votre locataire

La création manuelle de projets, l'activation d'API et la configuration d'IAM pour chaque nouveau locataire sont chronophages et sujettes aux erreurs. Vous pouvez automatiser le processus de configuration du locataire à l'aide de SaaS Runtime en créant un genre d'unité provisoire contenant une configuration Terraform qui :

  • Crée un projet Google Cloud pour le locataire.
  • Active les API nécessaires dans ce nouveau projet.
  • Crée un compte de service d'actionnement dédié pour le locataire provisionné (dans le projet producteur ou le projet locataire).
  • Accorde les autorisations IAM nécessaires aux comptes de service dans le projet locataire.
  • Configure la mise en réseau, la journalisation ou toute autre infrastructure de base.

Votre type d'unité provisoire doit :

  • Définissez les variables output Terraform pour l'e-mail tenant_project_id, tenant_project_number et actuation_sa qu'il crée.
  • Recevez le tenant_id en tant que variable input.

Configurez le type d'unité d'application pour qu'il dépende du type d'unité provisoire, puis mappez les variables de sortie avec les variables d'entrée correspondantes de l'unité d'application.

Une fois que vous avez configuré vos dépendances de type d'unité, SaaS Runtime vérifie que l'unité d'infrastructure de locataire sous-jacente est provisionnée (en créant un projet de locataire et en configurant ses autorisations) avant que l'unité contenant votre application ne soit provisionnée.

Pour en savoir plus sur l'implémentation de ce modèle, consultez Gérer les dépendances entre les unités et Utiliser des variables.

Étapes suivantes