Visão geral do controle de acesso

Quando você cria um projeto do Google Cloud Platform, você é o único usuário no projeto. Por padrão, nenhum outro usuário tem acesso a seu projeto ou seus recursos, incluindo os recursos do Google Kubernetes Engine. O Google Kubernetes Engine oferece suporte a várias opções para gerenciar o acesso a recursos em seu projeto e seus clusters usando o controle de acesso baseado em papel (RBAC, na sigla em inglês).

Esses mecanismos têm algumas funções semelhantes, mas são direcionados para diferentes tipos de recursos. Cada um é explicado em uma das seções abaixo. No entanto, estas são algumas características:

  • O RBAC do Kubernetes é incorporado ao Kubernetes e concede permissões granulares a objetos nos clusters do Kubernetes. As permissões existem como objetos ClusterRole ou Role no cluster. Os objetos RoleBinding concedem papéis a usuários do Kubernetes, usuários do GCP, contas de serviço do GCP ou Grupos do Google (Beta).

    Se você usa principalmente o GKE e precisa de permissões refinadas para cada objeto e operação no cluster, o RBAC do Kubernetes é a melhor escolha.

  • O Cloud IAM gerencia recursos do GCP, incluindo clusters e tipos de objetos nos clusters. As permissões são atribuídas aos membros do Cloud IAM, que existem no GCP, no G Suite ou no Cloud Identity.

    Não há mecanismo para conceder permissões a objetos específicos do Kubernetes no Cloud IAM. Por exemplo, é possível conceder permissão a um usuário para criar CustomResourceDefinitions (CRDs). No entanto, não é possível conceder permissão ao usuário para criar apenas uma CustomResourceDefinition em particular, ou então limitar a criação a um namespace individual ou a um cluster especial no projeto. Um papel do Cloud IAM concede privilégios a todos os clusters no projeto ou a todos os clusters em todos os projetos filhos, caso o papel seja aplicado no nível da pasta.

    Se você usa vários componentes do GCP e não precisa gerenciar permissões granulares específicas do Kubernetes, o Cloud Identity and Access Management é uma boa escolha.

RBAC do Kubernetes

O Kubernetes conta com suporte integrado para RBAC, o que permite criar papéis específicos que existem no cluster do Kubernetes. É possível definir o escopo de um papel para um objeto específico do Kubernetes ou um tipo de objeto do Kubernetes. Também é possível definir quais ações (chamadas de verbos) o papel concede em relação a esse objeto. Um RoleBinding também é um objeto do Kubernetes que concede papéis aos usuários. Em um usuário do GKE, pode ser qualquer um dos seguintes:

  • Usuário do GCP
  • Conta de serviço do GCP
  • Conta de serviço do Kubernetes
  • Usuário do G Suite
  • Grupos do Google do G Suite (Beta)

Para saber mais, consulte Controle de acesso baseado em papel.

Cloud IAM

O Cloud Identity and Access Management permite definir papéis e atribuí-los aos membros. Um papel é um conjunto de permissões e, quando atribuído a um membro, controla o acesso a um ou mais recursos do GCP. Os papéis se dividem em três categorias amplas:

Um membro pode ser qualquer um dos seguintes:

  • Conta do Google
  • conta de serviço
  • grupo do Google
  • domínio do G Suite
  • Domínio do Cloud Identity

Uma política do Cloud IAM atribui um conjunto de permissões a um ou mais membros do Google Cloud Platform.

Também é possível usar o Cloud IAM para criar e configurar contas de serviço, que são contas do GCP associadas ao seu projeto que podem executar tarefas em seu nome. Papéis e permissões são atribuídos a contas de serviço da mesma maneira que a usuários humanos.

As contas de serviço também oferecem outras funcionalidades. Para saber mais, consulte Como criar políticas do Cloud IAM.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Kubernetes Engine