Nesta página, descrevemos como o Identity and Access Management (IAM) controla o acesso ao App Lifecycle Manager. Ele é destinado a administradores de plataforma, engenheiros de segurança e operadores que configuram o acesso do usuário e os pipelines de implantação automatizados.
O controle de acesso no App Lifecycle Manager envolve dois conceitos principais:
- Papéis do IAM para principais (usuários, grupos e contas de serviço): esses papéis padrão do IAM controlam quem pode interagir diretamente com os recursos do App Lifecycle Manager (como ofertas de SaaS, unidades, versões e lançamentos) usando o console do Google Cloud , a Google Cloud CLI ou a API.
- Permissões para contas de serviço especializadas: essas permissões permitem que contas de serviço específicas usadas pelo App Lifecycle Manager realizem ações automatizadas em seu nome, como criar artefatos ou provisionar infraestrutura usando o Terraform.
Diferencie as permissões que você (ou outro principal) precisa para gerenciar o App Lifecycle Manager das permissões que as contas de serviço subjacentes precisam para executar tarefas delegadas pelo App Lifecycle Manager.
Controle de acesso de usuários e principais
Para interagir diretamente com os recursos do App Lifecycle Manager, como visualizar ofertas de SaaS ou gerenciar lançamentos, um principal precisa ter os papéis predefinidos apropriados do IAM do App Lifecycle Manager. Um principal pode ser um usuário, grupo ou conta de serviço que chama a API.
Esses papéis controlam as ações realizadas diretamente na API App Lifecycle Manager ou no console do Google Cloud .
Para conferir os recursos atuais do App Lifecycle Manager (como ofertas,
unidades, versões e lançamentos de SaaS), você só precisa do papel de leitor relevante, como
o papel roles/saasservicemgmt.viewer. Não é necessário configurar ou conceder
permissões a contas de serviço especializadas para operações somente leitura.
Permissões para contas de serviço especializadas
Algumas ações automatizadas realizadas pelo App Lifecycle Manager exigem contas de serviço específicas com as permissões adequadas:
- Agente de serviço do App Lifecycle Manager (gerenciado pelo Google): quando você cria
seu primeiro recurso do App Lifecycle Manager, ele
provisiona automaticamente um agente de serviço gerenciado pelo Google. Esse agente de serviço
usa o papel de agente de serviço do App Lifecycle Manager
(
roles/saasservicemgmt.serviceAgent) para realizar operações em serviços do Google Cloud em seu nome. - Provisionamento e gerenciamento de unidades (conta de serviço de atuação, gerenciada pelo usuário): quando o App Lifecycle Manager provisiona, atualiza ou exclui uma unidade, ele usa o Infrastructure Manager, que é executado usando a conta de serviço de atuação gerenciada pelo usuário para executar a configuração do Terraform.
- Como criar e fazer upload de artefatos (conta de serviço de criação de artefatos, gerenciada pelo usuário, opcional): quando você usa um sistema de build automatizado, como o Cloud Build, a conta de serviço de criação de artefatos gerenciada pelo usuário cria o artefato OCI do Terraform e o envia para o Artifact Registry. Essa conta de serviço é opcional se você usa modelos compostos ou envia imagens OCI manualmente.
Essas contas de serviço, detalhadas em Contas de serviço do App Lifecycle Manager, exigem conjuntos específicos de permissões:
- Permissões básicas: as contas de serviço gerenciado pelo usuário exigem papéis para
interagir com os serviços principais, como Artifact Registry, Cloud Storage,
Infra Manager e IAM (por exemplo, os papéis
roles/artifactregistry.writer,roles/config.admineroles/iam.serviceAccountTokenCreator). Os papéis necessários para cada conta de serviço estão listados em Contas de serviço do App Lifecycle Manager. - Permissões de recursos do Terraform (somente conta de serviço de atuação): a
conta de serviço de atuação também precisa ter as permissões do IAM para criar,
modificar e excluir os recursos específicos do Google Cloud definidos na
sua configuração do Terraform. Por exemplo, se a configuração do Terraform
criar clusters do Google Kubernetes Engine (GKE) e instâncias do Cloud SQL, a
conta de serviço de atuação precisará de papéis como
roles/container.admineroles/cloudsql.admin. Conceda esses papéis no projeto em que esses recursos são criados. Essas permissões são adicionais às permissões básicas necessárias para executar o Infra Manager.
Ao conceder permissões a essas contas de serviço, o App Lifecycle Manager pode realizar tarefas automatizadas, agindo com uma identidade distinta para mudanças na infraestrutura (conta de serviço de atuação) ou gerenciamento de artefatos (conta de serviço de criação de artefatos). Essas permissões de conta de serviço são separadas das permissões que você ou outros principais precisam para visualizar ou gerenciar recursos do App Lifecycle Manager.
Papéis predefinidos do App Lifecycle Manager
O IAM fornece papéis predefinidos que concedem acesso a recursos específicos do Google Cloud e impedem o acesso não autorizado a outros recursos.
A tabela a seguir lista os papéis do IAM do App Lifecycle Manager e as permissões que eles incluem:
| Papel | Descrição | Permissões |
|---|---|---|
Administrador do App Lifecycle Manager (roles/saasservicemgmt.admin) |
Acesso total a todos os recursos do App Lifecycle Manager. | saasservicemgmt.rollouts.createsaasservicemgmt.rollouts.updatesaasservicemgmt.rollouts.deletesaasservicemgmt.rolloutKinds.createsaasservicemgmt.rolloutKinds.updatesaasservicemgmt.rolloutKinds.deletesaasservicemgmt.releases.createsaasservicemgmt.releases.updatesaasservicemgmt.releases.deletesaasservicemgmt.units.createsaasservicemgmt.units.updatesaasservicemgmt.units.deletesaasservicemgmt.unitKinds.createsaasservicemgmt.unitKinds.updatesaasservicemgmt.unitKinds.deletesaasservicemgmt.unitOperations.createsaasservicemgmt.unitOperations.updatesaasservicemgmt.unitOperations.deletesaasservicemgmt.tenants.createsaasservicemgmt.tenants.updatesaasservicemgmt.tenants.deletesaasservicemgmt.saas.createsaasservicemgmt.saas.updatesaasservicemgmt.saas.deleteresourcemanager.projects.getresourcemanager.projects.listsaasservicemgmt.locations.listsaasservicemgmt.locations.getsaasservicemgmt.rollouts.listsaasservicemgmt.rollouts.getsaasservicemgmt.rolloutKinds.listsaasservicemgmt.rolloutKinds.getsaasservicemgmt.releases.listsaasservicemgmt.releases.getsaasservicemgmt.units.listsaasservicemgmt.units.getsaasservicemgmt.unitKinds.listsaasservicemgmt.unitKinds.getsaasservicemgmt.unitOperations.listsaasservicemgmt.unitOperations.getsaasservicemgmt.tenants.listsaasservicemgmt.tenants.getsaasservicemgmt.saas.listsaasservicemgmt.saas.get |
Leitor do App Lifecycle Manager (roles/saasservicemgmt.viewer) |
Ler recursos do App Lifecycle Manager: versões, lançamentos, rolloutKinds, unidades, unitKinds, unitOperations, saas e locatários. | resourcemanager.projects.getresourcemanager.projects.listsaasservicemgmt.locations.listsaasservicemgmt.locations.getsaasservicemgmt.rollouts.listsaasservicemgmt.rollouts.getsaasservicemgmt.rolloutKinds.listsaasservicemgmt.rolloutKinds.getsaasservicemgmt.releases.listsaasservicemgmt.releases.getsaasservicemgmt.units.listsaasservicemgmt.units.getsaasservicemgmt.unitKinds.listsaasservicemgmt.unitKinds.getsaasservicemgmt.unitOperations.listsaasservicemgmt.unitOperations.getsaasservicemgmt.tenants.listsaasservicemgmt.tenants.getsaasservicemgmt.saas.listsaasservicemgmt.saas.get |
Permissões
As permissões que o autor da chamada precisa ter para chamar cada método estão listadas na referência da API REST.
A seguir
- Saiba mais sobre o Identity and Access Management.
- Saiba como usar as condições do IAM.
- Revise as contas de serviço do App Lifecycle Manager.