Associar unidades a locatários
Neste guia de início rápido, você vai modificar sua oferta de SaaS para associar a unidade de VM implantada a um recurso de locatário e provisionar a VM em um projeto de locatário dedicado de propriedade do locatário.
Essa abordagem melhora o isolamento de recursos, o que permite gerenciar recursos para cada locatário separadamente e oferecer melhor segurança e conformidade para sua oferta de SaaS.
Vamos criar o cenário do guia de início rápido Implantar uma VM com o App Lifecycle Manager, modificando-o para associar a unidade de VM implantada a um recurso de locatário e provisionar a VM em um projeto dedicado de propriedade do locatário:
- Crie um recurso de locatário no App Lifecycle Manager.
- Associe uma VM ao recurso de locatário.
- Configure o App Lifecycle Manager e a configuração do Terraform para implantar recursos em um projeto de locatário separado.
- Resolva problemas comuns de permissão e ativação de API ao implantar entre projetos.
Ao final deste guia de início rápido, você vai criar a base para uma oferta de SaaS com vários locatários que permite definir configurações e políticas no nível do locatário criando locatários e associando-os a unidades.
Antes de começar
Antes de criar locatários ou associá-los a unidades, você deve ter algum conhecimento dos fundamentos do ecossistema do App Lifecycle Manager e criar uma oferta de SaaS.
-
Faça login na sua Google Cloud conta do. Se você não conhece o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
Implante uma VM com o App Lifecycle Manager, incluindo a criação da configuração do Terraform, um repositório do Artifact Registry, uma oferta de SaaS, um tipo de unidade, uma unidade e componentes (incluindo
terraform-files.zip).- Verifique se as APIs listadas na seção Antes de começar do guia de início rápido estão ativadas no projeto do produtor.
- Verifique se você tem as contas de serviço e os papéis do IAM necessários concedidos no projeto do produtor.
Isso inclui a conta de serviço criada pelo usuário e as permissões concedidas à conta
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.comno projeto do produtor.
O projeto do produtor e todos os projetos de locatário precisam ser criados antes de você criar e associar os recursos de locatário. Para mais informações, consulte Configurar um projeto de locatário.
Criar e associar um recurso de locatário
É possível usar locatários para agrupar recursos de unidade. Crie um recurso de locatário na oferta de SaaS do projeto do produtor para representar seu cliente:
No Google Cloud console, acesse App Lifecycle Manager > Locatários.
Clique em Criar.
Na página Criar locatário, insira
vm-quickstart-tenantna caixa Nome do locatário.Na caixa Oferta de SaaS, selecione
vm-quickstart-saas-offering.No menu suspenso Região, selecione
us-central1.Clique em Adicionar unidade. Uma seção Nova unidade aparece.
No menu suspenso Unidade, selecione a unidade
projects/YOUR-PROJECT-NAME/locations/us-central1/units/vm-quickstart-unit.Clique em Concluído para associar o recurso
vm-quickstart-unitao recursovm-quickstart-tenant.Clique em Criar para criar o recurso de locatário. Você criou o recurso
vm-quickstart-tenante o associou ao recursovm-quickstart-unit. Essa associação serve principalmente como uma tag organizacional no Google Cloud console, ajudando a identificar quais unidades pertencem a qual locatário.
Criar uma versão do locatário
No Google Cloud console, acesse App Lifecycle Manager > Versões.
Na página Versões, clique em Criar.
Na página Criar versão, insira
vm-quickstart-tenant-releasena caixa Nome da versão.Na caixa Tipo de unidade, selecione
vm-quickstart-unit-kind. Clique em Próximo.Na etapa Selecionar blueprint, clique na opção Selecionar uma imagem atual do Artifact Registry.
Na etapa Armazenar blueprint, clique em Procurar e selecione o artefato associado a
vm-quickstart-tenant-blueprint. Clique em Próximo.Clique em Criar. Você criou o recurso
vm-quickstart-tenant-release.
Criar um projeto de locatário e implantar uma unidade
No guia de início rápido Implantar uma VM com o App Lifecycle Manager, você provisiona recursos do App Lifecycle Manager no mesmo projeto que contém a configuração da oferta de SaaS.
Neste guia de início rápido, você direciona o provisionamento de recursos para o projeto de locatário em vez do projeto do produtor.
Você precisará transmitir variáveis modificadas tenant_project_id e tenant_project_number durante o provisionamento da unidade.
Crie um projeto de locatário em que você vai implantar os arquivos
terraform-vm.zip:gcloud projects create quickstart-tenant-project --name="SaaS Tenant A Project"Ative as APIs e conceda papéis do IAM no projeto de locatário. Para implantar unidades no projeto de locatário, é necessário ativar a API Compute Engine e conceder papéis do IAM no projeto de locatário.
Ativar APIs no projeto de locatário
Ative a API Compute Engine no projeto de locatário usando o Google Cloud console:
Acessar o seletor de projetos.
Clique em Selecionar um projeto.
Selecione
quickstart-tenant-project.Ative a API Compute Engine.
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis.Verifique se você tem o seguinte papel ou papéis no projeto: roles/compute.admin
Verificar os papéis
-
No Google Cloud console, acesse a página IAM.
Acessar IAM - Selecione o projeto.
-
Na coluna Principal, encontre todas as linhas que identificam você ou um grupo no qual você está incluído. Para saber em quais grupos você está incluído, entre em contato com o administrador.
- Para todas as linhas que especificam ou incluem você, verifique a coluna Papel para saber se a lista de papéis inclui os papéis necessários.
Conceder os papéis
-
No Google Cloud console, acesse a página IAM.
Acessar IAM - Selecione o projeto.
- Clique em Conceder acesso.
-
No campo Novos principais, digite seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.
- Clique em Selecionar um papel e pesquise o papel.
- Para conceder outros papéis, adicione-os clicando em Adicionar outro papel.
- Clique em Salvar.
-
Provisionar uma unidade com variáveis de projeto de locatário
No projeto do produtor, provisione uma nova unidade com as variáveis de entrada do projeto de locatário:
Acessar o seletor de projetos.
Clique em Selecionar um projeto.
Selecione o projeto do produtor.
Acesse App Lifecycle Manager > Unidades no Google Cloud console.
Selecione o recurso
vm-quickstart-unit.Clique em Provisionar.
Selecione o recurso
vm-quickstart-tenant-release.Selecione a conta de serviço de acionamento a que você concedeu permissões no projeto de locatário.
Na seção Variáveis de entrada:
- A variável
tenant_project_idé listada conforme definida emvariables.tf. - Na caixa ID do projeto de locatário, insira
quickstart-tenant-project.
- A variável
Clique em Provisionar.
O App Lifecycle Manager aciona o Gerente de infraestrutura usando a conta de serviço de acionamento especificada. O Infrastructure Manager lê a variável tenant_project_id e cria a VM dentro desse projeto de locatário.
Limpar
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.
- No Google Cloud console, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- No comando, digite o ID do projeto e clique em desligar.
A seguir
- Saiba mais sobre como configurar projetos e recursos de locatário.
- Use variáveis e mapeamento de variáveis para uma orquestração sofisticada de ofertas de SaaS (incluindo o provisionamento automatizado de recursos).