Nesta página, descrevemos como ativar o IAP diretamente em um serviço do Cloud Run
e proteger o tráfego destinado a um serviço do Cloud Run
fazendo o roteamento para o IAP para autenticação. Ao ativar o IAP
diretamente no Cloud Run, é possível proteger o tráfego com um único clique
de todos os caminhos de entrada, incluindo URLs
run.app padrão e balanceadores de carga.
Ao integrar o IAP ao Cloud Run, é possível gerenciar o acesso de usuários ou grupos das seguintes maneiras:
- Dentro da organização: configure o acesso para usuários que estão na mesma organização que seu serviço do Cloud Run.
- Fora da organização: configure o acesso para usuários de organizações diferentes do seu serviço do Cloud Run.
- Sem organização: configure o acesso em projetos que não fazem parte de nenhuma organização do Google.
Limitações conhecidas
- Não é possível configurar a IAP no balanceador de carga e no serviço do Cloud Run.
- O Cloud Run aplica as políticas do IAP antes de realizar verificações do IAM na conta de serviço do IAP. Como o IAP intercepta solicitações e substitui a identidade do autor da chamada original, serviços como o Pub/Sub, que dependem da própria autenticação, podem falhar.
Antes de começar
Ative a API IAP:
Funções exigidas
Para receber as permissões necessárias para ativar a IAP, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Administrador do Cloud Run (
roles/run.admin) no projeto -
Conceder acesso ao serviço habilitado para IAP:
Administrador de políticas do IAP (
roles/iap.admin) no projeto -
Crie um serviço compatível com o IAP ou atualize um serviço existente para ativar o IAP:
-
Leitor do Artifact Registry (
roles/artifactregistry.reader) nas imagens de contêiner implantadas -
Usuário da conta de serviço (
roles/iam.serviceAccountUser) na identidade do serviço
-
Leitor do Artifact Registry (
-
Conceder acesso a usuários que não fazem parte de uma organização do Google:
Administrador de configurações do IAP (
roles/iap.settingsAdmin) no projeto -
Conceder acesso a usuários de fora de uma organização ou que não fazem parte dela:
Editor de configuração OAuth (
roles/oauthconfig.editor) no projeto
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Ativar o IAP no Cloud Run
Recomendamos que você ative o IAP diretamente no Cloud Run.
Ative a IAP no Cloud Run usando o console Google Cloud , a Google Cloud CLI ou o Terraform.
Console
Quando você ativa o IAP para o Cloud Run, ele
exige permissões para invocar seu serviço do Cloud Run. Se você estiver ativando o IAP usando o console Google Cloud , essa permissão será concedida automaticamente ao atribuir o papel de invocador do Cloud Run (roles/run.invoker) ao agente de serviço do IAP.
Para ativar o IAP no Cloud Run:
No console do Google Cloud , acesse a página Serviços do Cloud Run:
Se você estiver configurando um novo serviço, clique em Implantar contêiner, preencha a página inicial de configurações de serviço conforme necessário e selecione Exigir autenticação. Selecione Identity-Aware Proxy (IAP).
Se você estiver modificando um serviço atual, clique nele, na guia Segurança e selecione Exigir autenticação. Selecione IAP.
Opcional. Para conceder acesso aos usuários, siga as instruções para gerenciar o acesso de usuários ou grupos para a IAP. Se você tiver problemas ao configurar o acesso para usuários de fora da sua organização, consulte a seção Solução de problemas.
Para salvar a configuração, clique em Salvar.
Para criar ou implantar o serviço, clique em Criar ou Implantar.
gcloud
Para ativar o IAP diretamente do Cloud Run, adicione a flag --iap
ao implantar o app e conceda permissão de invocador ao agente
do serviço IAP:
Implante o serviço do Cloud Run usando um dos seguintes comandos:
Para um novo serviço:
gcloud run deploy
SERVICE_NAME\ --region=REGION\ --image=IMAGE_URL\ --no-allow-unauthenticated \ --iapSe você ativar a IAP pela primeira vez em um projeto sem uma organização, poderá ver o seguinte aviso:
Deploying services with IAP enabled in a project without an organization may require initial setup via the Cloud Console. Please use the Cloud Run UI to enable IAP for the first time in the project.Esse aviso aparece porque não é possível criar clientes OAuth de forma programática. Recomendamos que você primeiro ative o IAP no Cloud Run diretamente do console Google Cloud ou configure um cliente OAuth personalizado e adicione usuários usando a CLI gcloud.
Para um serviço atual:
gcloud run services update
SERVICE_NAME\ --region=REGION\ --iapSubstitua:
SERVICE_NAME: o nome do seu serviço do Cloud Run;REGION: o nome da sua região do Cloud Run. Por exemplo,europe-west1.- IMAGE_URL: uma referência à imagem de contêiner, por
exemplo,
us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL segue o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. PROJECT_NUMBER: o número do projeto do Google Cloud .
Conceda permissão de invocador ao agente de serviço da IAP:
gcloud run services add-iam-policy-binding
SERVICE_NAME\ --region=REGION\ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-iap.iam.gserviceaccount.com \ --role=roles/run.invokerSubstitua:
SERVICE_NAME: o nome do seu serviço do Cloud Run;REGION: o nome da sua região do Cloud Run. Por exemplo,europe-west1.PROJECT_NUMBER: o número do projeto do Google Cloud .
Opcional. Para conceder acesso ao usuário, consulte Gerenciar o acesso de usuários ou grupos para o IAP.
Para verificar se o serviço está configurado com a IAP ativada, execute o seguinte comando:
gcloud run services describe
SERVICE_NAMEA saída precisa conter a seguinte string:
Iap Enabled: true
O IAP agora está roteando todo o tráfego destinado ao serviço configurado do Cloud Run para o IAP para autenticação antes de passar para o contêiner.
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Para ativar o IAP usando o Terraform, atualize a definição de serviço e adicione uma vinculação de política do IAM para conceder permissão de invocador ao IAP.
Adicione
iap_enabled = truea um recursogoogle_cloud_run_v2_servicena configuração do Terraform para ativar o IAP no serviço:resource "google_cloud_run_v2_service" "default" { name = "cloudrun-iap-service" location = "europe-west1" ingress = "INGRESS_TRAFFIC_ALL" iap_enabled = true template { containers { image = "us-docker.pkg.dev/cloudrun/container/hello" } } }Adicione o seguinte para conceder o papel
roles/run.invokerao agente de serviço do IAP.resource "google_cloud_run_v2_service_iam_member" "iap_invoker" { project = google_cloud_run_v2_service.default.project location = google_cloud_run_v2_service.default.location name = google_cloud_run_v2_service.default.name role = "roles/run.invoker" member = "serviceAccount:service-PROJECT_NUMBER@gcp-sa-iap.iam.gserviceaccount.com" }Substitua
PROJECT_NUMBERpelo número do projeto.Opcional. Para recuperar os dados da política do IAM atual, adicione o seguinte a um recurso
google_cloud_run_v2_service_iam_policyna configuração do Terraform.data "google_cloud_run_v2_service_iam_policy" "policy" { project = google_cloud_run_v2_service.default.project location = google_cloud_run_v2_service.default.location name = google_cloud_run_v2_service.default.name }
Gerenciar o acesso de usuários ou grupos
Por padrão, o IAP para Cloud Run usa um cliente OAuth gerenciado pelo Google que permite adicionar identidades na organização com um endereço de e-mail associado a um usuário. Também é possível gerenciar principais de fora da sua organização ou sem uma organização usando o console Google Cloud no IAP. Para isso, crie um cliente OAuth personalizado conforme descrito nas etapas a seguir.
Adicione ou remova o acesso da IAP a um serviço do Cloud Run usando o console, a CLI gcloud ou o Terraform. Google Cloud
Dentro da organização
Console
Para adicionar ou remover o acesso:
No console Google Cloud , acesse a página do Cloud Run:
Clique no serviço que você quer modificar e em Segurança.
Em IAP, clique em Editar política.
Para adicionar acesso, insira o principal e, opcionalmente, o nível de acesso que você quer adicionar ou deixe o nível de acesso em branco.
Para remover o acesso quando houver apenas um principal na política, clique no ícone Excluir política ao lado de Níveis de acesso.
Para remover principais individuais de uma política, clique no ícone X ao lado do nome do principal que você quer remover.
Para salvar a configuração do usuário, clique em Salvar.
gcloud
Para adicionar ou remover o acesso a um serviço do Cloud Run para usuários ou grupos individuais, execute um dos seguintes comandos:
Para conceder o acesso:
gcloud iap web add-iam-policy-binding \ --member=user:
USER_EMAIL\ --role=roles/iap.httpsResourceAccessor \ --region=REGION\ --resource-type=cloud-run \ --service=SERVICE_NAMEPara remover o acesso:
gcloud iap web remove-iam-policy-binding \ --member=user:
USER_EMAIL\ --role=roles/iap.httpsResourceAccessor \ --region=REGION\ --resource-type=cloud-run \ --service=SERVICE_NAMEPara ver o acesso de visualização:
gcloud iap web get-iam-policy \ --region=
REGION\ --resource-type=cloud-run \ --service=SERVICE_NAME
Substitua:
USER_EMAIL: o endereço de e-mail do usuário.REGION: o nome da sua região do Cloud Run;SERVICE_NAME: o nome do seu serviço do Cloud Run;
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Para conceder acesso autorizado a uma lista de principais de segurança:
Use o recurso
google_iap_web_cloud_run_service_iam_bindingpara conceder um papel a uma lista autorizada de principais. Esse recurso garante que apenas os membros na lista recebam a função. Todos os outros principais que receberam a função são removidos.Adicione o seguinte a um recurso
google_iap_web_cloud_run_service_iam_bindingna configuração do Terraform.resource "google_iap_web_cloud_run_service_iam_binding" "binding" { project = "PROJECT_ID" location = "REGION" cloud_run_service_name = "SERVICE_NAME" role = "roles/iap.httpsResourceAccessor" members = [ "PRINCIPAL_A", "PRINCIPAL_B" ] }Substitua:
PROJECT_ID: o nome do projeto.REGION: a região Google Cloud , por exemplo,europe-west1.SERVICE_NAME: o nome do seu serviço do Cloud Run;PRINCIPAL: um identificador dos principais ou membros, que geralmente tem o seguinte formato:PRINCIPAL_TYPE:ID. Por exemplo,user:my-user@example.com. Para ver uma lista completa dos valores quePRINCIPALpode ter, consulte a referência de vinculação de políticas.
Para conceder acesso a uma única entidade principal:
Use o recurso
google_iap_web_cloud_run_service_iam_memberpara conceder um papel a um único principal sem afetar outros principais que podem ter o mesmo papel.Adicione o seguinte a um recurso
google_iap_web_cloud_run_service_iam_memberna configuração do Terraform.resource "google_iap_web_cloud_run_service_iam_member" "member" { project = "PROJECT_ID" location = "REGION" cloud_run_service_name = "SERVICE_NAME" role = "roles/iap.httpsResourceAccessor" member = "PRINCIPAL" }Substitua:
PROJECT_ID: o nome do projeto.REGION: a região Google Cloud , por exemplo,europe-west1.SERVICE_NAME: o nome do seu serviço do Cloud Run;PRINCIPAL: um identificador dos principais ou membros, que geralmente tem o seguinte formato:PRINCIPAL_TYPE:ID. Por exemplo,user:my-user@example.com. Para ver uma lista completa dos valores quePRINCIPALpode ter, consulte a referência de vinculação de políticas.
Fora da organização
Console
Para adicionar usuários de fora da sua organização usando o IAP, conclua o seguinte processo de configuração única:
No console Google Cloud , acesse a página do Cloud Run:
Clique no serviço que você quer modificar e em Segurança.
Na página de detalhes de segurança do serviço do Cloud Run, em IAP, clique em Editar política.
Clique em Configurar no IAP. Isso abre a página de configurações de recursos no IAP.
Clique em Configurar tela de permissão para configurar a tela de permissão OAuth. No tipo de público-alvo, selecione Externo.
Para uma configuração mais rápida, clique em Gerar credenciais automaticamente.
Ou siga as instruções para criar um ID do cliente OAuth. Selecione OAuth personalizado e insira seu ID do cliente e chave secreta personalizados.
Para salvar a configuração, clique em Salvar.
Agora volte ao serviço do Cloud Run no Cloud Run para adicionar principais de fora da organização.
Para adicionar ou remover o acesso de usuários, siga estas etapas:
No console Google Cloud , acesse a página do Cloud Run:
Clique no serviço que você quer modificar e em Segurança.
Em IAP, clique em Editar política.
Para adicionar acesso, insira o principal e, opcionalmente, o nível de acesso que você quer adicionar ou deixe o nível de acesso em branco.
Para remover o acesso quando houver apenas um principal na política, clique no ícone Excluir política ao lado de Níveis de acesso.
Para remover principais individuais de uma política, clique no ícone X ao lado do nome do principal que você quer remover.
Para salvar a configuração do usuário, clique em Salvar.
gcloud
Antes de começar
- Para adicionar principais de usuários de fora de uma organização, primeiro configure o cliente OAuth}.
Para adicionar ou remover o acesso a um serviço do Cloud Run para usuários ou grupos individuais, execute um dos seguintes comandos:
Para conceder o acesso:
gcloud iap web add-iam-policy-binding \ --member=user:
USER_EMAIL\ --role=roles/iap.httpsResourceAccessor \ --region=REGION\ --resource-type=cloud-run \ --service=SERVICE_NAMEPara remover o acesso:
gcloud iap web remove-iam-policy-binding \ --member=user:
USER_EMAIL\ --role=roles/iap.httpsResourceAccessor \ --region=REGION\ --resource-type=cloud-run \ --service=SERVICE_NAMEPara ver o acesso de visualização:
gcloud iap web get-iam-policy \ --region=
REGION\ --resource-type=cloud-run \ --service=SERVICE_NAME
Substitua:
USER_EMAIL: o endereço de e-mail do usuário.REGION: o nome da sua região do Cloud Run.SERVICE_NAME: o nome do seu serviço do Cloud Run;
Terraform
Antes de começar
- Para adicionar principais de usuários de fora de uma organização, primeiro configure o cliente OAuth.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Para conceder acesso autorizado a uma lista de principais de segurança:
Use o recurso
google_iap_web_cloud_run_service_iam_bindingpara conceder um papel a uma lista autorizada de principais. Esse recurso garante que apenas os membros na lista recebam a função. Todos os outros principais que receberam a função são removidos.Adicione o seguinte a um recurso
google_iap_web_cloud_run_service_iam_bindingna configuração do Terraform.resource "google_iap_web_cloud_run_service_iam_binding" "binding" { project = "PROJECT_ID" location = "REGION" cloud_run_service_name = "SERVICE_NAME" role = "roles/iap.httpsResourceAccessor" members = [ "PRINCIPAL_A", "PRINCIPAL_B" ] }Substitua:
PROJECT_ID: o nome do projeto.REGION: a região Google Cloud , por exemplo,europe-west1.SERVICE_NAME: o nome do seu serviço do Cloud Run;PRINCIPAL: um identificador dos principais ou membros, que geralmente tem o seguinte formato:PRINCIPAL_TYPE:ID. Por exemplo,user:my-user@example.com. Para ver uma lista completa dos valores quePRINCIPALpode ter, consulte a referência de vinculação de políticas.
Para conceder acesso a uma única entidade principal:
Use o recurso
google_iap_web_cloud_run_service_iam_memberpara conceder um papel a um único principal sem afetar outros principais que podem ter o mesmo papel.Adicione o seguinte a um recurso
google_iap_web_cloud_run_service_iam_memberna configuração do Terraform.resource "google_iap_web_cloud_run_service_iam_member" "member" { project = "PROJECT_ID" location = "REGION" cloud_run_service_name = "SERVICE_NAME" role = "roles/iap.httpsResourceAccessor" member = "PRINCIPAL" }Substitua:
PROJECT_ID: o nome do projeto.- REGION: a região Google Cloud , por exemplo,
europe-west1. - SERVICE_NAME: o nome do seu serviço do Cloud Run;
- PRINCIPAL: um identificador dos principais
ou membros, que geralmente tem o seguinte formato:
PRINCIPAL_TYPE:ID. Por exemplo,
user:my-user@example.com. Para ver uma lista completa dos valores que PRINCIPAL pode ter, consulte a referência de vinculação de políticas.
Nenhuma organização
Console
Para adicionar ou remover o acesso:
No console Google Cloud , acesse a página do Cloud Run:
Clique no serviço que você quer modificar e em Segurança.
Em IAP, clique em Editar política.
Para adicionar acesso, insira o principal e, opcionalmente, o nível de acesso que você quer adicionar ou deixe o nível de acesso em branco.
Para remover o acesso quando houver apenas um principal na política, clique no ícone Excluir política ao lado de Níveis de acesso.
Para remover principais individuais de uma política, clique no ícone X ao lado do nome do principal que você quer remover.
Para salvar a configuração do usuário, clique em Salvar.
gcloud
Antes de começar
- Para adicionar usuários a um projeto sem uma organização, primeiro siga a configuração única para Configurar um cliente OAuth personalizado.
Para adicionar ou remover o acesso a um serviço do Cloud Run para usuários ou grupos individuais, execute um dos seguintes comandos:
Para conceder o acesso:
gcloud iap web add-iam-policy-binding \ --member=user:
USER_EMAIL\ --role=roles/iap.httpsResourceAccessor \ --region=REGION\ --resource-type=cloud-run \ --service=SERVICE_NAMEPara remover o acesso:
gcloud iap web remove-iam-policy-binding \ --member=user:
USER_EMAIL\ --role=roles/iap.httpsResourceAccessor \ --region=REGION\ --resource-type=cloud-run \ --service=SERVICE_NAMEPara ver o acesso de visualização:
gcloud iap web get-iam-policy \ --region=
REGION\ --resource-type=cloud-run \ --service=SERVICE_NAME
Substitua:
USER_EMAIL: o endereço de e-mail do usuário.REGION: o nome da sua região do Cloud Run.SERVICE_NAME: o nome do seu serviço do Cloud Run;
Terraform
Antes de começar
- Para adicionar principais de usuários de fora de uma organização, primeiro configure o cliente OAuth.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Para conceder acesso autorizado a uma lista de principais de segurança:
Use o recurso
google_iap_web_cloud_run_service_iam_bindingpara conceder um papel a uma lista autorizada de principais. Esse recurso garante que apenas os membros na lista recebam a função. Todos os outros principais que receberam a função são removidos.Adicione o seguinte a um recurso
google_iap_web_cloud_run_service_iam_bindingna configuração do Terraform.resource "google_iap_web_cloud_run_service_iam_binding" "binding" { project = "PROJECT_ID" location = "REGION" cloud_run_service_name = "SERVICE_NAME" role = "roles/iap.httpsResourceAccessor" members = [ "PRINCIPAL_A", "PRINCIPAL_B" ] }Substitua:
PROJECT_ID: o nome do projeto.REGION: a região Google Cloud , por exemplo,europe-west1.SERVICE_NAME: o nome do seu serviço do Cloud Run;PRINCIPAL: um identificador dos principais ou membros, que geralmente tem o seguinte formato:PRINCIPAL_TYPE:ID. Por exemplo,user:my-user@example.com. Para ver uma lista completa dos valores quePRINCIPALpode ter, consulte a referência de vinculação de políticas.
Para conceder acesso a uma única entidade principal:
Use o recurso
google_iap_web_cloud_run_service_iam_memberpara conceder um papel a um único principal sem afetar outros principais que podem ter o mesmo papel.Adicione o seguinte a um recurso
google_iap_web_cloud_run_service_iam_memberna configuração do Terraform.resource "google_iap_web_cloud_run_service_iam_member" "member" { project = "PROJECT_ID" location = "REGION" cloud_run_service_name = "SERVICE_NAME" role = "roles/iap.httpsResourceAccessor" member = "PRINCIPAL" }Substitua:
PROJECT_ID: o nome do projeto.REGION: a região Google Cloud , por exemplo,europe-west1.SERVICE_NAME: o nome do seu serviço do Cloud Run;PRINCIPAL: um identificador dos principais ou membros, que geralmente tem o seguinte formato:PRINCIPAL_TYPE:ID. Por exemplo,user:my-user@example.com. Para ver uma lista completa dos valores quePRINCIPALpode ter, consulte a referência de vinculação de políticas.
Desativar o IAP no Cloud Run
É possível desativar a IAP usando o console Google Cloud ou a CLI gcloud.
Console
Para desativar o IAP no Cloud Run, faça o seguinte:
No console Google Cloud , acesse a página do Cloud Run:
Clique no serviço que você quer modificar.
Clique em Segurança e desmarque IAP. Seu serviço é protegido pela política do IAM. No entanto, se você não estiver usando o IAM, torne seu serviço acessível ao público selecionando Permitir acesso público.
Para salvar a configuração, clique em Salvar.
gcloud
Para desativar o IAP diretamente do Cloud Run, adicione a flag
--no-iap ao implantar o app da seguinte maneira:
Implante o serviço do Cloud Run usando um dos seguintes comandos:
Para um novo serviço:
gcloud run deploy
SERVICE_NAME\ --region=REGION\ --image=IMAGE_URL\ --no-iapPara um serviço atual:
gcloud run services update
SERVICE_NAME\ --region=REGION\ --no-iapSubstitua:
SERVICE_NAME: o nome do seu serviço do Cloud Run;REGION: o nome da sua região do Cloud Run.- IMAGE_URL: uma referência à imagem de contêiner, por
exemplo,
us-docker.pkg.dev/cloudrun/container/hello:latest. Se você usa o Artifact Registry, o repositório REPO_NAME já precisará ter sido criado. O URL segue o formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
Para verificar se o serviço não está mais configurado com o IAP ativado, execute o seguinte comando:
gcloud run services describe
SERVICE_NAMEA saída não deve mais conter a seguinte string:
Iap Enabled: true
O IAP não roteia mais todo o tráfego destinado ao serviço configurado do Cloud Run para o IAP para autenticação antes de passar para o contêiner.
Configurar um cliente OAuth personalizado
Recomendamos usar o console Google Cloud ao ativar o IAP pela primeira vez. Assim, você gera credenciais automaticamente e não precisa criar um cliente OAuth personalizado manualmente. Quando você ativa o IAP no Cloud Run diretamente do console Google Cloud , o IAP configura automaticamente o cliente OAuth personalizado para você no nível do projeto.
Se você estiver usando a CLI gcloud para gerenciar o acesso de usuários sem uma organização, ative o IAP no Cloud Run diretamente no console Google Cloud ou siga as etapas desta seção para criar manualmente um cliente OAuth personalizado.
Para cenários avançados, como personalizar a tela de permissão ou gerenciar clientes OAuth no nível da organização, siga estas etapas.
Configurar a marca
No console Google Cloud , acesse a página Branding do OAuth:
Clique em Primeiros passos.
Preencha o formulário Informações do app e clique em Próxima.
Em Público, selecione Externo.
Preencha o restante do formulário e clique em Criar.
Criar manualmente um cliente OAuth personalizado
Se esta for a primeira vez que você configura a plataforma de autenticação do Google:
No console Google Cloud , acesse a página Clientes:
Clique em Começar na página de visão geral da plataforma de autenticação do Google, se solicitado.
- Preencha os detalhes das informações do app e clique em Próxima.
- Selecione Externo para o tipo de público-alvo.
- Preencha as dados de contato, aceite os termos e clique em Criar.
- Clique em Criar cliente.
- Em Tipo de aplicativo, selecione Aplicativo da Web e preencha o nome do seu cliente OAuth.
- No campo URIs de redirecionamento autorizados, adicione o seguinte URI:
Substituahttps://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect
CLIENT_IDpelo ID do cliente OAuth. - Clique em Criar.
- Anote o ID do cliente e a chave secreta e clique em OK.
Se você já configurou a plataforma de autenticação do Google:
No console Google Cloud , acesse a página Clientes:
Clique em Criar cliente.
Em Tipo de aplicativo, selecione Aplicativo da Web e preencha o nome do seu cliente OAuth.
Preencha os detalhes das informações do app.
No campo URIs de redirecionamento autorizados, adicione o seguinte URI:
Substituahttps://iap.googleapis.com/v1/oauth/clientIds/
CLIENT_ID:handleRedirectCLIENT_IDpelo ID do cliente OAuth.Clique em Criar.
Anote o ID do cliente e a chave secreta e clique em OK.
Aplicar o cliente OAuth ao IAP
É possível aplicar o cliente OAuth no nível do projeto ou da organização.
No nível do projeto, siga estas etapas:
Crie um arquivo chamado
iap_settings.yamle adicione o seguinte conteúdo:access_settings: oauth_settings: client_id:
CLIENT_IDclient_secret:CLIENT_SECRETExecute o comando
gcloud iap settings setpara aplicar o cliente OAuth no nível do projeto:gcloud iap settings set iap_settings.yaml --project=
PROJECT_ID
Substitua:
CLIENT_ID: o ID do cliente OAuth que você salvou na etapa anterior.CLIENT_SECRET: o segredo que você salvou na etapa anterior.PROJECT_ID: ID do projeto.
No nível da organização, siga estas etapas:
Para aplicar o cliente OAuth no nível da organização, execute o comando
gcloud iap settings set:gcloud iap settings set iap_settings.yaml --organization=
ORGANIZATION_NUMBERSubstitua:
CLIENT_ID: o ID do cliente OAuth que você salvou na etapa anterior.CLIENT_SECRET: o segredo que você salvou na etapa anterior.ORGANIZATION_NUMBER: o número da sua organização.
Solução de problemas
Na seção a seguir, descrevemos como solucionar problemas do IAP com o Cloud Run.
Erros de acesso fora da organização
Confira abaixo os erros que podem ocorrer ao configurar o acesso para usuários fora da sua organização.
Acesso de usuários de fora da organização: desativado
Para garantir que o acesso de fora da organização esteja desativado, recomendamos que você faça isso no nível do projeto. Os controles em outros níveis (serviço, pasta ou organização) podem aparecer desativados, mesmo que o acesso esteja disponível.
A marca está definida como interna.
O acesso fora da organização não é compatível quando a marca do cliente OAuth personalizado está definida como interna.
Para atualizar a configuração da marca para "externa" e ativar o acesso para principais fora da organização com o IAP, siga estas etapas:
No console Google Cloud , acesse a página Público-alvo da plataforma de autenticação do Google:
Em Tipo de usuário, clique em Tornar externo.
A falha do agente de serviço causa um erro de definição do IAM
Ativar o IAP em um novo projeto pela primeira vez pode causar o seguinte erro:
Setting IAM permissions failedIsso ocorre porque o agente de serviço do Cloud Run falhou. Para resolver o problema, ative o IAP de novo ou defina a política do IAM manualmente.
A seguir
- Para instruções sobre como ativar o IAP em um serviço de back-end ou balanceador de carga, consulte Como ativar o IAP para o Cloud Run.
- Para problemas ao ativar a IAP para o Cloud Run, consulte Solução de erros.
- Como gerenciar o acesso a recursos protegidos pelo IAP.
- Usar políticas da organização para controlar a ativação do IAP.