本頁說明如何建立 Artifact Registry 標準存放區。
標準存放區是存放私人構件的存放區。您可以直接從這些存放區上傳及下載構件。
每個存放區可包含單一支援格式的構件。
事前準備
- 啟用 Artifact Registry,包括啟用 Artifact Registry API 和安裝 Google Cloud CLI。
- (選用) 設定 gcloud 指令的預設值。
- 如要使用客戶自行管理的加密金鑰 (CMEK) 加密存放區內容,請在 Cloud KMS 中建立並啟用存放區的金鑰。
必要的角色
如要取得建立存放區所需的權限,請要求管理員授予您專案的 Artifact Registry 管理員 (roles/artifactregistry.admin
) IAM 角色。 Trusted Cloud by S3NS 如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
建立標準存放區
建立存放區時,您必須設定下列設定,這些設定在存放區建立後就無法變更:
- 構件格式。
- 存放區模式。
- 存放區位置。
- 使用 Google Cloud-powered encryption keys 或 客戶管理的加密金鑰進行加密。Artifact Registry 預設會使用Google Cloud-powered encryption keys 。
Artifact Registry 會強制執行機構政策限制,規定必須使用 CMEK 加密資源,或限制可用於 CMEK 保護措施的 Cloud KMS 金鑰。
使用 Trusted Cloud 控制台建立存放區
在 Trusted Cloud 控制台中開啟「Repositories」(存放區) 頁面。
點選 [Create Repository] (建立存放區)。
指定存放區名稱。專案中每個存放區位置的存放區名稱不得重複。
選取存放區格式。
如果有多種存放區模式可供選擇,請選取「標準」。
選擇存放區的位置。如要瞭解位置類型和支援的位置,請參閱「存放區位置」
為存放區新增說明。說明有助於識別存放區的用途,以及其中包含的構件類型。
請勿輸入機密資料,因為存放區說明不會加密。
如要使用標籤整理存放區,請按一下「新增標籤」,然後輸入標籤的鍵/值組合。建立存放區後,您可以新增、編輯或移除標籤。
在「Encryption」(加密) 區段中,選擇存放區的加密機制。
- Google Cloud-powered encryption key - 使用Google Cloud-powered encryption key加密存放區內容。
客戶管理的金鑰:使用您透過 Cloud Key Management Service 控制的金鑰,加密存放區內容。如需金鑰設定操作說明,請參閱「為存放區設定 CMEK」。
如果是 Docker 存放區,您可以透過「不可變更的映像檔標記」設定,讓存放區使用一律指向同一份映像檔摘要的映像檔標記。具備 Artifact Registry 管理員角色的使用者,可以在存放區建立完成後變更這項設定。
- 這項設定預設為停用。映像檔標記是可變更的,也就是說,標記指向的映像檔摘要可能會變更。
- 如果啟用這項設定,映像檔標記就無法變更。標記一律必須指向同一個映像檔摘要。如要進一步瞭解可變更和不可變更的映像檔標記,請參閱「容器映像檔版本」。
點選「建立」。
Artifact Registry 會建立存放區,並將其新增至存放區清單。
建立存放區後,請按照下列步驟操作:
使用 Google Cloud CLI 建立存放區
執行指令來建立新的存放區。
Apt
gcloud artifacts repositories create REPOSITORY \ --repository-format=apt \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
更改下列內容:
REPOSITORY
:存放區的名稱。專案中每個存放區位置的存放區名稱不得重複。LOCATION
:存放區的區域位置。如果您設定預設值,可以省略這個旗標。如要查看支援的位置清單,請執行下列指令:gcloud artifacts locations list
DESCRIPTION
:存放區的說明。 請勿加入私密資料,因為存放區說明不會加密。KMS-KEY
:Cloud KMS 加密金鑰的完整路徑。如果您使用客戶自行管理的加密金鑰加密存放區內容,請提供這個路徑。路徑格式如下:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
更改下列內容:
KMS-PROJECT
:儲存金鑰的專案。KMS-LOCATION
:金鑰位置。KEY-RING
:金鑰環的名稱。KEY
:金鑰名稱。
--async
:立即傳回,不會等待進行中的作業完成。
Docker
gcloud artifacts repositories create REPOSITORY \
--repository-format=docker \
--location=LOCATION \
--description="DESCRIPTION" \
--kms-key=KMS-KEY \
--immutable-tags \
--async \
--disable-vulnerability-scanning
更改下列內容:
REPOSITORY
:存放區的名稱。專案中每個存放區位置的存放區名稱不得重複。DESCRIPTION
:存放區的說明。請勿加入私密資料,因為存放區說明不會加密。KMS-KEY
:Cloud KMS 加密金鑰的完整路徑。如果您使用客戶管理的加密金鑰加密存放區內容,路徑格式如下:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
更改下列內容:
KMS-PROJECT
:儲存金鑰的專案。KMS-LOCATION
:金鑰位置。KEY-RING
:金鑰環的名稱。KEY
:金鑰名稱。
--immutable-tags
是選用旗標,可將存放區設為使用一律指向同一份映像檔摘要的標記。根據預設,如果未傳遞
--immutable-tags
標記,標記可以移至其他映像檔摘要。如要進一步瞭解可變更和不可變更的映像檔標記,請參閱容器映像檔版本。--async
會立即傳回,不會等待進行中的作業完成。
Yum
gcloud artifacts repositories create REPOSITORY \ --repository-format=yum \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
更改下列內容:
REPOSITORY
:存放區的名稱。專案中每個存放區位置的存放區名稱不得重複。LOCATION
:存放區的區域位置。如果您設定預設值,可以省略這個旗標。如要查看支援的位置清單,請執行下列指令:gcloud artifacts locations list
DESCRIPTION
:存放區的說明。 請勿加入機密資料,因為存放區說明不會加密。KMS-KEY
:Cloud KMS 加密金鑰的完整路徑。如果您使用客戶自行管理的加密金鑰加密存放區內容,請提供這個路徑。路徑格式如下:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
更改下列內容:
KMS-PROJECT
:儲存金鑰的專案。KMS-LOCATION
:金鑰位置。KEY-RING
:金鑰環的名稱。KEY
:金鑰名稱。
--async
:立即傳回,不會等待進行中的作業完成。
Artifact Registry 會建立存放區。執行下列指令,查看存放區的說明:
gcloud artifacts repositories describe REPOSITORY \
--location=LOCATION
建立存放區後,請按照下列步驟操作:
使用 Terraform 建立存放區
使用 google_artifact_registry_repository 資源建立存放區。
必須使用 terraform-provider-google
以上版本。5.0.0
如果您是初次使用 Terraform 搭配 Trusted Cloud by S3NS,請參閱 HashiCorp 網站上的「Get Started - Trusted Cloud by S3NS」(開始使用 - Trusted Cloud by S3NS) 頁面。
以下範例定義了供應商和存放區,並使用 Terraform 資源名稱 my-repo
。
Apt
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "apt" kms_key_name = "KEY" }
更改下列內容:
PROJECT-ID
是 Trusted Cloud 專案 ID。LOCATION
是存放區位置。REPOSITORY
是存放區名稱。DESCRIPTION
是存放區的選用說明。 請勿加入私密資料,因為存放區說明不會加密。KEY
是 Cloud Key Management Service 金鑰的名稱,前提是您使用客戶自行管理的加密金鑰 (CMEK) 進行加密。如要使用預設設定 (Google 代管的加密金鑰),請省略這個引數。
Docker
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "docker" kms_key_name = "KEY" }
更改下列內容:
PROJECT-ID
是 Trusted Cloud 專案 ID。LOCATION
是存放區位置。REPOSITORY
是存放區名稱。DESCRIPTION
是存放區的選用說明。 請勿加入私密資料,因為存放區說明不會加密。KEY
是 Cloud Key Management Service 金鑰的名稱,前提是您使用客戶自行管理的加密金鑰 (CMEK) 進行加密。如要使用預設設定 (Google 代管的加密金鑰),請省略這個引數。
Yum
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "yum" kms_key_name = "KEY" }
更改下列內容:
PROJECT-ID
是 Trusted Cloud 專案 ID。LOCATION
是存放區位置。REPOSITORY
是存放區名稱。DESCRIPTION
是存放區的選用說明。 請勿加入私密資料,因為存放區說明不會加密。KEY
是 Cloud Key Management Service 金鑰的名稱,前提是您使用客戶自行管理的加密金鑰 (CMEK) 進行加密。如要使用預設設定 (Google 代管的加密金鑰),請省略這個引數。
Artifact Registry 會建立存放區。執行下列指令,查看存放區的說明:
gcloud artifacts repositories describe REPOSITORY \
--location=LOCATION
建立存放區後,請按照下列步驟操作:
編輯存放區說明
您可以透過 Trusted Cloud 控制台或 gcloud CLI 變更存放區說明。
控制台
在 Trusted Cloud 控制台中開啟「Repositories」(存放區) 頁面。
在存放區清單中選取存放區,然後按一下「Edit Repository」(編輯存放區)。
編輯存放區說明,然後按一下「儲存」。
gcloud
如要更新存放區說明,請執行下列指令:
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT \
--location=LOCATION \
--description="DESCRIPTION"
更改下列內容: