Este guia oferece uma visão geral dos locatários do ambiente de execução de SaaS e como usá-los para organizar sua oferta de SaaS.
Locatários e projetos de locatário
Um recurso de locatário do ambiente de execução de SaaS representa um cliente, um cliente ou um locatário lógico da sua oferta de SaaS. Ela funciona principalmente como uma ferramenta organizacional que ajuda a agrupar as unidades pertencentes a um locatário específico.
Se a oferta de SaaS tiver vários locatários, recomendamos provisionar cada um dos recursos do locatário em um projeto Google Cloud separado. Para separar os recursos do locatário em projetos Google Cloud dedicados, crie pelo menos dois projetos:
- Projeto do produtor:o projeto em que sua oferta de SaaS está configurada. Você só precisa de um projeto de produtor para seu aplicativo SaaS.
- Projetos de locatário: os projetos com recursos do ambiente de execução do SaaS para um locatário específico. Recomendamos que você crie um projeto para cada um dos seus locatários.
Usar projetos separados para cada locatário permite definir configurações (políticas do IAM ou peering de rede, por exemplo) nos projetos de locatário e ajuda a rastrear custos e gerenciar recursos para cada locatário.
Contas de serviço de acionamento em um projeto de locatário
A conta de serviço de ação precisa de permissões no projeto do locatário para criar e gerenciar os recursos definidos na configuração do Terraform. Recomendamos que você configure uma conta de ativação separada para cada um dos seus locatários.
Para mais informações sobre contas de serviço de ação e as permissões potencialmente necessárias, consulte conta de serviço de ação.
APIs em um projeto de locatário
Quando o SaaS Runtime (pelo Infrastructure Manager e a conta de serviço do serviço de ação) tenta criar recursos (uma VM, por exemplo) em um projeto de locatário, as APIs necessárias precisam ser ativadas nesse projeto de locatário. Caso contrário, o provisionamento vai falhar.
Você precisa ativar as APIs para todos os tipos de recursos que sua configuração do Terraform usa em um projeto do locatário.
Use um tipo de unidade provisório para automatizar a configuração do locatário
Criar projetos, ativar APIs e configurar o IAM manualmente para cada novo locatário é demorado e sujeito a erros. É possível automatizar o processo de configuração do locatário usando o ambiente de execução de SaaS. Para isso, crie um tipo de unidade provisória que contenha uma configuração do Terraform que:
- Cria um novo projeto Google Cloud para o locatário.
- Ativa as APIs necessárias no novo projeto.
- Cria uma conta de serviço de atuação dedicada para o locatário provisionado (no projeto do produtor ou do locatário).
- Concede as permissões necessárias do IAM às contas de serviço no projeto do locatário.
- Configura rede, geração de registros ou outra infraestrutura básica.
O tipo de unidade provisório precisa:
- Defina as variáveis
outputdo Terraform para otenant_project_id, otenant_project_numbere o e-mailactuation_saque ele cria. - Receba o
tenant_idcomo uma variávelinput.
Configure o tipo de unidade do aplicativo para depender do tipo de unidade provisória e mapeie as variáveis de saída para as variáveis de entrada correspondentes da unidade do aplicativo.
Depois de configurar as dependências do tipo de unidade, o SaaS Runtime verifica se a unidade de infraestrutura do locatário subjacente foi provisionada (criando um projeto de locatário e configurando as permissões dele) antes que a unidade que contém o aplicativo seja provisionada.
Consulte Gerenciar dependências entre unidades e usar variáveis para mais detalhes sobre a implementação desse padrão.
A seguir
- Saiba como criar projetos e recursos de locatário.
- Saiba como associar unidades a locatários.