从 IAP OAuth Admin API 迁出

本指南说明了 IAP OAuth Admin API 已被弃用,并介绍了如何选择性地将使用该 API 创建的 OAuth 客户端迁移到自定义 OAuth 客户端。如需详细了解使用自定义 OAuth 客户端(包括自定义品牌)的好处,请参阅自定义 OAuth 配置以启用 IAP

如果您不使用 IAP OAuth Admin API,则此变更不会对您造成影响。

IAP 会自动使用 Google 管理的 OAuth 客户端,而无需手动管理 OAuth 2.0 客户端。

如需检查您的项目是否使用 OAuth Admin API,请参阅检查 OAuth Admin API 使用情况。 如果您的项目正在使用 OAuth Admin API,则必须按照本文档中的迁移说明进行操作,或者使用 OAuth Admin API 的替代方案

变更内容

我们将弃用 IAP OAuth Admin API,其中包括以下用于手动管理 OAuth 客户端和品牌的 API:

IAP 不再需要手动管理 OAuth 2.0 客户端,而是使用 Google 管理的 OAuth 客户端,这可简化 OAuth 客户端管理、减少人为错误并简化部署流程。

为了继续提供自定义品牌,我们建议您配置自定义 OAuth 客户端

未发生变化的方面

如果您不使用 IAP OAuth Admin API,则此变更不会对您产生影响。

此弃用不会影响您使用 Compute Engine API、App Engine API 或 Google Cloud 控制台手动配置的 OAuth 客户端。

您可以继续使用 Google Cloud 控制台创建新的 OAuth 品牌和客户端配置并对其进行管理,现有配置将继续获得全面支持。

检查 OAuth Admin API 使用情况

如需确定您的项目是否在使用 IAP OAuth Admin API,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 IAP API 用量页面。

    前往 IAP API 用量页面

  2. 选择您的项目。 选择要检查 OAuth Admin API 使用情况的项目。

  3. 查看图表部分。

  4. 在“图表”部分,从可用选项中选择流量(按 API 方法)

  5. 查找以以下前缀开头的任何 API 方法:

    google.cloud.iap.v1.IdentityAwareProxyOAuthService.*

如果您看到带有此前缀的方法,则表示相应项目正在使用 IAP OAuth 服务方法。

详细说明

自 2025 年 1 月 22 日起,用于创建 IAP OAuth 2.0 客户端的 IAP OAuth 2.0 Admin API 已被弃用。由于您不再需要配置 OAuth 客户端,因此不再需要 IAP OAuth 2.0 Admin API。IAP 现在默认使用 Google 管理的 OAuth 客户端进行浏览器访问,或者在未明确配置 OAuth 2.0 客户端时使用该客户端。Google 管理的 OAuth 2.0 客户端会限制对启用 IAP 的应用的访问权限,只有同一组织内的用户才能通过浏览器访问这些应用。

随着 Identity-Aware Proxy (IAP) OAuth 2.0 Admin API 的弃用,您将无法再使用此 API 创建或管理 OAuth 客户端。在此弃用之前创建的 OAuth 客户端不会失效。您可以继续使用之前创建的 OAuth 客户端,并使用Google Cloud 控制台管理这些客户端。

如果您已配置的应用使用了通过 IAP 2.0 Admin API 或其他方式创建的 OAuth 客户端,这些应用将继续正常运行。无需对应用进行任何更改。不过,如果您的自动化脚本使用 IAP OAuth 2.0 Admin API 来配置新客户端或提取现有客户端的客户端密钥,您必须更新这些脚本,使其不再使用 IAP OAuth 2.0 Admin API。

如需了解如何为应用配置 Google 管理的 OAuth 2.0 客户端,请参阅程序化访问

如果 Google 管理的 OAuth 2.0 客户端无法满足您的需求,您可以与多个 IAP 应用共享单个 OAuth 客户端,这样就无需为每个新应用手动创建客户端。

通过 Marketplace 渠道非公开优惠完成的购买交易

  • 更新自动化脚本

    如果您使用 Terraform 或其他工具来自动配置 IAP,并且使用 IAP OAuth 2.0 Admin API,则必须更新自动化脚本,以使用预先创建的客户端或使用 Google 管理的 OAuth 客户端与 IAP。

  • 使用 Google 管理的 OAuth 2.0 客户端为应用配置程序化访问权限

    如果您已有一些受 IAP 保护的应用,并计划使用 Google 管理的 OAuth 2.0 客户端迁移这些应用,则可以通过将 OAuth 2.0 客户端列入许可名单来为这些应用配置程序化访问权限。

迁移启用 IAP 的资源

如需迁移资源以使用 Google 管理的 OAuth 2.0 客户端,请按照您要迁移的资源类型(例如 Compute Engine 资源)对应的步骤操作。

迁移启用了 IAP 的 App Engine 资源

完成本部分中的步骤,以迁移已启用 IAP 并配置了 OAuth 2.0 客户端的 App Engine 资源。

gcloud

在继续执行后续步骤之前,请确保您拥有最新版本的 gcloud CLI。如需了解如何安装 gcloud CLI,请参阅安装 gcloud CLI

  1. 使用 Google Cloud CLI 进行身份验证。

    gcloud auth login
    
  2. 点击显示的网址并登录。

  3. 登录后,复制显示的验证码并将其粘贴到命令行中。

  4. 运行以下命令,指定包含您要继续使用 IAP 保护的应用的项目。

    gcloud config set project PROJECT_ID
    
  5. 运行以下命令以获取已配置的 OAuth 2.0 客户端 ID。

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

    如果您想允许程序化访问,请保存上一个命令中的客户端 ID。

  6. 如需将 OAuth 2.0 客户端列入许可名单以进行程序化访问,请对 IAP 设置 API 执行读取-更新-写入操作。

    gcloud iap settings get --resource-type=app-engine --project=$PROJECT > settings.yaml
    
  7. 更新 settings.yaml 文件,并在 programmaticClients 下添加之前提取的 OAuth 2.0 客户端 ID,如以下示例所示。

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. 在 App Engine 应用上应用新设置

    gcloud iap settings set settings.yaml --resource-type=app-engine --project=PROJECT_ID
    
  9. 如需迁移应用,请运行以下命令。

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

API

  1. 运行以下命令以提取已配置的 OAuth 2.0 客户端 ID。

    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. 运行以下命令,将现有 IAP 设置提取到 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. 更新 settings.json 文件,以将之前保存的 CLIENT_ID 添加为程序化客户。

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. 运行以下命令以更新 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. 运行以下命令以准备 settings.json 文件。

      cat << EOF > settings.json
      {
      "iap":
          {
            "enabled":true
          }
      }
      EOF
    
  6. 运行以下命令以迁移应用。

      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"
    

迁移启用 IAP 的 Compute Engine 资源

完成本部分中的步骤,以迁移已启用 IAP 并配置了 OAuth 2.0 客户端的 Compute Engine 资源。

gcloud

在继续执行后续步骤之前,请确保您拥有最新版本的 gcloud CLI。如需了解如何安装 gcloud CLI,请参阅安装 gcloud CLI

  1. 使用 Google Cloud CLI 进行身份验证。

    gcloud auth login
    
  2. 点击显示的网址并登录。

  3. 登录后,复制显示的验证码并将其粘贴到命令行中。

  4. 运行以下命令,指定包含您要继续使用 IAP 保护的应用的项目。

    gcloud config set project PROJECT_ID
    
  5. 运行以下命令以获取已配置的 OAuth 2.0 客户端 ID。

    全球范围

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

    区域范围

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

    如果您想允许程序化访问,请保存上一个命令中的客户端 ID。

  6. 如需将 OAuth 2.0 客户端列入许可名单以进行程序化访问,请对 IAP 设置 API 执行读取-更新-写入操作。

    全球范围

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

    区域范围

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. 更新 settings.yaml 文件,并在 programmaticClients 下添加之前提取的 OAuth 2.0 客户端 ID,如以下示例所示:

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. 在 Compute Engine 应用上应用新设置:

    全球范围

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

    区域范围

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME
  9. 如需迁移应用,请运行全局范围或区域范围的命令。

    全球范围

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

    区域范围

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --region REGION_NAME \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    
  10. 如需确认 OAuth 客户端 ID 未设置,请运行以下全局或区域级范围命令。运行该命令后,检查输出以确保 OAuth 客户端 ID 字段为空。

    全球范围

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global
    

    区域范围

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

API

  1. 运行以下命令以提取已配置的 OAuth 2.0 客户端 ID。

    全球范围

    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"
    

    区域范围

    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. 运行以下命令,将现有 IAP 设置提取到 settings.json 文件中。

    全球范围

    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
    

    区域范围

    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. 更新 settings.json 文件,以添加之前保存的 CLIENT_ID 作为程序化客户端。

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. 运行以下命令以更新 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/compute/services/BACKEND_SERVICE_NAME:iapSettings"
    

    区域范围

    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. 运行以下命令以准备 settings.json 文件。

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. 运行以下命令以迁移 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://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME"
    

    区域范围

    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. 如需确认 OAuth 客户端 ID 未设置,请运行以下全局或区域级范围命令。运行该命令后,检查输出以确保 OAuth 客户端 ID 字段为空。

    全球范围

    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"
    

    区域范围

    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

如果您要迁移已启用 IAP 的现有资源以使用 Google 管理的 OAuth 客户端,则必须明确取消设置 oauth2_client_idoauth2_client_secret 字段。如需取消设置字段,请将值更新为单个空格字符,如以下示例所示:

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 = " "
  }
}

oauth2_client_idoauth2_client_secret 字段为选填字段,如果您使用的是启用了 IAP 的新资源,则可以忽略这两个字段。

如需详细了解如何将 Terraform 与 Google Cloud搭配使用,请参阅 Terraform 文档

迁移已启用 IAP 的 Cloud Run 资源

完成本部分中的步骤,以迁移已启用 IAP 并配置了 OAuth 2.0 客户端的 Cloud Run 资源。

gcloud

在继续执行后续步骤之前,请确保您拥有最新版本的 gcloud CLI。如需了解如何安装 gcloud CLI,请参阅安装 gcloud CLI

  1. 如需进行身份验证,请使用 Google Cloud CLI 并运行以下命令。

    gcloud auth login
    
  2. 点击显示的网址并登录。

  3. 登录后,复制显示的验证码并将其粘贴到命令行中。

  4. 运行以下命令,指定包含您要继续使用 IAP 保护的应用的项目。

    gcloud config set project PROJECT_ID
    
  5. 运行以下命令以获取已配置的 OAuth 2.0 客户端 ID。

    全球范围

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

    区域范围

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

    如果您想允许程序化访问,请保存上一个命令中的客户端 ID。

  6. 如需将 OAuth 2.0 客户端列入许可名单以进行程序化访问,请对 IAP 设置 API 执行读取-更新-写入操作。

    全球范围

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

    区域范围

    gcloud iap settings get \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME > settings.yaml
    
  7. 更新 settings.yaml 文件,并在 programmaticClients 下添加之前提取的 OAuth 2.0 客户端 ID,如示例所示。

    accessSettings:
      oauthSettings:
        programmaticClients:
        - CLIENT_ID
    
  8. 在 Compute Engine 应用上应用新设置。

    全球范围

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

    区域范围

    gcloud iap settings set settings.yaml \
        --resource-type=compute \
        --project=PROJECT_ID \
        --service=BACKEND_SERVICE_NAME \
        --region=REGION_NAME
    
  9. 如需迁移资源,请运行全局范围或区域范围的命令。

    全球范围

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

    区域范围

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --region REGION_NAME \
        --iap=enabled,oauth2-client-id=" ",oauth2-client-secret=" "
    
  10. 如需确认 OAuth 客户端 ID 未设置,请运行以下全局或区域级范围命令。运行该命令后,检查输出以确保 OAuth 客户端 ID 字段为空。

    全球范围

    gcloud compute backend-services describe BACKEND_SERVICE_NAME \
        --global
    

    区域范围

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

API

  1. 运行以下命令以提取已配置的 OAuth 2.0 客户端 ID。

    全球范围

    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"
    

    区域范围

    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. 运行以下命令,将现有的 IAP 设置提取到 settings.json 文件中。

    全球范围

    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
    

    区域范围

    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. 更新 settings.json 文件,以添加之前保存的 CLIENT_ID 作为程序化客户端。

    {
        "accessSettings": {
          "oauthSettings": {
            "programmaticClients": [
              "CLIENT_ID"
            ]
          },
        },
    }
    
  4. 运行以下命令以更新 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/compute/services/BACKEND_SERVICE_NAME:iapSettings"
    

    区域范围

    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. 运行以下命令以准备 settings.json 文件。

    cat << EOF > settings.json
    {
    "iap":
          {
            "enabled":true,
            "oauth2ClientId": " ",
            "oauth2ClientSecret": " "
          }
    }
    EOF
    
  6. 运行以下命令以迁移资源。

    全球范围

    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"
    

    区域范围

    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. 如需确认 OAuth 客户端 ID 未设置,请运行以下全局范围或区域范围的命令。 运行该命令后,检查输出以确保 OAuth 客户端 ID 字段为空。

    全球范围

    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"
    

    区域范围

    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"
    

迁移启用了 IAP 的 Google Kubernetes Engine 资源

将以下 IAP 块添加到 BackendConfig 自定义资源定义 (CRD)。这会使用 Google 管理的 OAuth 2.0 客户端启用 IAP。

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

使用服务账号 JWT 向 IAP 进行身份验证

您可以使用服务账号 JWT 向 IAP 进行身份验证,而无需使用已弃用的 OAuth Admin API。

获取 OAuth 客户端密钥

在 Google Cloud 控制台中创建自定义 OAuth 客户端时,客户端密钥仅在该时间显示。您负责安全地存储此密钥。建议使用 Secret Manager 安全地存储 OAuth 客户端密钥。

如果您使用 Secret Manager 存储 OAuth 客户端的密钥,请参阅访问密钥版本,了解如何获取客户端密钥。

确定您是否在使用 OAuth Admin API

如需检查您是否在使用 OAuth Admin API,请完成以下步骤。

  1. 在 Google Cloud 控制台中,打开“IAP API”页面,然后选择要分析的项目。

    前往“IAP API”页面

  2. 选择图表列表中,选择流量(按 API 方法),然后点击确定

  3. 方法部分中,查找任何带有前缀 google.cloud.iap.v1.IdentityAwareProxyOAuthService 的方法,这表示项目使用了 OAuth Admin API。

OAuth Admin API 的替代方案

如果您需要在不使用 OAuth API 的情况下获取 OAuth 客户端凭据,可以使用以下方法:

  • Google Cloud 控制台:您可以通过凭据页面手动获取 OAuth 凭证。

  • Secret Manager:您可以使用 Secret Manager 存储和检索 Secret。如需了解如何将 Secret Manager 与 Terraform 搭配使用,请参阅 google_secret_manager_secret

  • 服务账号 JWT:使用服务账号 JSON Web 令牌 (JWT) 进行身份验证。使用服务账号 JWT 时,您无需使用 OAuth 客户端。