As funções determinam os serviços e as ações disponíveis para uma conta de utilizador ou uma conta de serviço. Os seguintes tipos de funções concedem acesso ao App Engine:
Funções básicas que se aplicam a todos os serviços e recursos num projeto, incluindo, entre outros, o App Engine. Por exemplo, uma conta com a função de editor pode alterar as definições do App Engine, bem como as definições do Cloud Storage.
Funções predefinidas do App Engine, que oferecem acesso detalhado ao App Engine. Cada serviço no seu Google Cloud projeto fornece as suas próprias funções predefinidas. Por exemplo, uma conta que só tenha a função de implementador do App Engine pode implementar apps do App Engine, mas não pode ver nem criar objetos no Cloud Storage. Essa conta também precisa de uma função predefinida do Cloud Storage específica para criar ou ver objetos no Cloud Storage.
Funções personalizadas, que oferecem acesso detalhado de acordo com uma lista de autorizações que especificar.
Pode usar funções básicas quando trabalha em projetos mais pequenos com necessidades menos complexas. Para controlos de acesso mais precisos, use funções predefinidas.
Funções básicas
As funções básicas aplicam-se a todos os serviços e recursos num projeto. Por exemplo, uma conta com a função de editor pode alterar as definições do App Engine, bem como as definições do Cloud Storage.
Função | Autorizações daGoogle Cloud console | Autorizações de ferramentas |
---|---|---|
Owner |
Necessário para criar aplicações do App Engine. Todos os privilégios de visualizador e editor, além da capacidade de ver o código-fonte implementado, convidar utilizadores, alterar funções de utilizador e eliminar uma aplicação. Tem privilégios de administrador para todos os recursos no projeto. | Necessário para criar aplicações do App Engine. Também pode implementar código de aplicação e atualizar todas as configurações. |
Editor |
Ver informações da aplicação e editar as definições da aplicação. Tem privilégios de administrador para todos os recursos no projeto. | Implementar código de aplicação, atualizar índices/filas/tarefas cron. |
Viewer |
Veja as informações da aplicação. Tem privilégios de administrador para todos os recursos no projeto. | Pedir registos |
Funções predefinidas do App Engine
Role | Permissions |
---|---|
App Engine Admin( Read/Write/Modify access to all application configuration and settings. To deploy new versions, a principal must have the
Service Account User
( Lowest-level resources where you can grant this role:
|
|
App Engine Creator( Ability to create the App Engine resource for the project. Lowest-level resources where you can grant this role:
|
|
App Engine Viewer( Read-only access to all application configuration and settings. Lowest-level resources where you can grant this role:
|
|
App Engine Code Viewer( Read-only access to all application configuration, settings, and deployed source code. Lowest-level resources where you can grant this role:
|
|
App Engine Managed VM Debug Access( Ability to read or manage v2 instances. |
|
App Engine Deployer( Read-only access to all application configuration and settings. To deploy new versions, you must also have the
Service Account User
( Cannot modify existing versions other than deleting versions that are not receiving traffic. Lowest-level resources where you can grant this role:
|
|
App Engine Memcache Data Admin( Can get, set, delete, and flush App Engine Memcache items. |
|
App Engine Service Admin( Read-only access to all application configuration and settings. Write access to module-level and version-level settings. Cannot deploy a new version. Lowest-level resources where you can grant this role:
|
|
App Engine Standard Environment Service Agent( Give App Engine Standard Envirnoment service account access to managed resources. Includes access to service accounts. |
|
As funções predefinidas do App Engine oferecem opções mais detalhadas para o controlo de acesso.
Estas funções só concedem acesso ao App Engine. Se o seu projeto incluir outros serviços, como o Cloud Storage ou o Cloud SQL, tem de atribuir funções adicionais para ativar o acesso aos outros serviços.
Comparação das funções predefinidas do App Engine
A tabela seguinte oferece uma comparação completa das capacidades de cada função do App Engine predefinida.
Capacidade | Administrador do App Engine | Administrador de serviços do App Engine | App Engine Deployer | Visualizador do App Engine | Visualizador de código do App Engine |
---|---|---|---|---|---|
Apresente todos os serviços, versões e instâncias | Sim | Sim | Sim | Sim | Sim |
Veja todas as definições de aplicações, serviços, versões e instâncias | Sim | Sim | Sim | Sim | Sim |
Veja métricas de tempo de execução, como a utilização de recursos, informações de carregamento e informações de erros | Sim | Sim | Sim | Sim | Sim |
Veja o código-fonte da app | Não | Não | Não | Não | Sim |
Implemente uma nova versão de uma app | Sim, se também conceder a função Utilizador da conta de serviço | Não | Sim, se também conceder a função Utilizador da conta de serviço | Não | Não |
Divida ou migre tráfego | Sim | Sim | Não*** | Não | Não |
Inicie e pare uma versão | Sim | Sim | Não | Não | Não |
Elimine uma versão | Sim | Sim | Sim | Não | Não |
Elimine um serviço completo | Sim | Sim | Não | Não | Não |
Use o SSH para estabelecer ligação a uma instância da VM no ambiente flexível | Sim | Não | Não | Não | Não |
Encerre uma instância | Sim | Não | Não | Não | Não |
Desative e reative a aplicação do App Engine | Sim | Não | Não | Não | Não |
Controladores de acesso com uma restrição login:admin (apenas runtimes de primeira geração) | Sim | Não | Não | Não | Não |
Atualize as regras de envio | Sim | Não | Não | Não | Não |
Atualize as definições de DoS | Sim | Não | Não | Não | Não |
Atualize as agendas cron | Não | Não | Não | Não | Não |
Atualize a validade dos cookies predefinida | Sim | Não | Não | Não | Não |
Atualize os referentes | Sim | Não | Não | Não | Não |
Atualize os remetentes autorizados da API Email | Sim | Não | Não | Não | Não |
Para ver detalhes sobre as autorizações de IAM específicas concedidas por cada função, consulte a secção Funções da API Admin.
Função recomendada para a implementação de aplicações
Para uma conta responsável apenas pela implementação de novas versões de uma app, recomendamos que conceda as seguintes funções:
- Função de implementador do App Engine (
roles/appengine.deployer
) Função de utilizador da conta de serviço (
roles/iam.serviceAccountUser
)A função de utilizador da conta de serviço permite que a conta se faça passar pela conta de serviço predefinida do App Engine durante o processo de implementação.
Se a conta usar comandos
gcloud
para implementar, adicione também estas funções:- Administrador de objetos de armazenamento (
roles/storage.objectAdmin
) - Editor do Cloud Build (
roles/cloudbuild.builds.editor
)
- Administrador de objetos de armazenamento (
Para ver detalhes sobre como conceder as autorizações necessárias, consulte o artigo Criar uma conta de utilizador.
Separação das funções de implementação e encaminhamento de tráfego
Muitas organizações preferem separar a tarefa de implementar uma versão da aplicação da tarefa de aumentar o tráfego para a versão recém-criada e que estas tarefas sejam realizadas por diferentes funções de trabalho. As funções App Engine Deployer e App Engine Service Admin oferecem esta separação:
- Funções de implementador do App Engine e utilizador da conta de serviço: as contas estão limitadas à implementação de novas versões e à eliminação de versões antigas que não estejam a publicar tráfego. A conta com estas funções não pode configurar o tráfego para nenhuma versão nem alterar as definições ao nível da aplicação, como as regras de envio ou o domínio de autenticação.
- Função de administrador do serviço do App Engine: as contas não podem implementar uma nova versão de uma app nem alterar as definições ao nível da aplicação. No entanto, essas contas têm privilégios para alterar as propriedades dos serviços e das versões existentes, incluindo alterar as versões que podem publicar tráfego. A função de administrador do serviço do App Engine é ideal para um departamento de operações/TI que lida com o aumento do tráfego para versões implementadas recentemente.
Limitações das funções predefinidas
Nenhuma das funções predefinidas do App Engine concede acesso ao seguinte:
- Veja e transfira registos de aplicações.
- Veja gráficos de monitorização na Google Cloud consola.
- Ativar e desativar a faturação.
- Execute verificações de segurança no Cloud Security Scanner.
- Aceder à configuração ou aos dados armazenados no Datastore, nas filas de tarefas, na Pesquisa na nuvem ou em qualquer outro produto de armazenamento da Cloud Platform.