本文档介绍了如何使用 Developer Connect 账号连接器的高级配置选项。
账号连接器是一项 Developer Connect 功能,可帮助您将 Google Cloud 账号与非 Google 开发者工具提供商的个人账号相关联。用户可以通过为账号连接器选择适当的范围,指定账号连接器要访问的数据类型。为组织创建账号连接器连接后,该组织内的用户可以使用该连接来授权其个人账号使用该连接。
您可以使用预配置的 Developer Connect OAuth 客户端(例如 GitHub 或 GitLab)配置账号连接器,也可以使用自己的自定义 OAuth 客户端(例如本地 GitHub Enterprise 实例)。
准备工作
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- 可选:创建客户管理的加密密钥 (CMEK),用于加密 Developer Connect 创建的身份验证 Secret。
启用 Developer Connect 也会启用 Secret Manager API。
所需的角色
如需获得创建账号连接器所需的权限,请让您的管理员为您授予项目的 Developer Connect OAuth Admin (roles/developerconnect.oauthAdmin) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
使用可用的提供方创建账号连接器
以下步骤介绍了如何为内置提供程序创建账号连接器。如果您想创建账号连接器并指定自定义 OAuth 客户端,请参阅使用自定义 OAuth 客户端创建账号连接器。
Google Cloud 控制台
在 Google Cloud 控制台中,打开 Developer Connect。
选择账号连接器。
点击创建连接器。
选择要在其中创建此账号连接器的区域。
为账号连接器指定一个名称。
对于配置类型,请选择预配置的 OAuth 客户端。
选择 OAuth 提供方。
选择是否启用 Developer Connect 代理。
启用代理后,Developer Connect 会代表您向提供方发送 Git 命令或发出 HTTP 调用(或同时执行这两项操作)。 了解详情。
选择要为此账号连接器授予 Developer Connect 的范围。
范围决定了 Developer Connect 可以在所选提供商的服务中执行哪些操作。范围因提供商而异。您必须选择至少一个范围,除非提供方没有范围。
根据提供方不同,可能没有可供选择的范围。您或许可以手动添加这些信息。范围也可能是必需的。
点击创建以完成此账号连接器的创建。
Google Cloud CLI
如需创建账号连接器,请运行以下命令:
gcloud alpha developer-connect account-connectors create my-ac \
--location=LOCATION \
--provider-oauth-config-system-id=PROVIDER \
--provider-oauth-config-scopes=SCOPES \
--project=PROJECT_ID
在此命令中,替换以下内容:
将
LOCATION替换为您要在其中创建此账号连接器的区域。PROVIDER与您要连接的 SCM 提供商:GITHUB、GITLAB或BITBUCKET_CLOUD。将
PROJECT_ID替换为您要在其中创建此账号连接器的项目的项目 ID(而非项目编号)。
使用自定义 OAuth 客户端创建账号连接器
以下步骤介绍了如何配置账号连接器以使用您指定的 OAuth 客户端。如果您想使用内置提供方创建账号连接器,请参阅使用可用提供方创建账号连接器。
Google Cloud 控制台
在 Google Cloud 控制台中,打开 Developer Connect。
选择账号连接器。
点击创建连接器。
选择要在其中创建此账号连接器的区域。
为账号连接器指定一个名称。
对于配置类型,请选择自定义 OAuth 客户端。
创建账号连接器界面会显示重定向 URI。
复制重定向 URI。
URI 将采用以下格式:
https://developerconnect.google.com/redirect/custom/projects/<project_number>/locations/<location>/accountConnectors/<account_connector_id>在此 URI 中,
<project_number>是项目编号,而不是项目 ID。使用复制的重定向 URI 为所选 SCM 创建自定义应用,然后返回此表单以提供 OAuth 客户端的详细信息:
选择提供商。
在 Host URI 字段中,提供源代码管理系统的 URI。
在授权 URI 字段中,输入授权服务器的地址。此地址采用以下格式:
对于 GitHub Enterprise:
https://<host_name>/login/oauth/authorize对于 GitLab Enterprise:https://<host_name>/oauth/authorize对于 BitBucket 数据中心:https://<host_name>/rest/oauth2/latest/authorize在令牌 URI 字段中,提供用于将授权代码交换为访问令牌的 URI。此地址采用以下格式:
对于 GitHub Enterprise:
https://<host_name>/login/oauth/access_token对于 GitLab Enterprise:https://<host_name>/oauth/access_token对于 BitBucket 数据中心:https://<host_name>/rest/oauth2/latest/token在客户端 ID 部分,提供 OAuth 应用的客户端 ID。
提供客户端密钥,以便向授权服务器验证您的应用。
如果您的账号连接器将使用 Developer Connect 代理来发出 Git 命令,请选择启用 Developer Connect 代理。
对于范围,请从可用范围列表中进行选择。
(可选)配置网络和安全性:
选择此账号连接器将使用公共互联网还是专用网络。
如果是专用网络,请提供以下信息:
要使用的 CA 证书
Service Directory 服务的信息:
您可以确定 Service Directory 服务的项目,也可以指定区域、命名空间和服务名称。
为此应用启用或停用 PKCE。
您的 OAuth 服务必须支持 PKCE。
点击创建以完成此账号连接器的创建。
Google Cloud CLI
```sh
gcloud alpha developer-connect account-connectors create my-ac \
--location=LOCATION \
--project=PROJECT_ID \
--custom-provider-oauth-config-system-id=PROVIDER \
--custom-oauth-config-host-uri= HOST_URI \
--custom-oauth-config-auth-uri=AUTH_URI \
--custom-provider-oauth-config-scopes=SCOPES \
--custom-oauth-config-token-uri=TOKEN_URI \
--custom-oauth-config-client-id=CLIENT_ID \
--custom-oauth-config-client-secret=SECRET
```
在此命令中,替换以下内容:
将
LOCATION替换为您要在其中创建此账号连接器的区域。将
PROJECT_ID替换为您要在其中创建此账号连接器的项目的项目 ID(而非项目编号)。PROVIDER,其中包含您要连接的 SCM 提供方:GITHUB_ENTERPRISE、GITLAB_ENTERPRISE或BITBUCKET_DATA_CENTER。将
HOST_URI替换为源代码管理系统的网址。将
AUTH_URI替换为用于向所选 SCM 提供商进行身份验证的网址。例如:
GitHub Enterprise:
https://<host_name>/login/oauth/authorizeGitLab 自主托管:
https://<host_name>/oauth/authorizeBitBucket 数据中心:
https://<host_name>/rest/oauth2/latest/authorize
将
SCOPES替换为要为此账号连接器包含的所有提供方 OAuth 范围的英文逗号分隔列表。TOKEN_URI,其中包含用于将授权代码交换为访问令牌的 URI。CLIENT_ID替换为您的 OAuth 应用的客户端 ID。将
SECRET替换为所连接 SCMS 提供的密钥。
关联账号
创建账号连接器后,您仍需将 Developer Connect 与提供方账号相关联,然后才能使用该账号连接器。
在 Google Cloud 控制台中,打开 Developer Connect。
选择账号连接器。
账号连接器页面列出了您项目中的所有账号连接器。
点击您要关联提供商账号的账号连接器的名称。
系统会显示连接器详情页面。
点击关联账号。
系统会显示一个 OAuth 身份验证对话框。
在对话框中提供信息,以便向提供方进行身份验证。
点击授权。
更新账号连接器
您可以更新现有账号连接器,但只能更新相应连接器的范围、切换代理设置的开启/关闭状态,或者同时执行这两项操作。如果您更新了特定账号连接器的范围,则该连接器的所有现有用户都会被移除。
在 Google Cloud 控制台中,打开 Developer Connect。
Developer Connect 会显示 Git 代码库页面。
选择账号连接器。
账号连接器页面列出了您项目中的所有账号连接器。
点击要更新的账号连接器的名称。
系统会显示连接器详情页面。
点击修改。
在范围列表中,选择要为此账号连接器允许的范围。
点击保存。
删除账号连接器
在 Google Cloud 控制台中,打开 Developer Connect。
Developer Connect 会显示 Git 代码库页面。
选择账号连接器。
账号连接器页面列出了您项目中的所有账号连接器。
从更多菜单中,选择删除。
系统会显示连接器详情页面。
点击修改。