Migrar da API Admin OAuth do IAP

Este guia explica que a API Admin OAuth do IAP está descontinuada e como migrar opcionalmente os clientes OAuth criados usando a API para clientes OAuth personalizados. Para saber mais sobre os benefícios de usar clientes OAuth personalizados, incluindo branding personalizado, consulte Personalizar uma configuração do OAuth para ativar o IAP.

Se você não usa a API Admin OAuth do IAP, essa mudança não vai afetar você.

Em vez de gerenciar manualmente os clientes OAuth 2.0, o IAP usa automaticamente um cliente OAuth gerenciado pelo Google.

Para verificar se o projeto usa APIs Admin OAuth, consulte Verificar o uso de APIs Admin OAuth. Se o projeto estiver usando as APIs Admin OAuth, siga as instruções de migração neste documento ou use alternativas à API Admin OAuth.

O que vai mudar

Estamos descontinuando a API Admin OAuth do IAP, que inclui as seguintes APIs para gerenciamento manual de clientes e marcas OAuth:

Em vez de gerenciar manualmente os clientes OAuth 2.0, o IAP usa um cliente OAuth gerenciado pelo Google, o que simplifica o gerenciamento de clientes OAuth, reduz erros manuais e otimiza os processos de implantação.

Para continuar oferecendo branding personalizado, recomendamos que você configure clientes OAuth personalizados.

O que não muda

Se você não usa a API Admin OAuth do IAP, essa mudança não vai afetar você.

Essa descontinuação não afeta os clientes OAuth que você configura manualmente usando a API Compute Engine, a API App Engine ou o console Google Cloud .

Você pode continuar criando novas configurações de marca e cliente OAuth e gerenciando-as usando o console Google Cloud . As configurações atuais vão continuar sendo totalmente compatíveis.

Verificar o uso das APIs Admin OAuth

Para determinar se o projeto está usando as APIs Admin OAuth do IAP, faça o seguinte:

  1. No console do Google Cloud , acesse a página Uso da API IAP.

    Acessar o uso da API IAP

  2. Selecione o projeto. Escolha o projeto que você quer verificar para o uso da API Admin do OAuth.

  3. Consulte a seção Gráficos.

  4. Na seção "Gráficos", selecione Tráfego por método de API entre as opções disponíveis.

  5. Procure métodos de API que comecem com o seguinte prefixo:

    google.cloud.iap.v1.IdentityAwareProxyOAuthService.*

Se você encontrar métodos com esse prefixo, o projeto estará usando métodos de serviço OAuth da IAP.

Descrição detalhada

Desde 22 de janeiro de 2025, a API Admin OAuth 2.0 do IAP, usada para criar um cliente OAuth 2.0 do IAP, está descontinuada. A API Admin do OAuth 2.0 da IAP não é mais necessária porque não é mais preciso configurar clientes OAuth. Por padrão, o IAP agora usa um cliente OAuth gerenciado pelo Google para acesso do navegador ou quando nenhum cliente OAuth 2.0 está configurado explicitamente. O cliente OAuth 2.0 gerenciado pelo Google restringe o acesso a aplicativos ativados para IAP a usuários da mesma organização quando eles acessam esses aplicativos por um navegador.

Com a descontinuação da API Admin OAuth 2.0 do Identity-Aware Proxy (IAP), não é mais possível usar essa API para criar ou gerenciar clientes OAuth. Os clientes OAuth criados antes dessa descontinuação não serão invalidados. Você pode continuar usando os clientes OAuth criados anteriormente e gerenciá-los com o consoleGoogle Cloud .

Se você tiver aplicativos configurados com clientes OAuth criados usando a API Admin do IAP 2.0 ou de outra forma, eles vão continuar funcionando. Nenhuma mudança é necessária nos aplicativos. No entanto, se os scripts de automação usarem a API Admin OAuth 2.0 do IAP para configurar novos clientes ou buscar chaves secretas de clientes atuais, você precisará atualizar os scripts para que eles não usem a API Admin OAuth 2.0 do IAP.

Para saber como configurar clientes OAuth 2.0 gerenciados pelo Google para seus aplicativos, consulte Acesso programático.

Se você tiver um requisito que não é atendido pelo cliente OAuth 2.0 gerenciado pelo Google, compartilhe um único cliente OAuth com vários aplicativos de IAP, eliminando a necessidade de criar manualmente um cliente para cada novo aplicativo.

Ações necessárias

  • Atualizar scripts de automação

    Se você usa o Terraform ou outras ferramentas para automatizar a configuração do IAP e usa a API Admin do OAuth 2.0 do IAP, atualize os scripts de automação para usar um cliente pré-criado ou o cliente OAuth gerenciado pelo Google com o IAP.

  • Configurar o acesso programático para aplicativos usando os clientes OAuth 2.0 gerenciados pelo Google

    Se você já tiver alguns aplicativos protegidos pela IAP e planeja migrá-los usando o cliente OAuth 2.0 gerenciado pelo Google, é possível configurar o acesso programático para esses aplicativos adicionando à lista de permissões os clientes OAuth 2.0.

Migrar recursos ativados para IAP

Para migrar seus recursos e usar o cliente OAuth 2.0 gerenciado pelo Google, siga as etapas para o tipo de recurso que você quer migrar, como um recurso do Compute Engine.

Migrar recursos do App Engine ativados para IAP

Conclua as etapas desta seção para migrar recursos do App Engine em que o IAP está ativado e um cliente OAuth 2.0 está configurado.

gcloud

Antes de continuar com as etapas, verifique se você tem uma versão atualizada da CLI gcloud. Para instruções sobre como instalar a CLI gcloud, consulte Instalar a CLI gcloud.

  1. Use a Google Cloud CLI para fazer a autenticação.

    gcloud auth login
    
  2. Clique no URL que aparece e faça login.

  3. Depois de fazer login, copie o código de verificação que aparece e cole-o na linha de comando.

  4. Execute o comando a seguir para especificar o projeto que contém os aplicativos que você quer continuar protegendo com o IAP.

    gcloud config set project PROJECT_ID
    
  5. Execute o comando a seguir para buscar o ID do cliente OAuth 2.0 configurado.

    gcloud app describe --format="value(iap.oauth2ClientId)"
    

    Salve o ID do cliente do comando anterior se quiser permitir acesso programático.

  6. Para permitir o acesso programático do cliente OAuth 2.0, faça uma operação de leitura-atualização-gravação na API de configurações do IAP.

    gcloud iap settings get --resource-type=app-engine --project=$PROJECT > settings.yaml
    
  7. Atualize o arquivo settings.yaml e adicione o ID do cliente OAuth 2.0 buscado anteriormente em programmaticClients, conforme mostrado no exemplo a seguir.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Aplicar as novas configurações no aplicativo do App Engine

    gcloud iap settings set settings.yaml --resource-type=app-engine --project=PROJECT_ID
    
  9. Para migrar seus apps, execute o seguinte comando.

    gcloud iap web enable --resource-type=app-engine
    

API

  1. Execute o comando a seguir para buscar o ID do cliente OAuth 2.0 configurado.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://appengine.googleapis.com/v1/apps/PROJECT_ID?fields=iap"
    
  2. Execute o comando a seguir para buscar as configurações de IAP atuais em um arquivo settings.json.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/appengine-PROJECT_ID:iapSettings" > settings.json
    
  3. Atualize o arquivo settings.json para adicionar CLIENT_ID salvas anteriormente como um cliente programático.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Execute o comando a seguir para atualizar as configurações da IAP.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "@settings.json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/appengine-PROJECT_ID:iapSettings"
    
  5. Execute o comando a seguir para preparar um arquivo settings.json.

      cat << EOF > settings.json
      {
      "iap":
          {
            "enabled":true
          }
      }
      EOF
    
  6. Execute o comando a seguir para migrar seus apps.

      curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -d @settings.json \
      "https://appengine.googleapis.com/v1/apps/PROJECT_ID?updateMask=iap"
    

Migrar recursos do Compute Engine ativados para IAP

Conclua as etapas desta seção para migrar recursos do Compute Engine em que a IAP está ativada e um cliente OAuth 2.0 está configurado.

gcloud

Antes de continuar com as etapas, verifique se você tem uma versão atualizada da CLI gcloud. Para instruções sobre como instalar a CLI gcloud, consulte Instalar a CLI gcloud.

  1. Use a Google Cloud CLI para fazer a autenticação.

    gcloud auth login
    
  2. Clique no URL que aparece e faça login.

  3. Depois de fazer login, copie o código de verificação que aparece e cole-o na linha de comando.

  4. Execute o comando a seguir para especificar o projeto que contém os aplicativos que você quer continuar protegendo com o IAP.

    gcloud config set project PROJECT_ID
    
  5. Execute o comando a seguir para buscar o ID do cliente OAuth 2.0 configurado.

    Escopo global

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
    --global \
    --format="value(iap.oauth2ClientId)"
    

    Escopo regional

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
    --region REGION_NAME \
    --format="value(iap.oauth2ClientId)"
    

    Salve o ID do cliente do comando anterior se quiser permitir o acesso programático.

  6. Para permitir o acesso programático do cliente OAuth 2.0, faça uma operação de leitura-atualização-gravação na API de configurações do IAP.

    Escopo global

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME > settings.yaml
    

    Escopo regional

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. Atualize o arquivo settings.yaml e adicione o ID do cliente OAuth 2.0 buscado anteriormente em programmaticClients, conforme mostrado no exemplo a seguir:

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Aplique as novas configurações no aplicativo do Compute Engine:

    Escopo global

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME

    Escopo regional

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME
  9. Para migrar seus aplicativos, execute o comando com escopo global ou regional.

    Escopo global

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --global \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    

    Escopo regional

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --region REGION_NAME \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    
  10. Para confirmar que o ID do cliente OAuth não está definido, execute o seguinte comando global ou de escopo regional. Depois de executar o comando, verifique a saída para garantir que o campo "ID do cliente OAuth" esteja vazio.

    Escopo global

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global
    

    Escopo regional

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --region REGION_NAME
    

API

  1. Execute o comando a seguir para buscar o ID do cliente OAuth 2.0 configurado.

    Escopo global

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
    

    Escopo regional

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
    
  2. Execute o comando a seguir para buscar as configurações de IAP atuais em um arquivo settings.json.

    Escopo global

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
    

    Escopo regional

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
    
  3. Atualize o arquivo settings.json para adicionar CLIENT_ID salvo anteriormente como um cliente programático.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Execute o comando a seguir para atualizar as configurações da IAP.

    Escopo global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "@settings.json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings"
    

    Escopo regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "@settings.json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings"
    
  5. Execute o comando a seguir para preparar um arquivo settings.json.

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. Execute o comando a seguir para migrar seus recursos do IAP.

    Escopo global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d @settings.json \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
    

    Escopo regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d @settings.json \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
    
  7. Para confirmar que o ID do cliente OAuth não está definido, execute o seguinte comando global ou de escopo regional. Depois de executar o comando, verifique a saída para garantir que o campo "ID do cliente OAuth" esteja vazio.

    Escopo global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
    

    Escopo regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
    

Terraform

Se você estiver migrando recursos atuais ativados para IAP para usar um cliente OAuth gerenciado pelo Google, será necessário remover explicitamente os campos oauth2_client_id e oauth2_client_secret. Para remover a definição dos campos, atualize os valores para um único caractere de espaço em branco, conforme mostrado no exemplo a seguir:

resource "google_compute_backend_service" "default" {
  name                  = "tf-test-backend-service-external"
  protocol              = "HTTP"
  load_balancing_scheme = "EXTERNAL"
  iap {
    oauth2_client_id     = " "
    oauth2_client_secret = " "
  }
}

Os campos oauth2_client_id e oauth2_client_secret são opcionais e podem ser ignorados se você estiver trabalhando com novos recursos ativados para IAP.

Para mais informações sobre como usar o Terraform com o Google Cloud, consulte a documentação do Terraform.

Migrar recursos do Cloud Run ativados para a IAP

Siga as etapas desta seção para migrar recursos do Cloud Run em que a IAP está ativada e um cliente OAuth 2.0 está configurado.

gcloud

Antes de continuar com as etapas, verifique se você tem uma versão atualizada da CLI gcloud. Para instruções sobre como instalar a CLI gcloud, consulte Instalar a gcloud CLI.

  1. Para autenticar, use a Google Cloud CLI e execute o seguinte comando:

    gcloud auth login
    
  2. Clique no URL que aparece e faça login.

  3. Depois de fazer login, copie o código de verificação que aparece e cole-o na linha de comando.

  4. Execute o comando a seguir para especificar o projeto que contém os aplicativos que você quer continuar protegendo com o IAP.

    gcloud config set project PROJECT_ID
    
  5. Execute o comando a seguir para buscar o ID do cliente OAuth 2.0 configurado.

    Escopo global

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global \
        --format="value(iap.oauth2ClientId)"
    

    Escopo regional

    
    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
      --region REGION_NAME \
      --format="value(iap.oauth2ClientId)"
    

    Salve o ID do cliente do comando anterior se quiser permitir o acesso programático.

  6. Para permitir o acesso programático do cliente OAuth 2.0, faça uma operação de leitura-atualização-gravação na API de configurações do IAP.

    Escopo global

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME > settings.yaml
    

    Escopo regional

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. Atualize o arquivo settings.yaml e adicione o ID do cliente OAuth 2.0 buscado anteriormente em programmaticClients, como mostrado no exemplo.

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. Aplique as novas configurações no aplicativo do Compute Engine.

    Escopo global

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME
    

    Escopo regional

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME
    
  9. Para migrar seus recursos, execute o comando com escopo global ou regional.

    Escopo global

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --global \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    

    Escopo regional

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --region REGION_NAME \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    
  10. Para confirmar que o ID do cliente OAuth não está definido, execute o seguinte comando global ou de escopo regional. Depois de executar o comando, verifique a saída para garantir que o campo "ID do cliente OAuth" esteja vazio.

    Escopo global

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global
    

    Escopo regional

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --region REGION_NAME
    

API

  1. Execute o comando a seguir para buscar o ID do cliente OAuth 2.0 configurado.

    Escopo global

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
    

    Escopo regional

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME?fields=iap.oauth2ClientId"
    
  2. Execute o comando a seguir para buscar as configurações de IAP atuais em um arquivo settings.json.

    Escopo global

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
    

    Escopo regional

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings" > settings.json
    
  3. Atualize o arquivo settings.json para adicionar CLIENT_ID salvo anteriormente como um cliente programático.

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. Execute o comando a seguir para atualizar as configurações da IAP.

    Escopo global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "@settings.json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute/services/BACKEND_SERVICE_NAME:iapSettings"
    

    Escopo regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d "@settings.json" \
    "https://iap.googleapis.com/v1/projects/PROJECT_ID/iap_web/compute-REGION_NAME/services/BACKEND_SERVICE_NAME:iapSettings"
    
  5. Execute o comando a seguir para preparar um arquivo settings.json.

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. Execute o comando a seguir para migrar seus recursos.

    Escopo global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d @settings.json \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
    

    Escopo regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d @settings.json \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
    
  7. Para confirmar que o ID do cliente OAuth não está definido, execute o seguinte comando de escopo global ou regional. Depois de executar o comando, verifique a saída para garantir que o campo "ID do cliente OAuth" esteja vazio.

    Escopo global

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
    

    Escopo regional

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/backendServices/BACKEND_SERVICE_NAME"
    

Migrar recursos do Google Kubernetes Engine ativados para IAP

Adicione o seguinte bloco do IAP à definição de recurso personalizado (CRD) do BackendConfig. Isso ativa o IAP com o cliente OAuth 2.0 gerenciado pelo Google.

apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
  name: config-default
  namespace: my-namespace
spec:
  iap:
    enabled: true

Usar um JWT de conta de serviço para autenticar na IAP

É possível se autenticar no IAP sem usar a API OAuth Admin descontinuada com um JWT de conta de serviço.

Receber uma chave secreta do cliente OAuth

Quando você cria um cliente OAuth personalizado no console Google Cloud , a chave secreta do cliente é mostrada apenas naquele momento. Você é responsável por armazenar esse secret com segurança. O Secret Manager é o serviço recomendado para armazenar com segurança chaves secretas do cliente OAuth.

Se você usa o Secret Manager para armazenar a chave secreta do cliente OAuth, consulte Acessar uma versão secreta para instruções sobre como receber a chave secreta do cliente.

Determinar se você está usando a API Admin OAuth

Para verificar se você está usando a API OAuth Admin, siga estas etapas.

  1. No console do Google Cloud , abra a página "APIs do IAP" e selecione o projeto que você quer analisar.

    Acessar a página das APIs IAP

  2. Na lista Selecionar gráficos, escolha Tráfego por método de API e clique em OK.

  3. Na seção Métodos, procure métodos com o prefixo google.cloud.iap.v1.IdentityAwareProxyOAuthService, que indica que o projeto usa a API OAuth Admin.

Alternativas ao uso da API Admin OAuth

Se você precisar obter credenciais do cliente OAuth sem usar a API OAuth, use os seguintes métodos:

  • Console doGoogle Cloud : é possível receber manualmente as credenciais do OAuth na página Credenciais.

  • Secret Manager: é possível armazenar e recuperar o secret usando o Secret Manager. Para saber como usar o Secret Manager com o Terraform, consulte google_secret_manager_secret.

  • JWTs de conta de serviço: use JSON Web Tokens (JWTs) de conta de serviço para autenticação. Com os JWTs de conta de serviço, não é necessário usar clientes OAuth.