Papéis que concedem acesso ao App Engine

Os papéis determinam quais serviços e ações estão disponíveis para uma conta de usuário ou conta de serviço. Os seguintes tipos de papéis concedem acesso ao App Engine:

  • Papéis primários se aplicam a todos os serviços e recursos de um projeto, incluindo mas não se limitando ao App Engine. Por exemplo, uma conta com o papel de Editor pode alterar as configurações do App Engine e do Cloud Storage.

  • Papéis predefinidos do App Engine: concedem acesso granular ao App Engine. Cada serviço no projeto do Cloud fornece os próprios papéis predefinidos. Por exemplo, uma conta que só tem o papel de Implantador do App Engine pode implantar aplicativos do App Engine, mas não pode ver ou criar objetos no Cloud Storage. Essa conta também precisa de um papel predefinido do Cloud Storage específico para criar ou visualizar objetos no Cloud Storage.

  • Papéis personalizados: concedem acesso granular de acordo com uma lista de permissões especificadas pelo usuário.

No caso de projetos menores com necessidades menos complexas, use os papéis primários. Para ter controles de acesso mais detalhados, use os papéis predefinidos.

Papéis primários

Os papéis primários são aplicados a todos os serviços e recursos de um projeto. Por exemplo, uma conta com o papel de Editor pode alterar as configurações do App Engine e as configurações do Cloud Storage.

Role Permissões do Console do Cloud Permissões de ferramentas
Owner Necessário para criar aplicativos do App Engine. Tem todos os privilégios de leitor e editor, além de poder ver o código-fonte implantado, convidar usuários, alterar papéis de usuários e excluir um aplicativo. Necessário para criar aplicativos do App Engine. Pode implantar o código do aplicativo e atualizar todas as configurações.
Editor Visualizar as informações e editar as configurações do aplicativo. Implantar o código do aplicativo, atualizar índices/filas/crons.
Viewer Visualizar as informações do aplicativo. Solicitar registros.

Papéis predefinidos do App Engine

Os papéis predefinidos do App Engine fornecem opções avançadas de controle de acesso.

Estes papéis concedem acesso apenas ao App Engine. Se o projeto inclui outros serviços, como o Cloud Storage ou o Cloud SQL, é necessário atribuir papéis predefinidos adicionais para permitir o acesso a esses outros serviços.

A tabela a seguir lista cada papel do App Engine com o respectivo usuário-alvo. Use a tabela de comparação para ver as permissões de todos os papéis.

Papel Capacidades Usuário a que o papel se destina
Administrador do App Engine Ler/gravar/modificar acesso a todas as configurações do aplicativo.
  • Proprietário/administrador do aplicativo
  • Engenheiro de prontidão
  • Administrador do sistema
Administrador de serviço do App Engine
  • Acesso somente leitura a todas as configurações do aplicativo.
  • Acesso de gravação às configurações de nível de serviço e versão, incluindo configuração de tráfego.
  • Não é possível implantar versões de apps. Consulte a tabela de separação de tarefas abaixo para detalhes.
  • Engenheiro de lançamento
  • DevOps
  • Engenheiro de prontidão
  • Administrador do sistema
Implantador do App Engine
  • Acesso somente leitura a todas as configurações do aplicativo.
  • Acesso de gravação apenas para implantar e criar uma nova versão.
  • Permite excluir versões antigas que não atendem mais tráfego.
  • Não permite modificar uma versão atual nem alterar a configuração de tráfego.

Consulte a seção Implantações abaixo para mais informações sobre os papéis necessários.

  • Conta de implantação
  • Engenheiro de lançamento
Leitor do App Engine Acesso somente leitura a todas as configurações do aplicativo.
  • Usuário que precisa visualizar as informações do aplicativo, sem modificá-lo.
  • Job de auditoria que verifica a conformidade da configuração do App Engine com as políticas.
Leitor de código do App Engine Acesso somente de leitura a todas as configurações e ao código-fonte implantado do aplicativo.
  • Usuário que precisa visualizar as informações e o código-fonte do aplicativo, sem modificá-lo.
  • Usuário de DevOps que precisa diagnosticar problemas de produção.

Comparação dos papéis predefinidos do App Engine

A tabela a seguir fornece uma comparação completa das capacidades de cada papel predefinido do App Engine.

Capacidade Administrador do App Engine Administrador de serviço do App Engine Implantador do App Engine Leitor do App Engine Leitor de código do App Engine
Listar todos os serviços, versões e instâncias Sim Sim Sim Sim Sim
Ver todas as configurações de aplicativo, serviço, versão e instância Sim Sim Sim Sim Sim
Ver métricas do ambiente de execução, como uso de recursos, informações do carregamento e informações de erro Sim Sim Sim Sim Sim
Ver o código-fonte do app Não Não Não Não Sim
Implantar uma nova versão de um aplicativo Sim Não Sim Não Não
Dividir ou migrar tráfego Sim Sim Não Não Não
Iniciar e parar uma versão Sim Sim Não Não Não
Excluir uma versão Sim Sim Sim Não Não
Excluir um serviço inteiro Sim Sim Não Não Não
Usar SSH para se conectar a uma instância de VM no ambiente flexível Sim Não Não Não Não
Encerrar uma instância Sim Não Não Não Não
Desativar e reativar o aplicativo do App Engine Sim Não Não Não Não
Acessar gerenciadores que tenham uma restrição login:admin (somente ambientes de execução de primeira geração) Sim Não Não Não Não
Atualizar regras de expedição Sim Não Não Não Não
Atualizar configurações de DoS Sim Não Não Não Não
Atualizar programações de cron Não Não Não Não Não
Atualizar a expiração padrão de cookies Sim Não Não Não Não
Atualizar referenciadores Sim Não Não Não Não
Atualizar remetentes autorizados da API de e-mail Sim Não Não Não Não

Para mais detalhes sobre as permissões de IAM específicas que são concedidas por cada papel, consulte a seção "Papéis" na documentação da API Admin.

O papel predefinido de Implantador do App Engine é o recomendado para a conta responsável por apenas implantar versões novas de um aplicativo. O papel de Administrador do App Engine é uma alternativa que inclui mais privilégios administrativos, incluindo a capacidade de implantar versões.

Qualquer um desses papéis concede à conta permissão adequada para usar a API Admin com o objetivo de implantar apps. Para conceder permissão para usar os comandos da gcloud ou outras ferramentas do App Engine , é necessário também conceder à conta o papel de Administrador do Storage.

Para detalhes sobre como conceder as permissões necessárias, veja Como criar uma conta de usuário.

Separação de tarefas de implantação e de roteamento de tráfego

Muitas organizações preferem separar as tarefas de implantação da versão de um aplicativo e de intensificação do tráfego dessa nova versão. Assim, essas tarefas são feitas por pessoas com cargos diferentes. Os papéis de administrador de serviço e de implantador do App Engine já incluem essa separação:

  • Papel de implantador do App Engine: as contas limitam-se apenas à implantação de novas versões e à exclusão de versões antigas que não fornecem o tráfego. A conta com o papel de implementador do App Engine não poderá configurar o tráfego para qualquer versão nem alterar configurações no nível do aplicativo, como regras de despacho ou domínio de autenticação.

  • Papel de administrador de serviço do App Engine: as contas não conseguem implantar uma nova versão de aplicativo nem alterar configurações no nível do aplicativo. No entanto, elas têm privilégios para alterar as propriedades dos serviços e versões atuais, incluindo alterar quais versões terão capacidade de atender o tráfego. O papel de administrador de serviço do App Engine é ideal para um departamento de operações/TI que lida com o aumento do tráfego nas versões recém-implantadas.

Limitações dos papéis predefinidos

Nenhum dos papéis predefinidos listados acima concede acesso para:

  • criar aplicativos do App Engine;
  • visualizar e fazer o download de registros de aplicativos;
  • visualizar os gráficos do Monitoring no Console do Cloud;
  • ativar e desativar o faturamento;
  • executar verificações de segurança no Cloud Security Scanner;
  • acessar configurações ou dados armazenados no Datastore, no Task Queues, no Memcache, no Cloud Search ou em qualquer outro produto de armazenamento do Cloud Platform.