查看 Application Integration 支持的连接器。
管理身份验证配置文件
Application Integration 中的任务可能需要连接到外部应用, 服务或数据源通过身份验证配置文件,您可以配置和存储 Application Integration 中连接的身份验证详细信息。您可以将任务配置为使用存储的身份验证配置文件。创建身份验证配置文件是一次性活动,您可以在多个集成中重复使用同一配置文件。
所需的角色
如需获取管理身份验证配置文件所需的权限, 请让管理员授予您 集成的以下 IAM 角色:
-
Application Integration Admin (
roles/integrations.integrationAdmin
) -
创建身份验证配置文件:
Application Integration Editor (
roles/integrations.integrationEditor
) -
修改身份验证配置文件:
Application Integration Editor (
roles/integrations.integrationEditor
) -
删除身份验证配置文件:
Application Integration Admin (
roles/integrations.integrationAdmin
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
创建 OAuth 2.0 客户端 ID
客户端 ID 用于向 Google 的 OAuth 服务器标识单个应用。如果您的应用在多个平台上运行,那么每个平台都将需要有自己的客户端 ID。 如需在应用中使用 OAuth 2.0,您需要有一个 OAuth 2.0 客户端 ID,您的应用在请求 OAuth 2.0 访问令牌时会用到该 ID。
如需创建 OAuth 2.0 客户端 ID,请执行以下步骤:
- 在 Google Cloud 控制台中,前往 API 和服务 > 凭据。
- 点击 + 创建凭据,然后从可用选项列表中选择 OAuth 客户端 ID。
随即会出现创建 OAuth 客户端 ID 页面。
- 应用类型:从下拉列表中选择 Web 应用。
- 名称:为您的 OAuth 2.0 客户端输入一个名称,用于在 Cloud 控制台中标识该客户端。
- 在已获授权的重定向 URI 下,点击 +添加 URI,然后输入以下内容:
https://console.cloud.google.com/integrations/callback/locations/AUTH_PROFILE_REGION
- 点击创建。
您现已成功创建一个 OAuth 2.0 客户端 ID。
创建新身份验证配置文件
如需创建新的身份验证配置文件,请选择以下方法之一:
控制台
- 在 Google Cloud 控制台中,进入 Application Integration 页面。
- 在导航菜单中,点击 Auth Profiles。
- 点击创建,然后输入以下详细信息:
- 在个人资料名称字段中,输入要在集成编辑器中显示的身份验证个人资料的名称。
- 在区域列表中,为身份验证配置文件选择一个区域。
- 在说明字段中,输入身份验证配置文件的说明。
- 点击继续。
- 在身份验证类型列表中,选择身份验证类型,然后输入所需的详细信息。 根据您的选择,对话框会显示身份验证凭据所需的其他字段。您可以选择以下任意身份验证类型:
- (可选)您可以添加供服务器用于验证客户端身份的 SSL/TLS 客户端证书。您可以输入以下字段:
- SSL 证书
- 私钥
- 私钥口令
- 点击创建。
系统会显示 Authentication Profiles 页面。
Terraform
使用 google_integrations_client
资源。您可以使用 terraform 创建以下身份验证配置文件:
身份验证令牌
以下示例在 us-central1
区域中创建身份验证令牌身份验证类型:
SSL/TLS 客户端证书
以下示例在 us-central1
区域中创建 SSL/TLS 客户端证书身份验证类型:
JSON Web 令牌 (JWT)
以下示例在 us-central1
区域中创建 JSON Web 令牌 (JWT) 身份验证类型:
OAuth 2.0 授权代码
以下示例在 us-central1
区域中创建 SSL/TLS 客户端证书身份验证类型:
OAuth 2.0 客户端凭据
以下示例在 us-central1
区域中创建 OAuth 2.0 客户端凭据身份验证类型:
Google OIDC ID 令牌
以下示例会在 us-central1
区域中创建 Google OIDC ID 令牌身份验证类型:
resource "random_id" "default" { byte_length = 8 } resource "google_service_account" "service_account" { account_id = "sa-${random_id.default.hex}" display_name = "Service Account" } resource "google_integrations_auth_config" "auth_config_oidc_token" { location = "us-central1" display_name = "tf-oidc-token" description = "Test auth config created via terraform" decrypted_credential { credential_type = "OIDC_TOKEN" oidc_token { service_account_email = google_service_account.service_account.email audience = "https://us-central1-project.cloudfunctions.net/functionA 1234987819200.apps.googleusercontent.com" } } depends_on = [google_service_account.service_account, google_integrations_client.client] }
服务账号
以下示例会在 us-central1
区域中创建服务账号身份验证类型:
resource "random_id" "default" { byte_length = 8 } resource "google_service_account" "service_account" { account_id = "sa-${random_id.default.hex}" display_name = "Service Account" } resource "google_integrations_auth_config" "auth_config_service_account" { location = "us-central1" display_name = "tf-service-account" description = "Test auth config created via terraform" decrypted_credential { credential_type = "SERVICE_ACCOUNT" service_account_credentials { service_account = google_service_account.service_account.email scope = "https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/adexchange.buyer https://www.googleapis.com/auth/admob.readonly" } } depends_on = [google_service_account.service_account, google_integrations_client.client] }
保存后,系统会在需要身份验证的任何任务的要使用的授权配置文件 (Authorization profile to use) 下拉列表中提供新的身份验证配置文件作为选项。
可选。如果您在配置集成任务之前未创建身份验证配置文件,则可以通过从任务配置窗格的要使用的授权配置文件 (Authorization profile to use) 下拉列表中选择 + 添加新的身份验证配置文件 (+ Add new authentication profile) 来访问配置文件创建对话框。按照前面的步骤创建新的身份验证配置文件。
修改身份验证配置文件
如需修改身份验证配置文件,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往 Application Integration 页面。
- 在导航菜单中,点击 Auth Profiles。
- 使用 Authentication Profiles 页面中的下拉菜单,为身份验证配置文件选择区域。
- 点击
此时会显示身份验证配置文件对话框。
(操作菜单),然后点击修改。
- 修改详细信息,然后点击保存。
系统会显示 Authentication Profiles 页面。
删除身份验证配置文件
如需删除身份验证配置文件,请按以下步骤操作:
- 在 Google Cloud 控制台中,前往 Application Integration 页面。
- 在导航菜单中,点击身份验证资料。
- 使用 Authentication Profiles 页面中的下拉菜单,为身份验证配置文件选择区域。
- 点击删除。
系统会显示 Authentication Profiles 页面。
身份验证类型
完成集成任务所需的身份验证类型取决于授权服务器中配置的身份验证。授权服务器可以是独立服务器,也可以是向调用客户端发出凭据的 API。应用集成支持以下身份验证类型:
- 身份验证令牌
- Google OIDC ID 令牌
- JSON Web 令牌 (JWT)
- OAuth 2.0 授权代码
- OAuth 2.0 客户端凭据
- OAuth 2.0 资源所有者密码凭据
- 仅限 SSL/TLS 客户端证书
- 服务账号
以下部分介绍了身份验证类型的配置属性。
身份验证令牌
身份验证令牌身份验证类型使用令牌(凭据)进行身份验证。凭据会在 HTTPAuthorization
请求标头中以 Authorization: TYPE CREDENTIALS
格式发送至服务器。如需配置此身份验证类型,请设置以下属性:- 类型:身份验证类型,例如
Basic
、Bearer
或MAC
。 - 令牌:身份验证类型的凭据。
如果身份验证服务器需要 SSL/TLS 证书,请上传证书和私钥。
如需了解哪些任务支持此身份验证类型,请参阅身份验证类型与任务的兼容性。Google OIDC ID 令牌
Google OIDC ID 令牌身份验证类型使用 JSON Web 令牌 (JWT) 进行身份验证。Google OpenID Connect (OIDC) 提供商 accounts.google.comaccounts.google.com 会对这些 JWT 进行签名和颁发,以使用服务账号进行身份验证。如需配置此身份验证类型,请设置以下属性:- 服务账号:您的 Google Cloud 项目中有权访问您的 API 的服务账号(主账号)。
- 受众群体:OIDC 令牌的受众群体(用于标识 JWT 的目标接收者)。例如,触发器网址是 Cloud Functions 函数任务的受众群体。
JSON Web 令牌 (JWT)
JWT 身份验证类型使用 JSON Web 令牌 (JWT) 进行身份验证。如需详细了解 JWT,请参阅 RFC7519。如需配置此身份验证类型,请设置以下属性:- JWT 标头:用于生成签名的算法。
注意:您只能指定 HS256 算法。
- JWT 载荷:一组声明。您可以使用已注册、公开和自定义的声明。
- Secret:客户端与身份验证服务器之间的共享密钥。
如果身份验证服务器需要 SSL 证书,请使用文件选择器上传证书和私钥。输入私钥密码。
如需了解哪些任务支持此身份验证类型,请参阅身份验证类型与任务的兼容性。OAuth 2.0 授权代码
OAuth 2.0 授权代码身份验证类型使用 OAuth 2.0
授权令牌进行身份验证。如需配置此身份验证类型,请设置以下属性:
- 身份验证端点:应用的身份验证端点的端点。您将会被重定向到此网址,以查看该应用的访问权限。 只有在授予访问权限后,系统才会生成令牌。
- 令牌端点:用于授予或刷新访问令牌的端点。
- 客户端 ID:由身份验证服务器向所注册客户端提供的唯一字符串。客户端 ID 不是密钥,所以会向资源所有者公开。将此字段与客户端密钥结合使用。
- Secret:客户端(集成)和身份验证服务器之间的共享密钥。
- 范围:访问令牌的范围。您可以通过范围来指定用户的访问权限。您可以指定多个范围,以单个空格(“ ”)分隔。如需了解详情,请参阅适用于 Google API 的 OAuth 2.0 范围。
如果身份验证服务器需要 SSL 证书,请使用文件选择器上传证书和私钥。根据需要在可用字段中输入私钥密码。
如需了解哪些任务支持此身份验证类型,请参阅身份验证类型与任务的兼容性。OAuth 2.0 客户端凭据
OAuth 2.0 客户端凭据身份验证类型使用 OAuth 2.0
授权令牌进行身份验证。此身份验证首先使用客户端凭据请求访问令牌,然后使用该令牌访问受保护的资源。如需配置此身份验证类型,请设置以下属性:
- 令牌端点:用于授予或刷新访问令牌的端点。
- 客户端 ID:由身份验证服务器向所注册客户端提供的唯一字符串。客户端 ID 不是密钥,所以会向资源所有者公开。将此字段与客户端密钥结合使用。
- Secret:客户端(集成)和身份验证服务器之间的共享密钥。
- 范围:访问令牌的范围。您可以通过范围来指定用户的访问权限。您可以指定多个范围,以单个空格(“ ”)分隔。如需了解详情,请参阅适用于 Google API 的 OAuth 2.0 范围。
- 请求类型:将请求参数发送至身份验证服务器以获取访问令牌的机制。您可以指定以下任何请求类型:
- 编码器标头:对
Base64
格式的CLIENT ID
和CLIENT SECRET
进行编码,并在 HTTP 授权标头中发送编码后的字符串。其余的请求参数会在 HTTP 请求正文中发送。 - 查询参数:在查询字符串中发送请求参数。
- 请求正文:使用
application/x-www-form-urlencoded
内容类型和 HTTP 请求的entity-body
中的UTF-8
字符集发送请求参数。 - 不明
- 编码器标头:对
- 令牌参数:获取令牌所需的请求参数。以键值对格式指定值,其中
Key
是参数名称,Value
是对应的参数值。
如果身份验证服务器需要 SSL 证书,请使用文件选择器上传证书和私钥。根据需要在可用字段中输入私钥密码。
如需了解哪些任务支持此身份验证类型,请参阅身份验证类型与任务的兼容性。OAuth 2.0 资源所有者密码凭据
OAuth 2.0 资源所有者密码凭据身份验证类型使用 OAuth 2.0
授权令牌进行身份验证。此身份验证首先使用资源所有者凭据(用户名和密码)请求访问令牌,然后使用该令牌访问受保护的资源。如需配置此身份验证类型,请根据您连接到的实例类型设置以下属性:
- 令牌端点:用于授予或刷新访问令牌的端点。
- 客户端 ID:由身份验证服务器向所注册客户端提供的唯一字符串。客户端 ID 不是密钥,所以会向资源所有者公开。将此字段与客户端密钥结合使用。
- Secret:客户端(集成)和身份验证服务器之间的共享密钥。
- 范围:访问令牌的范围。您可以通过范围来指定用户的访问权限。您可以指定多个范围,以单个空格(“ ”)分隔。如需了解详情,请参阅适用于 Google API 的 OAuth 2.0 范围。
- 用户名:资源所有者的用户名。
- 密码:用户密码。
- 请求类型:将请求参数发送至身份验证服务器以获取访问令牌的机制。您可以指定以下任何请求类型:
- 编码器标头:对
Base64
格式的CLIENT ID
和CLIENT SECRET
进行编码,并在 HTTP 授权标头中发送编码后的字符串。在 HTTP 请求正文中发送其余的请求参数。 - 查询参数:在查询字符串中发送请求参数。
- 请求正文:使用
application/x-www-form-urlencoded
内容类型和 HTTP 请求的entity-body
中的UTF-8
字符集发送请求参数。
- 编码器标头:对
- 令牌参数:获取令牌所需的请求参数。以键值对格式指定值,其中
Key
是参数名称,Value
是对应的参数值。
如果身份验证服务器需要 SSL 证书,请使用文件选择器上传证书和私钥。根据需要在可用字段中输入私钥密码。
如需了解哪些任务支持此身份验证类型,请参阅身份验证类型与任务的兼容性。仅限 SSL/TLS 客户端证书
仅限 SSL/TLS 客户端证书身份验证类型仅使用 SSL/TLS 证书进行身份验证。上传所需的证书和私钥。如需配置此身份验证类型,请上传以下文件:- SSL 证书:采用 PEM 格式编码的证书。
- 私钥:采用 PEM 格式编码的证书私钥文件。
如果私钥需要
passphrase
,请输入私钥密码。
服务账号
服务账号身份验证类型使用 Google Cloud 项目服务账号的凭据进行身份验证。如需配置此身份验证类型,请设置以下属性:
- 服务账号:您的 Google Cloud 项目中有权访问您的 API 的服务账号(主账号)。
- 范围:授予用户的访问权限范围。您可以指定多个范围,以单个空格(“ ”)分隔。如需了解详情,请参阅适用于 Google API 的 OAuth 2.0 范围。
如需了解创建和管理服务账号的最佳实践,请参阅使用服务账号的最佳实践文档。
如果身份验证服务器需要 SSL 证书,请使用文件选择器上传证书和私钥。根据需要在可用字段中输入私钥密码。
如需了解哪些任务支持此身份验证类型,请参阅身份验证类型与任务的兼容性。身份验证类型与任务的兼容性
下表列出了身份验证类型和对应的兼容任务。您可以使用此信息来决定要用于任务的身份验证类型。
身份验证类型 | 兼容的任务和触发器 |
---|---|
身份验证令牌 | |
Google OIDC ID 令牌 | |
JSON Web 令牌 (JWT) | |
OAuth 2.0 授权代码 | |
OAuth 2.0 客户端凭据 | |
OAuth 2.0 资源所有者密码凭据 | |
仅限 SSL/TLS 客户端证书 | |
服务账号 |
身份验证规则
如果您的集成同时配置了 OAuth 2.0 配置文件和用户管理的服务账号,则默认情况下,系统会使用 OAuth 2.0 配置文件进行身份验证。如果 OAuth 2.0 配置文件和用户管理的服务账号均未配置,则系统会使用默认服务账号 (service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com
)。如果任务不使用默认服务账号,则执行会失败。