設定帳戶連接器

本文說明如何使用 Developer Connect 帳戶連結器的高階設定選項。

帳戶連接器是 Developer Connect 的功能,可協助您將 Google Cloud 帳戶與非 Google 開發人員工具供應商的個人帳戶連結。使用者可以為帳戶連結器選取適當的範圍,指定連結器可存取的資料類型。為機構建立帳戶連接器連線後,該機構的使用者就能透過這項連線授權個人帳戶,以便使用這項連線。

您可以透過預先設定的 Developer Connect OAuth 用戶端 (例如 GitHub 或 GitLab) 設定帳戶連接器,也可以使用自己的自訂 OAuth 用戶端 (例如地端部署的 GitHub Enterprise 執行個體)。

事前準備

  1. 登入 Google 帳戶。

    如果沒有帳戶,請 申請新帳戶

  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. 啟用 Developer Connect 時,系統也會啟用 Secret Manager API

  9. 選用:建立客戶自行管理的加密金鑰 (CMEK),用於加密 Developer Connect 建立的驗證密鑰。

必要的角色

如要取得建立帳戶連結器所需的權限,請要求管理員授予您專案的「Developer Connect OAuth 管理員」 (roles/developerconnect.oauthAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

使用可用供應商建立帳戶連接器

下列步驟說明如何為內建供應商建立帳戶連接器。如要建立帳戶連結器並指定自訂 OAuth 用戶端,請參閱「使用自訂 OAuth 用戶端建立帳戶連結器」。

Google Cloud 控制台

  1. 在 Google Cloud 控制台中開啟「Developer Connect」

    前往 Developer Connect

  2. 選取「帳戶連結器」

  3. 按一下「Create connector」(建立連接器)。

  4. 選取要建立這個帳戶連接器的「Region」(區域)

  5. 為帳戶連結器命名。

  6. 在「設定類型」中選擇「預先設定的 OAuth 用戶端」

  7. 選取 OAuth 提供者。

  8. 選擇是否要啟用 Developer Connect Proxy

    啟用 Proxy 後,Developer Connect 會代表您將 Git 指令傳送至供應商,或發出 HTTP 呼叫 (或兩者皆是)。瞭解詳情

  9. 選取要授予 Developer Connect 的範圍,以供這個帳戶連接器使用。

    範圍決定了 Developer Connect 在所選供應商服務中可執行的動作。範圍會因供應商而異。除非供應商沒有範圍,否則您必須選取至少一個範圍。

    視供應商而定,可能無法選取任何範圍。你或許可以手動新增。也可能需要範圍。

  10. 按一下「建立」,完成帳戶連結器的建立作業。

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 供應商:

    GITHUBGITLABBITBUCKET_CLOUD

  • PROJECT_ID,並將其替換為您要建立帳戶連結器的專案 ID (而非專案編號)。

使用自訂 OAuth 用戶端建立帳戶連結器

下列步驟說明如何設定帳戶連結器,以使用您指定的 OAuth 用戶端。如要使用內建供應商建立帳戶連接器,請參閱使用可用供應商建立帳戶連接器

Google Cloud 控制台

  1. 在 Google Cloud 控制台中開啟「Developer Connect」

    前往 Developer Connect

  2. 選取「帳戶連結器」

  3. 按一下「Create connector」(建立連接器)。

  4. 選取要建立這個帳戶連接器的「Region」(區域)

  5. 為帳戶連結器命名。

  6. 在「設定類型」中選擇「自訂 OAuth 用戶端」

    「建立帳戶連接器」畫面會顯示重新導向 URI。

  7. 複製重新導向 URI

    URI 的格式如下:

    https://developerconnect.google.com/redirect/custom/projects/<project_number>/locations/<location>/accountConnectors/<account_connector_id>

    在這個 URI 中,<project_number> 是專案編號,而非專案 ID。

  8. 使用複製的重新導向 URI,為所選 SCM 建立自訂應用程式,然後返回這個表單,提供 OAuth 用戶端的詳細資料:

    1. 選取供應商。

    2. 在「主機 URI」欄位中,提供原始碼管理系統的 URI。

    3. 在「Authorization URI」欄位中,輸入授權伺服器的地址。這個地址的格式如下:

      GitHub Enterprise:https://<host_name>/login/oauth/authorize GitLab Enterprise:https://<host_name>/oauth/authorize BitBucket Data Center:https://<host_name>/rest/oauth2/latest/authorize

    4. 權杖 URI 欄位中,提供用來交換授權碼以取得存取權杖的 URI。這個地址的格式如下:

      GitHub Enterprise:https://<host_name>/login/oauth/access_token GitLab Enterprise:https://<host_name>/oauth/access_token BitBucket Data Center:https://<host_name>/rest/oauth2/latest/token

    5. 在「Client ID」(用戶端 ID) 輸入 OAuth 應用程式的用戶端 ID。

    6. 提供用戶端密鑰,向授權伺服器驗證應用程式。

    7. 如果帳戶連接器會使用 Developer Connect Proxy 發出 Git 指令,請選取「啟用 Developer Connect Proxy」

    8. 在「範圍」部分,從可用範圍清單中選取。

    9. (選用) 設定網路和安全性:

      1. 選取這個帳戶連結器要使用公開網際網路或私人網路。

        如果是私人網路,請提供下列資訊:

        • 要使用的 CA 憑證

        • Service Directory 服務的相關資訊:

        您可以找出 Service Directory 服務的專案,或指定區域、命名空間和服務名稱。

      2. 為這個應用程式啟用或停用 PKCE。

        OAuth 服務必須支援 PKCE。

    10. 按一下「建立」,完成帳戶連結器的建立作業。

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_ENTERPRISEGITLAB_ENTERPRISEBITBUCKET_DATA_CENTER

  • HOST_URI,並將其替換為原始碼管理系統的網址。

  • AUTH_URI,並使用該網址向所選 SCM 供應商進行驗證。

    例如:

    • GitHub Enterprise:https://<host_name>/login/oauth/authorize

    • 自行託管的 GitLab:https://<host_name>/oauth/authorize

    • BitBucket Data Center:https://<host_name>/rest/oauth2/latest/authorize

  • SCOPES,並以逗號分隔的清單,列出您要為這個帳戶連接器納入的所有供應商 OAuth 範圍。

  • TOKEN_URI,並將 URI 用於交換存取權杖的授權碼。

  • CLIENT_ID 改成 OAuth 應用程式的用戶端 ID。

  • SECRET,並使用您要連線的 SCMS 提供的密鑰。

連結帳戶

建立帳戶連接器後,您仍須將 Developer Connect 連結至供應商的帳戶,才能使用帳戶連接器。

  1. 在 Google Cloud 控制台中開啟「Developer Connect」

    前往 Developer Connect

  2. 選取「帳戶連結器」

    「帳戶連結器」頁面會列出專案中的所有帳戶連結器。

  3. 按一下要連結供應商帳戶的帳戶連結器名稱。

    系統隨即會顯示「連線器詳細資料」頁面。

  4. 按一下「連結帳戶」

    系統會顯示 OAuth 驗證對話方塊。

  5. 在對話方塊中提供資訊,向供應商驗證身分。

  6. 按一下 [授權]。

更新帳戶連接器

您可以更新現有的帳戶連結器,但只能更新該連結器的範圍、開啟或關閉 Proxy 設定,或同時更新這兩項設定。如果您更新特定帳戶連接器的範圍,系統會移除該連接器的所有現有使用者。

  1. 在 Google Cloud 控制台中開啟「Developer Connect」

    前往 Developer Connect

    Developer Connect 會顯示「Git 存放區」頁面。

  2. 選取「帳戶連結器」

    「帳戶連結器」頁面會列出專案中的所有帳戶連結器。

  3. 按一下要更新的帳戶連結器名稱。

    系統隨即會顯示「連線器詳細資料」頁面。

  4. 按一下 [編輯]

  5. 在「範圍」清單中,選取要允許這個帳戶連結器使用的範圍。

  6. 按一下 [儲存]

刪除帳戶連接器

  1. 在 Google Cloud 控制台中開啟「Developer Connect」

    前往 Developer Connect

    Developer Connect 會顯示「Git 存放區」頁面。

  2. 選取「帳戶連結器」

    「帳戶連結器」頁面會列出專案中的所有帳戶連結器。

  3. 在「更多」選單中選取「刪除」

    系統隨即會顯示「連線器詳細資料」頁面。

  4. 按一下 [編輯]

後續步驟