向上游來源驗證連接器存放區

為 Artifact Registry 連接器存放區設定上游驗證,即可使用帳戶憑證連線至私人外部登錄。您可以將個人存取權杖儲存在 Secret Manager 中,並附加至連接器存放區,以驗證對上游來源的要求。

如要完成這些步驟,您需要 Artifact Registry 連接器存放區,以及具有外部來源的帳戶。如要進一步瞭解連接器存放區,請參閱「連接器存放區總覽」。

必要的角色

如要取得設定連結器存放區上游來源驗證所需的權限,請要求管理員授予您專案的下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

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

使用者定義的上游來源

如要為使用者定義的上游來源設定驗證,請完成下列步驟。

將存取權杖儲存在祕密中

  1. 在私人登錄檔中建立存取權杖。
  2. 在 Secret Manager 中建立密鑰。
  3. 將個人存取權杖儲存為密鑰版本。

授予 Artifact Registry 服務帳戶存取密鑰的權限

Artifact Registry 服務代理會在與 Cloud de Confiance 服務互動時,代表 Artifact Registry 執行動作。如要允許服務代理使用儲存在 Secret Manager 中的密鑰,您必須授予服務代理檢視密鑰版本的權限。

服務代理 ID 為:

service-PROJECT-NUMBER@gcp-sa-artifactregistry.s3ns-system.iam.gserviceaccount.com

PROJECT-NUMBER 是 Artifact Registry 執行的 Cloud de Confiance 專案「專案編號」。

如要將 Secret Manager 密鑰存取者角色授予 Artifact Registry 服務代理:

控制台

  1. 前往 Cloud de Confiance 控制台的「Secret Manager」頁面。

    前往「Secret Manager」頁面

  2. 在「Secret Manager」頁面,按一下密鑰名稱旁的核取方塊。

  3. 若面板尚未開啟,請按一下「Show Info Panel」(顯示資訊面板) 以開啟面板。

  4. 在資訊面板中,按一下「Add Principal」(新增主體)。

  5. 在「New principals」(新增主體) 文字區域中,輸入要新增成員的電子郵件地址。

  6. 在「Select a role」(請選擇角色) 下拉式選單中,依序選擇「Secret Manager」和「Secret Manager Secret Accessor」(Secret Manager 密鑰存取者)。

gcloud

$ gcloud secrets add-iam-policy-binding secret-id \
    --member="member" \
    --role="roles/secretmanager.secretAccessor"

其中 member 是IAM 成員,例如使用者、群組或服務帳戶。

API

注意:與其他範例不同,這個範例會取代整個 IAM 政策。

$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:setIamPolicy" \
    --request "POST" \
    --header "authorization: Bearer $(gcloud auth print-access-token)" \
    --header "content-type: application/json" \
    --data "{\"policy\": {\"bindings\": [{\"members\": [\"member\"], \"role\": \"roles/secretmanager.secretAccessor\"}]}}"

如要進一步瞭解如何授予或撤銷密鑰存取權,請參閱「管理密鑰存取權」。

將上游憑證新增至連接器存放區

如要使用上游來源憑證更新連接器存放區,請按照下列步驟操作:

控制台

  1. 在 Cloud de Confiance 控制台中開啟「Repositories」(存放區) 頁面。

    開啟「存放區」頁面

  2. 在存放區清單中選取存放區,然後按一下「Edit Repository」(編輯存放區)。

  3. 在「連接器存放區驗證模式」部分,更新或新增上游來源使用者名稱,以及含有存取權杖的密鑰。

gcloud CLI

如要使用上游來源憑證更新連接器存放區,請執行下列指令:

gcloud artifacts repositories update REPOSITORY \
    --project=PROJECT_ID \
    --location=LOCATION \
    --remote-username=USERNAME \
    --remote-password-secret-version=projects/SECRET_PROJECT_ID/secrets/SECRET_ID/versions/SECRET_VERSION

更改下列內容:

  • REPOSITORY:Artifact Registry 連接器存放區的名稱。
  • PROJECT_ID:您的 Cloud de Confiance 專案 ID。
  • LOCATION:存放區的區域或多區域位置。如果設定 default,可以省略這個旗標。如要查看支援的地點清單,請執行 gcloud artifacts locations list 指令。
  • USERNAME:上游來源的使用者名稱。
  • SECRET_PROJECT_ID:您建立密鑰的專案 ID。
  • SECRET_ID:您為密鑰指定的名稱。
  • SECRET_VERSION:您儲存存取權杖的 Secret 版本。

下次連接器存放區從上游來源要求構件時,系統就會使用您的憑證。