Vista geral do controlo de acesso


Por predefinição, todos os Google Cloud projetos têm um único utilizador: o criador original do projeto. Nenhum outro utilizador tem acesso ao projeto e, por isso, acesso aos recursos do Compute Engine, até que um utilizador seja adicionado como membro do projeto ou esteja associado a um recurso específico. Esta página descreve as formas como pode adicionar novos utilizadores ao seu projeto e como definir o controlo de acesso para os seus recursos do Compute Engine através da gestão de identidades e acessos (IAM).

Para obter informações sobre como conceder acesso a aplicações em execução nas suas instâncias do Compute Engine, consulte o artigo Como é determinada a autorização.

Opções de controlo de acesso para utilizadores

Para dar aos utilizadores a capacidade de criar e gerir os seus recursos do Compute Engine, pode adicioná-los como membros da equipa ao seu projeto ou a recursos específicos e conceder-lhes autorizações através de funções do IAM.

Um membro da equipa pode ser um utilizador individual com uma Conta Google válida ou uma conta de utilizador de um fornecedor de identidade externo, um grupo Google, um grupo de identidades de um conjunto de identidades de força de trabalho, uma conta de serviço ou um domínio do Google Workspace. Quando adiciona um membro da equipa a um projeto ou a um recurso, especifica as funções que lhe quer atribuir. O IAM oferece três tipos de funções: funções predefinidas, funções básicas e funções personalizadas.

Os recursos herdam as políticas dos respetivos recursos principais na Google Cloud hierarquia de recursos. A política eficaz de um recurso é a união da política definida nesse recurso e da política herdada do respetivo recurso principal.

Funções predefinidas do Compute Engine

As funções predefinidas concedem um conjunto de autorizações relacionadas. O Compute Engine oferece as seguintes funções predefinidas:

Título da função Capacidades Utilizador-alvo
Utilizador de imagens do Compute Engine

Autorização para listar e usar imagens de outro projeto. Conceda a um membro esta função juntamente com outra função para que o membro possa usar imagens de outro projeto para criar um novo recurso. Por exemplo, conceda esta função e a função Instance Admin para que um membro possa usar imagens de outro projeto para criar instâncias de VM e discos persistentes.

Se estiver a criar grupos de instâncias geridos ou se estiver a usar o Deployment Manager para criar instâncias de VMs, pode ter de conceder esta função à conta de serviço das APIs Google do projeto antes de poder usar imagens de outros projetos.

  • Contas de serviço
  • Administradores de sistemas
  • Programadores
Administrador de instâncias do Compute Engine (v1)

Controlo total das instâncias, grupos de instâncias, discos, instantâneos e imagens do Compute Engine. Acesso só de leitura a todos os recursos de rede do Compute Engine.

Se o membro estiver a gerir instâncias de VMs configuradas para serem executadas como uma conta de serviço, também tem de conceder a função roles/iam.serviceAccountUser para que possa atribuir contas de serviço a instâncias de VMs.

  • Administradores de sistemas
  • Programadores
Função de administrador do Compute Engine

Controlo total de todos os recursos do Compute Engine. Se o utilizador estiver a gerir instâncias de VMs configuradas para serem executadas como uma conta de serviço, também tem de conceder a função roles/iam.serviceAccountUser.

  • Administradores de sistemas
  • Programadores
Administrador de rede do Compute Engine

Autorizações para criar, modificar e eliminar recursos de rede, exceto regras de firewall e certificados SSL. A função de administrador de rede permite o acesso só de leitura às regras de firewall, aos certificados SSL e às instâncias (para ver os respetivos endereços IP efémeros). A função de administrador de rede não permite que um membro crie, inicie, pare nem elimine instâncias.

Administradores de rede
Administrador de segurança do Compute Engine

Autorizações para criar, modificar e eliminar regras de firewall e certificados SSL.

Administradores de segurança
Administrador do equilibrador de carga do Compute Enginebeta

Autorizações para criar, modificar e eliminar balanceadores de carga e recursos associados.

Administradores do balanceador de carga
Utilizador da conta de serviço do Compute Engine

Autorização para criar instâncias que usam contas de serviço e autorização para anexar um disco e definir metadados numa instância já configurada para ser executada como uma conta de serviço.

Não deve conceder esta função por si só, uma vez que não concede autorizações à API Compute Engine. Deve conceder esta função a um membro, bem como outra função, como a função de administrador da instância.

  • Administradores de sistemas
  • Programadores
Função de visitante do Compute Engine

Acesso só de leitura para obter e listar recursos do Compute Engine, sem poder ler os dados armazenados nos mesmos. Por exemplo, uma conta com esta função pode inventariar todos os discos num projeto, mas não pode ler nenhum dos dados nesses discos.

Administradores de sistemas
Utilizador de rede do Compute Engine

Autorizações para usar uma rede de VPC partilhada. Especificamente, conceda esta função aos proprietários de serviços que precisam de usar recursos no projeto anfitrião. Após a concessão, os proprietários de serviços podem usar sub-redes e redes que pertencem ao projeto anfitrião. Por exemplo, um utilizador da rede pode criar uma instância de VM pertencente a uma rede anfitriã de VPC partilhada, mas não pode eliminar nem criar novas redes no projeto anfitrião.

  • Administradores de sistemas
  • Programadores
Leitor de rede do Compute Engine

Acesso só de leitura a todos os recursos de rede. Por exemplo, se tiver software que inspeciona a configuração da rede, pode conceder à conta de serviço desse software a função de visualizador da rede.

  • Administradores de rede
  • Administradores de sistemas
  • Programadores
  • Contas de serviço
Administrador de armazenamento do Compute Enginebeta

Autorizações para criar, modificar e eliminar discos, imagens e instantâneos.

Por exemplo, se a sua empresa tiver alguém que gere imagens e não quiser que essa pessoa tenha a função de editor no projeto, atribua essa função à respetiva conta.

  • Administradores de sistemas
  • Programadores
Administrador da VPC partilhada do Compute Engine

Autorizações para administrar projetos anfitriões de VPC partilhada, especificamente, ativar os projetos anfitriões e associar projetos de serviço à rede do projeto anfitrião. Esta função só pode ser concedida ao nível da organização.

Criadores de projetos

Para ver uma lista de métodos da API aos quais uma função específica concede autorização, reveja a documentação sobre as funções IAM do Compute Engine.

Matriz de funções predefinidas

A tabela seguinte oferece uma comparação completa das capacidades de cada função do Compute Engine.

Capacidade Administrador de instâncias (v1) Utilizador de imagens Utilizador da rede Visualizador de redes Administrador de rede Administrador de segurança Administrador de armazenamento Administrador da VPC partilhada Administrador de computação Visualizador do Compute Administrador do balanceador de carga
Crie ou elimine instâncias de VM *
SSH para instâncias de VM * *
Liste ou obtenha instâncias de VM
Criar ou eliminar imagens, discos e instantâneos
Crie listas ou obtenha imagens
Crie ou elimine grupos de instâncias *
Liste ou obtenha grupos de instâncias
Crie e faça a gestão de balanceadores de carga
Crie e faça a gestão de VPNs
Veja recursos de rede/sub-rede
Veja as regras de firewall
Crie e faça a gestão de firewalls e certificados SSL para firewalls,
para certificados SSL
Crie e faça a gestão de projetos anfitriões da VPC partilhada
Use redes e sub-redes num projeto anfitrião de VPC partilhada
Crie e faça a gestão de redes e sub-redes

*Se a instância de VM puder ser executada como uma conta de serviço, conceda também a função de utilizador da conta de serviço.

Para ver uma lista de métodos da API aos quais uma função específica concede autorização, reveja a documentação sobre as funções IAM do Compute Engine.

Funções básicas de IAM

As funções IAM básicas são mapeadas diretamente para as funções de proprietário, editor e leitor do projeto antigo. Geralmente, deve usar funções predefinidas sempre que possível. No entanto, em alguns casos, em que a IAM ainda não é suportada, pode ter de usar uma função básica para conceder as autorizações corretas.

Título da função Autorizações
Owner Todos os privilégios de visitante e editor, além da capacidade de alterar as definições de faturação, gerir o controlo de acesso e eliminar um projeto.
Editor Todos os privilégios de visualizador, além da capacidade de criar, modificar e eliminar recursos.
Viewer Autorizações só de leitura para todos os recursos; sem autorização para alterar recursos.

Para saber mais acerca das funções básicas, leia a documentação sobre as funções básicas.

Se as funções predefinidas ou básicas não satisfizerem as suas necessidades, pode criar funções personalizadas.

Políticas de IAM para recursos do Compute Engine

Pode conceder acesso aos recursos do Compute Engine como instâncias de VMs, imagens e discos, anexando políticas do IAM diretamente a esses recursos. Uma política IAM permite-lhe gerir funções IAM nesses recursos, em vez de, ou além de, gerir funções ao nível do projeto. Isto dá-lhe flexibilidade para aplicar o princípio do menor privilégio, que consiste em conceder acesso apenas aos recursos específicos de que os colaboradores precisam para fazer o seu trabalho.

Com as políticas IAM para recursos do Compute Engine, as organizações podem:

  • Conceder aos utilizadores acesso a um subconjunto específico de recursos. Suponhamos que a Alice deve gerir um subconjunto de instâncias num projeto. Com as políticas de IAM ao nível da instância, concede-lhe a função compute.instanceAdmin.v1 apenas nessas instâncias. Se concedeu à Alice a mesma função no projeto, ela teria autorização para modificar todas as instâncias no projeto.
  • Permitir que os administradores concedam acesso. Os administradores podem conceder a outras pessoas acesso a instâncias, discos e imagens sem terem de ser proprietários de projetos com privilégios. Suponhamos que o João é um programador ao qual foi atribuída a função de compute.storageAdmin numa imagem específica. Pode partilhar essa imagem com os seus colegas concedendo-lhes a função de compute.imageUser na imagem. Sem políticas de IAM para recursos do Compute Engine, o Bob não pode partilhar essa imagem com os seus colegas, a menos que se torne proprietário do projeto, porque teria de modificar a política de IAM do projeto.

Os recursos também herdam as políticas dos respetivos recursos principais. Se definir uma política ao nível do projeto, esta é herdada por todos os respetivos recursos secundários. A política em vigor para um recurso é a união da política definida nesse recurso e da política herdada de um nível superior na hierarquia. Para mais informações, leia acerca da hierarquia de políticas do IAM.

Políticas da organização

Se for membro do Google Workspace, o seu projeto pode fazer parte de um recurso de organização. Um recurso de organização é o supernó na Google Cloud hierarquia de recursos que está estreitamente associado a uma conta do Google Workspace. Depois de criar um recurso de organização para um domínio do Google Workspace, todos os projetos criados por membros do domínio pertencem ao recurso de organização.Google Cloud

Uma organização pode implementar políticas da organização, que são políticas que restringem as configurações permitidas em toda a sua Google Cloud hierarquia de recursos. Para o Compute Engine, pode implementar as seguintes políticas:

Para definir políticas da organização, tem de lhe ter sido atribuído o papel de orgpolicy.policyAdmin na organização. Também pode definir substituições específicas do projeto caso tenha exceções à política.

Para saber mais acerca das organizações, leia a documentação Organizações.

Para saber mais sobre as políticas de organização, leia a documentação da política de organização.

Conceder aos utilizadores acesso SSH a instâncias de VM

Para conceder a um utilizador a capacidade de se ligar a uma instância de VM através de SSH sem lhe conceder a capacidade de gerir recursos do Compute Engine, adicione a chave pública do utilizador ao projeto ou adicione a chave pública de um utilizador a uma instância específica. Com este método, pode evitar adicionar um utilizador como membro do projeto, ao mesmo tempo que lhe concede acesso a instâncias específicas.

Para saber mais sobre o SSH e a gestão de chaves SSH, leia a vista geral das chaves SSH.

Tenha em atenção que, se conceder a função roles/compute.instanceAdmin.v1 a um membro do projeto, este pode ligar-se automaticamente a instâncias através do SSH, desde que a instância não esteja configurada para ser executada como uma conta de serviço. Se a instância estiver configurada para ser executada como uma conta de serviço, também tem de conceder a função roles/iam.serviceAccountUser antes de o membro se poder ligar à instância.

Se adicionar um membro como proprietário ou editor do projeto, este também tem automaticamente acesso SSH às instâncias de VM no projeto.

Controlo de acesso para apps em execução em instâncias de VM

Se executar código de apps em instâncias e a app precisar de se autenticar noutras Google Cloud APIs, pode criar contas de serviço e atribuir a estas contas de serviço funções IAM específicas para se autenticarem noutras Google Cloud APIs em seu nome. Uma conta de serviço é uma conta especial que não tem credenciais de utilizador e é ideal para interações servidor a servidor.

Para saber mais sobre as contas de serviço, leia a documentação Contas de serviço.

Identidades de cargas de trabalho geridas para cargas de trabalho do Compute Engine

Pode configurar o aprovisionamento automático e a gestão do ciclo de vida dos certificados X.509 do Certificate Authority Service (serviço de AC) através de identidades de cargas de trabalho geridas. Os certificados de identidade de carga de trabalho geridos são emitidos pelo serviço de AC, que é um serviço altamente disponível e escalável Google Cloud que ajuda a simplificar e automatizar a implementação, a gestão e a segurança dos serviços de AC, mantendo o controlo das suas chaves privadas.

Com as identidades de cargas de trabalho geridas, pode beneficiar do mTLS por VM, gerido pelo Compute Engine. O mTLS por VM usa certificados X.509 emitidos quando cria uma VM. Estes certificados mTLS são rodados automaticamente, pelo que não tem de se preocupar mais com a gestão dos certificados.

As identidades de cargas de trabalho geridas fornecem uma base para permitir comunicações mútuas autenticadas e encriptadas entre quaisquer duas VMs do Compute Engine. Por exemplo, quando usa identidades de carga de trabalho geridas, o serviço A executado numa VM comunica com o serviço B executado numa VM diferente através de um canal encriptado estabelecido com mTLS.

Para obter informações sobre a configuração de identidades de cargas de trabalho geridas, consulte o artigo Autentique cargas de trabalho a outras cargas de trabalho através de mTLS.

O que se segue?