Visão geral do Connect

O Connect permite que você conecte qualquer um dos seus clusters do Kubernetes ao Google Cloud. Assim, é possível acessar o cluster e os recursos de gerenciamento de carga de trabalho. Isso inclui uma interface de usuário unificada, o Console do Cloud, para interagir com o cluster.

Se sua rede estiver configurada para permitir solicitações de saída, será possível configurar o agente do Connect para transferir NATs, proxies de saída e firewalls para estabelecer uma conexão criptografada de longa duração entre o servidor da API Kubernetes do cluster e seu projeto do Google Cloud. Quando a conexão estiver ativa, será possível usar suas próprias credenciais para fazer login novamente nos clusters e acessar detalhes sobre os recursos do Kubernetes. Isso realmente replicará a experiência da IU que está disponível apenas para clusters do GKE.

Depois que a conexão é estabelecida, o software Connect Agent pode trocar credenciais de conta, detalhes técnicos e metadados sobre a infraestrutura e as cargas de trabalho conectadas necessárias para gerenciá-las com o Google Cloud, incluindo detalhes de recursos, aplicativos. e hardware.

Esses dados do serviço de cluster estão associados ao seu projeto e conta do Google Cloud. Esses dados são usados pelo Google para manter um plano de controle entre o cluster e o Google Cloud. Assim, é possível fornecer os serviços e recursos do Google Cloud exigidos, inclusive suporte facilitado, faturamento, fornecimento de atualizações e avaliação. Além de aprimorar a confiabilidade, a qualidade, a capacidade e a funcionalidade dos serviços do Connect e do Google Cloud disponíveis por meio do Connect.

Você mantém o controle sobre os dados enviados por meio do Connect: o servidor da API Kubernetes realiza a autenticação, a autorização e a geração de registros de auditoria em todas as solicitações via Connect. Para acessar dados ou APIs por meio do Connect, o Google e os usuários precisam ser autorizados pelo administrador do cluster. Por exemplo, via RBAC. O administrador pode revogar essa autorização.

Agente do Connect

O Connect usa uma implantação chamada de agente do Connect. Assim, é possível estabelecer uma conexão entre os clusters e o projeto do Google Cloud, além de processar solicitações do Kubernetes.

Conectar papéis do IAM

O gerenciamento de identidade e acesso (IAM, na sigla em inglês) permite que usuários, grupos e contas de serviço acessem as APIs do Google Cloud e executem tarefas nos produtos do Google Cloud.

Você precisa fornecer papéis específicos do IAM para iniciar o Connect Agent e interagir com o cluster usando o Console do Google Cloud ou o SDK do Cloud. Esses papéis não permitem acesso direto a clusters conectados.

Com alguns destes papéis, é possível acessar informações sobre clusters, incluindo:

  • Nomes do cluster
  • Chaves públicas
  • Endereços IP
  • Provedores de identidade
  • versões do Kubernetes;
  • tamanho do cluster
  • Outros metadados de clusters.

O Connect usa os papéis do IAM a seguir:

Nome da função Título do papel Descrição Permissões
roles/gkehub.admin Administrador do Hub Fornece acesso total ao Hub e aos recursos relacionados.

Permissões para o Google Cloud

  • resourcemanager.projects.get
  • resourcemanager.projects.list

Permissões para o Hub

  • gkehub.memberships.list
  • gkehub.memberships.get
  • gkehub.memberships.create
  • gkehub.memberships.update
  • gkehub.memberships.delete
  • gkehub.memberships.generateConnectManifest
  • gkehub.memberships.getIamPolicy
  • gkehub.memberships.setIamPolicy
  • gkehub.locations.list
  • gkehub.locations.get
  • gkehub.operations.list
  • gkehub.operations.get
  • gkehub.operations.cancel
  • gkehub.features.list
  • gkehub.features.get
  • gkehub.features.create
  • gkehub.features.update
  • gkehub.features.delete
  • gkehub.features.getIamPolicy
  • gkehub.features.setIamPolicy
roles/gkehub.viewer Leitor do Hub Fornece acesso somente leitura ao Hub e aos recursos relacionados.

Permissões para o Google Cloud

  • resourcemanager.projects.get
  • resourcemanager.projects.list

Permissões para o Hub

  • gkehub.memberships.list
  • gkehub.memberships.get
  • gkehub.memberships.generateConnectManifest
  • gkehub.memberships.getIamPolicy
  • gkehub.locations.list
  • gkehub.locations.get
  • gkehub.operations.list
  • gkehub.operations.get
  • gkehub.features.list
  • gkehub.features.get
  • gkehub.features.getIamPolicy
roles/gkehub.connect Agente do GKE Connect Fornece a capacidade de estabelecer novas conexões entre clusters externos e o Google. gkehub.endpoints.connect

Como fazer login usando o Connect

Authentication

É possível usar o Console do Google Cloud para fazer login em clusters registrados de três maneiras:

  1. usando a autenticação básica, que utiliza um nome de usuário e um arquivo de senha estático. Para saber mais, consulte Arquivo de senha estático;
  2. usando um token do portador. Há muitos tipos dele compatíveis, conforme especificado em Autenticação do Kubernetes. O método mais fácil é criar uma conta de serviço do Kubernetes (KSA, na sigla em inglês) no cluster e usar o token do portador para fazer login.
  3. Usar um provedor OpenID Connect (OIDC).

Autorização

As verificações de autorização são realizadas pelo servidor de API do cluster. É analisada a identidade que você usa quando se autentica por meio do Console do Google Cloud.

Todas as contas que fazem login em um cluster precisam manter pelo menos os seguintes papéis de RBAC do Kubernetes no cluster:

Esses papéis fornecem acesso somente leitura a um cluster e detalhes sobre os nós. Os papéis não fornecem acesso a todos os recursos, portanto, alguns recursos do Console do Google Cloud podem não estar disponíveis. Por exemplo, esses papéis não permitem o acesso aos secrets do Kubernetes ou aos registros de pods.

As contas podem receber outras permissões do RBAC, como edit ou cluster-admin, para fazer mais no cluster. Para mais informações, consulte a documentação do RBAC.

Auditoria

Os acessos por meio do Console do Google Cloud são registrados em auditoria no servidor da API do cluster.