Configurar projetos e recursos de locatário

Os locatários do App Lifecycle Manager permitem organizar unidades implantadas e implantar recursos em projetos de locatário separados para ajudar a isolar e gerenciar sua infraestrutura.

Para uma visão geral de locatários e projetos de locatário, consulte Locatários e projetos de locatário.

Antes de começar

Antes de criar projetos ou recursos de locatário:

  1. Crie uma configuração do Terraform, um repositório do Artifact Registry e um artefato que contenha seu aplicativo SaaS no projeto do produtor. Para saber como criar e fazer upload de um blueprint, consulte Criar e fazer upload de um blueprint. Para saber como configurar uma oferta de SaaS, consulte o Guia de início rápido: implantar um aplicativo com o App Lifecycle Manager.
  2. Ative as APIs exigidas pelo App Lifecycle Manager.

    Funções necessárias para ativar APIs

    Para ativar APIs, você precisa da permissão serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de proprietário (roles/owner). Caso contrário, é possível conseguir essa permissão pelo papel de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.

    Ativar as APIs

  3. Verifique se as contas de serviço necessárias foram criadas e se os papéis necessários do Identity and Access Management foram concedidos no projeto de produtor. Isso inclui a conta de serviço criada pelo usuário e os papéis concedidos ao agente de serviço service-PROJECT_NUMBER@gcp-sa-saasservicemgmt. no projeto do produtor, em que PROJECT_NUMBER é o número do projeto do produtor.

Configurar um projeto de locatário

Ao provisionar os recursos do locatário em projetos separados, os recursos, as políticas do IAM, as cotas e as configurações de rede são separados para cada um dos locatários, o que reduz a probabilidade de violações ou configurações incorretas com um locatário afetar os outros.

Você precisará do seguinte:

  • Um projeto de produtor
  • Um projeto de locatário para cada locatário

Console

Para configurar projetos de locatário e produtor usando o console do Google Cloud :

  1. Crie um projeto de produtor e um projeto de locatário para cada um dos seus locatários.
  2. Ative o faturamento nos projetos de locatário e produtor.
  3. Ative as APIs exigidas pelo App Lifecycle Manager nos projetos de locatário.

    Funções necessárias para ativar APIs

    Para ativar APIs, você precisa da permissão serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de proprietário (roles/owner). Caso contrário, é possível conseguir essa permissão pelo papel de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.

    Ativar as APIs

  4. Verifique se os projetos de locatário têm contas de serviço de atuação com as permissões necessárias.

    Para mais detalhes, consulte Contas de serviço do App Lifecycle Manager.

Depois de criar e ativar o faturamento para os projetos de produtor e locatário, é possível criar recursos de locatário e associar unidades a locatários.

gcloud

Para configurar projetos de produtor e de locatário usando a Google Cloud CLI:

  1. Crie seu projeto de produtor e um projeto de locatário para cada um dos seus locatários:

    gcloud projects create \
        PRODUCER_PROJECT_ID \
        --name="SaaS producer project"
    gcloud projects create \
        TENANT_PROJECT_ID \
        --name="SaaS tenant A project"
    

    Substitua:

    • PRODUCER_PROJECT_ID: o ID do projeto do produtor.
    • TENANT_PROJECT_ID: o ID do projeto de locatário
  2. Ative o faturamento para os projetos de locatário e produtor:

    gcloud billing projects link \
        PRODUCER_PROJECT_ID \
        --billing-account=BILLING_ACCOUNT_ID
    gcloud billing projects link \
        TENANT_PROJECT_ID \
        --billing-account=BILLING_ACCOUNT_ID
    

    Substitua:

    • BILLING_ACCOUNT_ID: o ID da conta de faturamento que você quer associar aos projetos especificados.
  3. Ative as APIs exigidas pelo App Lifecycle Manager nos projetos de locatário:

    gcloud services enable \
        saasservicemgmt.googleapis.com \
        artifactregistry.googleapis.com \
        config.googleapis.com \
        developerconnect.googleapis.com \
        cloudbuild.googleapis.com \
        storage.googleapis.com \
        --project=TENANT_PROJECT_ID
    
  4. Conceda à conta de serviço de atuação os papéis do IAM necessários para cada projeto de locatário:

    gcloud projects add-iam-policy-binding \
        TENANT_PROJECT_ID \
        --member='serviceAccount:SERVICE_ACCOUNT_ID@PRODUCER_PROJECT_ID.' \
        --role=ROLE
    

    Substitua:

    • SERVICE_ACCOUNT_ID: o ID da conta de serviço de atuação
    • ROLE: o papel do IAM a ser concedido (por exemplo, roles/compute.admin)

    Execute gcloud projects add-iam-policy-binding para cada papel que você quer conceder à conta de serviço especificada.

Depois de criar e ativar o faturamento para os projetos de produtor e locatário, é possível criar recursos de locatário e associar unidades a locatários.

Criar um recurso de locatário

Crie um recurso de locatário na sua oferta de SaaS para representar o cliente:

  1. No console do Google Cloud , acesse App Lifecycle Manager > Locatários.

    Acessar "Locatários"

  2. Clique em Criar.

  3. No campo Nome do locatário, insira um nome para o recurso de locatário.

  4. Opcional: no campo Recurso do consumidor, insira um recurso do consumidor com configurações definidas pelo consumidor para integração.

  5. Na lista Oferta de SaaS, selecione a oferta de SaaS que você quer associar ao locatário.

  6. Na lista Região, selecione uma região em que os metadados do locatário são armazenados.

  7. Opcional: clique em Adicionar rótulo para adicionar um rótulo ao locatário como um par de chave-valor.

  8. Clique em Criar.

Associar uma unidade a um locatário

Depois de criar um locatário e implantar uma unidade, é possível vincular um ao outro. Essa associação serve principalmente como uma tag organizacional que ajuda a organizar quais unidades pertencem a cada locatário.

Para mais informações sobre como implantar unidades, consulte Implantar uma oferta de SaaS.

Para associar uma unidade a um locatário:

  1. No console do Google Cloud , acesse App Lifecycle Manager > Locatários.

    Acessar "Locatários"

  2. Clique no nome do locatário que você quer associar a uma unidade.

  3. Clique em Editar.

  4. Em Selecione uma unidade para ser incluída no locatário, clique em Adicionar unidade.

  5. Na lista Unidade, selecione a unidade que você quer associar a esse locatário.

  6. Clique em Concluído.

  7. Clique em Salvar.

As unidades selecionadas estão associadas ao locatário indicado.

Provisionar uma nova unidade com variáveis do projeto de locatário

Ao provisionar uma unidade associada a um locatário, é necessário fornecer as variáveis tenant_project_id e tenant_project_number.

  1. No console do Google Cloud , acesse App Lifecycle Manager > Unidades.

    Acessar "Unidades"

  2. Crie uma nova unidade associada ao tipo de unidade.

  3. Clique em Provisionar.

  4. Selecione a versão a ser provisionada para sua unidade de locação.

  5. Em Conta de serviço de atuação, na lista Conta de serviço, selecione a conta de serviço a que você concedeu papéis no projeto de locatário. Siga o princípio de privilégio mínimo e conceda apenas os papéis necessários para os recursos que estão sendo gerenciados.

  6. Na seção Outras variáveis de entrada:

    1. Clique em Adicionar variáveis do projeto de locatário e selecione o projeto de locatário para preencher as variáveis tenant_project_id e tenant_project_number.
    2. Opcional: clique em Adicionar variável de entrada para inserir outras variáveis de entrada definidas na configuração do Terraform.
  7. Clique em Provisionar.

O App Lifecycle Manager aciona o Infrastructure Manager usando a conta de serviço de atuação especificada. O Infrastructure Manager lê as variáveis tenant_project_id e tenant_project_number e provisiona os recursos do Terraform dentro desse projeto de locatário.

Reprovisionar uma unidade com uma nova versão

Ao provisionar novamente uma unidade com uma nova versão, é necessário fornecer as variáveis tenant_project_id e tenant_project_number.

  1. No console do Google Cloud , acesse App Lifecycle Manager > Unidades.

    Acessar "Unidades"

  2. Selecione a unidade associada ao tipo de unidade.

  3. Clique em Fazer upgrade.

  4. Selecione a versão que você criou com a configuração atualizada do Terraform.

  5. Em Conta de serviço de atuação, na lista Conta de serviço, selecione a conta de serviço a que você concedeu papéis no projeto de locatário. Siga o princípio de privilégio mínimo e conceda apenas os papéis necessários para os recursos que estão sendo gerenciados.

  6. Na seção Outras variáveis de entrada:

    1. Clique em Adicionar variáveis do projeto de locatário e selecione o projeto de locatário para preencher as variáveis tenant_project_id e tenant_project_number.
    2. Opcional: clique em Adicionar variável de entrada para inserir outras variáveis de entrada definidas na configuração do Terraform.
  7. Clique em Fazer upgrade.

O App Lifecycle Manager aciona o Infrastructure Manager usando a conta de serviço de atuação especificada. O Infrastructure Manager lê as variáveis tenant_project_id e tenant_project_number e atualiza os recursos do Terraform dentro desse projeto de locatário.

A seguir