本文說明如何向 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 專案專案編號。
如要授予 Artifact Registry 服務代理程式「Secret Manager 密鑰存取者」角色,請按照下列步驟操作:
控制台
-
前往 Google Cloud 控制台的「Secret Manager」頁面。
-
在「Secret Manager」頁面中,按一下密鑰名稱旁的核取方塊。
-
如果面板尚未開啟,請按一下「Show Info Panel」(顯示資訊面板) 開啟面板。
-
在資訊面板中,按一下「新增主體」。
-
在「New principals」(新增主體) 文字區域中,輸入要新增成員的電子郵件地址。
-
在「Select a role」(請選擇角色) 下拉式選單中,依序選擇「Secret Manager」和「Secret Manager Secret Accessor」。
gcloud
$ gcloud secrets add-iam-policy-binding secret-id \
--member="member" \
--role="roles/secretmanager.secretAccessor"
其中 member 是IAM 成員,例如使用者、群組或服務帳戶。
C#
如要向 Artifact Registry 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Go
如要向 Artifact Registry 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要向 Artifact Registry 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要向 Artifact Registry 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
PHP
如要向 Artifact Registry 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要向 Artifact Registry 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Ruby
如要向 Artifact Registry 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
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
更改下列內容:
下次遠端存放區從上游來源要求構件時,系統就會使用您的憑證。
後續步驟
- 建立資源清理政策,清理不需要的構件。