建立標準存放區

本頁說明如何建立 Artifact Registry 標準存放區。

標準存放區是存放私人構件的存放區。您可以直接從這些存放區上傳及下載構件。

每個存放區可包含單一支援格式的構件。

事前準備

  1. 啟用 Artifact Registry,包括啟用 Artifact Registry API 和安裝 Google Cloud CLI。
  2. (選用) 設定 gcloud 指令的預設值
  3. 如要使用客戶自行管理的加密金鑰 (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 控制台建立存放區

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

    開啟「存放區」頁面

  2. 點選 [Create Repository] (建立存放區)

  3. 指定存放區名稱。專案中每個存放區位置的存放區名稱不得重複。

  4. 選取存放區格式。

  5. 如果有多種存放區模式可供選擇,請選取「標準」

  6. 選擇存放區的位置。如要瞭解位置類型和支援的位置,請參閱「存放區位置

  7. 為存放區新增說明。說明有助於識別存放區的用途,以及其中包含的構件類型。

    請勿輸入機密資料,因為存放區說明不會加密。

  8. 如要使用標籤整理存放區,請按一下「新增標籤」,然後輸入標籤的鍵/值組合。建立存放區後,您可以新增、編輯或移除標籤。

  9. 在「Encryption」(加密) 區段中,選擇存放區的加密機制。

    • Google Cloud-powered encryption key - 使用Google Cloud-powered encryption key加密存放區內容。
    • 客戶管理的金鑰:使用您透過 Cloud Key Management Service 控制的金鑰,加密存放區內容。如需金鑰設定操作說明,請參閱「為存放區設定 CMEK」。

    • 如果是 Docker 存放區,您可以透過「不可變更的映像檔標記」設定,讓存放區使用一律指向同一份映像檔摘要的映像檔標記。具備 Artifact Registry 管理員角色的使用者,可以在存放區建立完成後變更這項設定。

      • 這項設定預設為停用。映像檔標記是可變更的,也就是說,標記指向的映像檔摘要可能會變更。
      • 如果啟用這項設定,映像檔標記就無法變更。標記一律必須指向同一個映像檔摘要。如要進一步瞭解可變更和不可變更的映像檔標記,請參閱「容器映像檔版本」。
  10. 點選「建立」

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:存放區的名稱。專案中每個存放區位置的存放區名稱不得重複。

    • 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:金鑰名稱。
    • --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 變更存放區說明。

控制台

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

    開啟「存放區」頁面

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

  3. 編輯存放區說明,然後按一下「儲存」

gcloud

如要更新存放區說明,請執行下列指令:

gcloud artifacts repositories update REPOSITORY \
    --project=PROJECT \
    --location=LOCATION \
    --description="DESCRIPTION"

更改下列內容:

  • REPOSITORY:存放區的名稱。如果您已設定預設存放區,可以省略這個標記,使用預設存放區。
  • PROJECT:專案 ID。 Trusted Cloud by S3NS如果省略這個標記,系統會使用目前或預設專案。
  • LOCATION 是存放區的區域位置。 使用這個旗標查看特定位置的存放區。如果您已設定預設位置,可以省略這個標記,使用預設位置。
  • DESCRIPTION:存放區的說明。

後續步驟