Como adicionar redes autorizadas para garantir o acesso ao mestre do cluster

Nesta página, explicamos como conceder acesso de rede autorizado aos mestres de cluster nos clusters do Google Kubernetes Engine. Para ver informações gerais sobre a rede do GKE, acesse a Visão geral da rede.

Visão geral

As redes autorizadas permitem a inclusão de intervalos específicos do CIDR na lista de permissões e que endereços IP nesses intervalos acessem o endpoint do mestre do cluster (em inglês) usando HTTPS. As redes autorizadas são compatíveis com todos os clusters.

O GKE usa o protocolo Transport Layer Security (TLS) e a autenticação para fornecer acesso seguro ao endpoint do cluster mestre a partir da Internet pública. Isso proporciona a flexibilidade de administrar seu cluster de qualquer lugar. Ao usar redes autorizadas, é possível restringir ainda mais o acesso a conjuntos específicos de endereços IP.

Vantagens

A adição de redes autorizadas pode fornecer benefícios adicionais de segurança para seu cluster. Redes autorizadas concedem acesso a um conjunto específico de endereços que você designa, como aqueles originados de seu ambiente. Isso protege o acesso ao cluster no caso de uma vulnerabilidade nos mecanismos de autenticação ou autorização do cluster.

Benefícios dos clusters particulares

Os clusters particulares executam nós sem endereços IP externos e, opcionalmente, executam seus mestres de cluster sem um endpoint acessível ao público. Além disso, os clusters particulares não permitem que os endereços IP do GCP acessem o endpoint do cluster mestre por padrão. O uso de clusters particulares com redes autorizadas torna o cluster mestre acessível apenas pelos CIDRs na lista de permissões, pelos nós da VPC do cluster e pelas tarefas internas de produção do Google que gerenciam o mestre.

Limitações

  • Um cluster pode ter no máximo 50 intervalos de CIDR de rede autorizados.

Antes de começar

Prepare-se para a tarefa tomando as seguintes medidas:

  • Verifique se você ativou a API Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Verifique se o SDK do Cloud está instalado.
  • Defina o ID do projeto padrão:
    gcloud config set project [PROJECT_ID]
  • Se você estiver trabalhando com clusters zonais, defina a zona de computação padrão:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • Se você estiver trabalhando com clusters regionais, defina a região de computação padrão:
    gcloud config set compute/region [COMPUTE_REGION]
  • Atualize a gcloud para a versão mais recente:
    gcloud components update

Como criar um cluster com redes autorizadas

É possível criar um cluster com uma ou mais redes autorizadas usando a ferramenta de linha de comando gcloud ou usando o [Console do Google Cloud Platform].

gcloud

Execute este comando:

gcloud container clusters create [CLUSTER_NAME] \
    --enable-master-authorized-networks \
    --master-authorized-networks [CIDR],[CIDR]...

Com a sinalização --master-authorized-networks, é possível especificar até 50 CIDRs delimitados por vírgula (como 8.8.8.0/24) a que você quer conceder acesso ao endpoint do mestre do cluster por meio de HTTPS.

Exemplo:

gcloud container clusters create example-cluster \
    --enable-master-authorized-networks \
    --master-authorized-networks 8.8.8.8/32,8.8.8.0/24

Console

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Clique em Criar cluster.

  3. Configure o cluster como quiser. Em seguida, clique em Opções avançadas.

  4. Na seção Segurança de rede, selecione Ativar redes mestre autorizadas.

  5. Clique em Adicionar rede autorizada.

  6. Preencha o Nome com o nome desejado para a rede.

  7. Preencha a Rede com um intervalo de CIDR ao qual você quer conceder acesso à lista de permissões ao seu cluster mestre.

  8. Clique em Concluído. Adicione outras redes autorizadas conforme quiser.

  9. Clique em Criar na parte inferior da página.

API

Especifique o objeto masterAuthorizedNetworksConfig na sua solicitação create do cluster:

"masterAuthorizedNetworksConfig": {
  "enabled": true,
  "cidrBlocks": [
  {
      "displayName": string,
      "cidrBlock": string
  }
]
}

Para saber mais informações, consulte MasterAuthorizedNetworksConfig.

Como criar um cluster particular com redes autorizadas

Para aprender a criar um cluster particular com uma ou mais redes autorizadas, consulte Clusters particulares.

Adicionar uma rede autorizada a um cluster atual

É possível adicionar uma rede autorizada a um cluster atual usando a ferramenta de linha de comando gcloud ou usando o [Console do GCP].

gcloud

Execute este comando:

gcloud container clusters update [CLUSTER_NAME] \
    --enable-master-authorized-networks \
    --master-authorized-networks [CIDR],[CIDR]...

Com a sinalização --master-authorized-networks, é possível especificar até 50 CIDRs delimitados por vírgula (como 8.8.8.0/24) a que você quer conceder acesso ao endpoint do mestre do cluster por meio de HTTPS.

Exemplo:

gcloud container clusters update example-cluster \
    --enable-master-authorized-networks \
    --master-authorized-networks 8.8.8.8/32,8.8.8.0/24

Console

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Selecione o cluster pretendido.

  3. Clique em Editar.

  4. No menu suspenso Redes autorizadas do mestre, selecione Ativado, se ainda não estiver ativado.

  5. Clique em Adicionar rede autorizada.

  6. Preencha o Nome com o nome desejado para a rede.

  7. Preencha a Rede com um intervalo de CIDR ao qual você quer conceder acesso à lista de permissões ao seu cluster mestre.

  8. Clique em Concluído. Adicione outras redes autorizadas conforme quiser.

  9. Clique em Salvar na parte inferior da página.

API

Especifique o campo desiredMasterAuthorizedNetworksConfig na solicitação update do cluster. No campo, especifique um objeto MasterAuthorizedNetworksConfig:

"desiredMasterAuthorizedNetworksConfig": {
    object(MasterAuthorizedNetworksConfig)
  }

Como verificar uma rede autorizada

É possível verificar uma rede autorizada em um cluster atual usando a ferramenta de linha de comando gcloud ou usando o [Console do GCP].

gcloud

Execute este comando:

gcloud container clusters describe [CLUSTER_NAME]

Na saída do comando, procure o campo masterAuthorizedNetworksConfig:

  ...
masterAuthorizedNetworksConfig:
  cidrBlocks:
  - cidrBlock: 8.8.8.8/32
  - cidrBlock: 8.8.4.4/32
  enabled: true
  ...

Console

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Selecione o cluster pretendido.

O campo Redes autorizadas do mestre exibe os CIDRs na lista de permissões.

API

Envie uma solicitação get. Procure os blocos do CIDR no campo masterAuthorizedNetworksConfig. Exemplo:

"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
  {
    "displayName": "Office",
    "cidrBlock": "192.0.2.0/24"
  }
]
}

Desativar redes autorizadas

É possível desativar redes autorizadas em um cluster atual usando a ferramenta de linha de comando gcloud ou o [Console do GCP].

gcloud

Execute este comando:

gcloud container clusters update [CLUSTER_NAME] \
--no-enable-master-authorized-networks

Console

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Selecione o cluster pretendido.

  3. Clique em Editar.

  4. No menu suspenso Redes principais autorizadas, selecione Ativado.

  5. Clique em Salvar.

Solução de problemas

Nas seções a seguir, explicamos como resolver problemas comuns com redes autorizadas.

Muitos blocos do CIDR

A gcloud retorna o seguinte erro ao tentar criar ou atualizar um cluster com mais de 50 blocos do CIDR:

ERROR: (gcloud.container.clusters.update) argument --master-authorized-networks: too many args

Para resolver esse problema, especifique menos de 50 blocos do CIDR.

Não é possível conectar-se ao mestre

Comandos kubectl expiram devido a blocos CIDR configurados incorretamente:

Unable to connect to the server: dial tcp MASTER_IP: getsockopt: connection timed out

Ao criar ou atualizar um cluster, assegure-se de especificar os blocos CIDR corretos.

A seguir

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

Enviar comentários sobre…

Documentação do Kubernetes Engine