本文說明如何向 Artifact Registry 連接器存放區的上游來源進行驗證。
本文假設您已建立 Artifact Registry 連接器存放區,並擁有外部來源的帳戶。
如要進一步瞭解連接器存放區,請參閱「連接器存放區總覽」。
必要的角色
如要取得設定連結器存放區上游來源驗證所需的權限,請要求管理員授予您專案的下列 IAM 角色:
- Artifact Registry 管理員 (
roles/artifactregistry.admin) - Secret Manager 管理員 (
roles/secretmanager.admin)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
使用者定義的上游來源
如要為使用者定義的上游來源設定驗證,請完成下列步驟。
將存取權杖儲存在祕密中
授予 Artifact Registry 服務帳戶密鑰存取權
Artifact Registry 服務代理人會在與服務互動時代表 Artifact Registry 執行動作。 Google Cloud 如要允許服務代理使用儲存在 Secret Manager 中的密鑰,您必須授予服務代理檢視密鑰版本的權限。
服務代理 ID 為:
service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com
PROJECT-NUMBER 是執行 Artifact Registry 的 Google Cloud 專案專案編號。
如要將 Secret Manager 密鑰存取者角色授予 Artifact Registry 服務代理:
控制台
-
前往 Google Cloud 控制台的「Secret Manager」頁面。
-
在「Secret Manager」頁面,按一下密鑰名稱旁的核取方塊。
-
若面板尚未開啟,請按一下「Show Info Panel」(顯示資訊面板) 以開啟面板。
-
在資訊面板中,按一下「Add Principal」(新增主體)。
-
在「New principals」(新增主體) 文字區域中,輸入要新增成員的電子郵件地址。
-
在「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\"}]}}"
如要進一步瞭解如何授予或撤銷密鑰存取權,請參閱「管理密鑰存取權」。
將上游憑證新增至連接器存放區
如要使用上游來源憑證更新連接器存放區,請按照下列步驟操作:
控制台
在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。
在存放區清單中選取存放區,然後按一下「Edit Repository」(編輯存放區)。
在「連接器存放區驗證模式」部分,更新或新增上游來源使用者名稱,以及含有存取權杖的密鑰。
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
更改下列內容:
下次連接器存放區從上游來源要求構件時,就會使用您的憑證。