Etapa 3: configurar o acesso
Esta seção oferece orientações sobre diferentes maneiras de conceder acesso à implantação do MDE, dependendo das suas necessidades.
Tunelamento de SSH pelo IAP
Para se conectar aos IPs particulares dos serviços do MDE, use um túnel SSH para uma VM de proxy. Essa abordagem permite usar ferramentas locais, como o Postman, para interagir com as APIs do MDE.
A implantação padrão do MDE cria uma VM de proxy chamada mde-proxy. Essa máquina pode fazer proxy de solicitações recebidas para o gateway de API ou a interface da Web do MDE. Essa VM
tem apenas um IP particular, mas o IAP permite criar um túnel SSH
seguro para essa máquina usando
o Identity-Aware Proxy (IAP) para encaminhamento de TCP.
O restante desta seção explica como configurar o IAP para tunelar o tráfego para o mde-proxy e como criar um túnel para ele na sua estação de trabalho:
No Google Cloud console, acesse o IAP e clique em Ativar API. A operação pode demorar alguns minutos.
No Google Cloud console, acesse o IAP e clique em RECURSOS DE SSH E TCP.
Conceda permissão aos usuários autorizados a usar o IAP para se conectar ao
mde-proxypelo IAP:Antes que os usuários possam usar o IAP para se conectar ao
mde-proxy, conceda a eles oroles/iap.tunnelResourceAccessorpapel com as seguintes instruções:Selecione mde-proxy na lista.
Clique em Adicionar principal no painel lateral à direita.
Digite o e-mail do principal a quem você quer conceder acesso.
Selecione o papel
IAP-secured Tunnel User.
Crie um túnel para a API do MDE usando o comando a seguir:
export MDE_PROXY_ZONE=$(gcloud compute instances list --filter="mde-proxy" \ --format="value(zone)") gcloud compute ssh mde-proxy \ --zone "$MDE_PROXY_ZONE" --tunnel-through-iap \ -- -N -L 8080:api.mde.cloud.google.com:80Depois de executar o comando, as APIs do MDE ficam acessíveis em
http://localhost:8080.Crie um túnel para a interface da Web do MDE.
Se você criou um túnel para a API do MDE na etapa 3, abra um novo terminal para executar os comandos mais tarde. Os túneis SSH para a API e a interface da Web do MDE podem ser executados em paralelo.
export MDE_PROXY_ZONE=$(gcloud compute instances list --filter="mde-proxy" \ --format="value(zone)") gcloud compute ssh mde-proxy \ --zone "$MDE_PROXY_ZONE" --tunnel-through-iap \ -- -N -L 8081:ui.mde.cloud.google.com:80Depois de executar o comando, a interface da Web do MDE fica acessível em
http://localhost:8081.
Configurar o Identity-Aware Proxy
O Identity-Aware Proxy (IAP) permite que você se conecte com segurança aos IPs internos da API e da interface da Web do MDE, além de restringir o acesso externo à interface da Web do MDE apenas a usuários autorizados, se você a implantou com a opção de balanceador de carga externo.
Para usar o IAP, primeiro ative a API do serviço do IAP (se ainda não tiver feito isso) e configure a tela do OAuth:
No Google Cloud console, acesse o IAP e clique em Ativar API. A operação pode demorar alguns minutos.
Configure a tela de permissão OAuth para o IAP:
No Google Cloud console, acesse a página da plataforma de autenticação do Google e selecione o projeto de implantação do MDE, se solicitado.
- Na página "Visão geral", clique em Criar cliente OAuth.
- Selecione Aplicativo da Web como o tipo de aplicativo.
- Insira o Nome do aplicativo que você quer exibir, por exemplo,
MDE. - Clique em Criar e OK na janela pop-up.
- Na página Branding, verifique se você vê o Nome do app, o E-mail de suporte ao usuário e as Informações de contato do desenvolvedor .
Para alterar as informações na tela de permissão OAuth posteriormente, como o nome do produto ou o endereço de e-mail, repita as etapas anteriores.
Configurar o acesso ao balanceador de carga HTTP externo da interface da Web
Nesta seção, você vai configurar o acesso ao balanceador de carga HTTP externo da interface da Web do MDE usando o IAP.
Se você ativou o balanceador de carga HTTP externo para a interface da Web do MDE, use o IAP para restringir o acesso ao aplicativo apenas a usuários autorizados.
Antes de começar
Siga os seguintes pré-requisitos:
- Você implantou o MDE com a interface da Web do MDE.
- Você implantou a interface da Web do MDE com um balanceador de carga HTTP externo.
- Você concluiu as etapas de configuração geral do IAP.
Etapas
No Google Cloud console, acesse a página do IAP.
Localize o recurso correspondente ao serviço UI externa (procure
mde-ui-ext-service).Na coluna IAP desse recurso, ative a opção Ativado.
Na caixa de diálogo de confirmação, clique em Ativar.
Marque a caixa de seleção ao lado do nome do recurso.
No painel lateral à direita, clique em Adicionar principal.
Digite o endereço de e-mail do usuário ou grupo a quem você quer conceder acesso.
No menu suspenso Papel, selecione Cloud IAP > Usuário do app da Web protegido pelo IAP.
Clique em Salvar.
Acesso entre organizações (opcional)
Por padrão, o IAP usa clientes OAuth gerenciados pelo Google, que estritamente restringem o acesso a usuários da mesma Google Cloud organização do projeto. Se a implantação exigir acesso de usuários externos (parceiros que usam um domínio diferente), use um cliente OAuth personalizado configurado com um tipo de usuário externo.
Para mais detalhes, consulte a documentação oficial sobre como usar clientes OAuth personalizados com o IAP e ativar o IAP para GKE. Google Cloud
Você pode configurar isso usando um dos seguintes métodos:
Método A: configuração direta do console (sem secrets do GKE)
Se o BackendConfig do GKE não gerenciar as configurações do IAP (ou seja, não tiver um bloco iap, permitindo que o Entrada do GKE herde as configurações atuais), você poderá configurar o cliente personalizado diretamente no console:
- Configure a tela de permissão OAuth do seu projeto como externa (consulte a seção Configurar a tela de permissão OAuth acima). Se o app permanecer no status "Em teste", adicione os usuários externos à lista de Usuários de teste.
- Acesse a página do IAP.
- Para o recurso
mde-ui-ext-service, clique em Mais opções (três pontos) na coluna Ações e selecione Configurações. - Selecione OAuth personalizado.
- Clique em Gerar credenciais automaticamente (ou forneça as credenciais atuais se você as criou manualmente em APIs e serviços).
- Clique em Salvar.
Método B: configuração gerenciada pelo GKE (usando secrets do Kubernetes)
Se você preferir gerenciar a configuração do IAP usando manifestos do Kubernetes (GitOps), armazene as credenciais em um secret e faça referência a ele no BackendConfig:
- Configure a tela de permissão OAuth como externa e crie credenciais de cliente OAuth manualmente em APIs e serviços > Credenciais (tipo de aplicativo da Web).
- Crie um secret do Kubernetes no cluster:
sh kubectl create secret generic iap-oauth-secret \ --namespace=mde \ --from-literal=client_id=YOUR_CLIENT_ID \ --from-literal=client_secret=YOUR_CLIENT_SECRET - Atualize o
BackendConfigdo seu serviço para fazer referência ao secret:yaml spec: iap: enabled: true oauthclientCredentials: secretName: iap-oauth-secret
Configurar o DNS para a interface da Web do MDE
Se você ativou o balanceador de carga HTTP externo para a interface da Web do MDE, defina o registro A do nome de domínio atribuído à variável MDE_UI_DOMAIN_NAME em input.tfvars para o endereço IP do balanceador de carga HTTP externo que foi implantado para concluir o provisionamento do certificado SSL gerenciado pelo Google.
Você pode pesquisar o endereço IP do balanceador de carga HTTP externo com o comando a seguir:
gcloud compute addresses list --filter="name~'.*mde-ui.*'" --format="value(address)" --global
Consulte o host de DNS para detalhes sobre como criar um registro A.