本頁面說明如何管理與儲存在 Artifact Registry 中以附件形式儲存的構件相關的中繼資料。
附件是指儲存相關構件中繼資料的檔案,這些構件儲存在 Artifact Registry 中。如要瞭解如何建立附件,請參閱「在附件中儲存構件中繼資料」一文。
事前準備
選用:設定 Google Cloud CLI 指令的預設值。
必要的角色
如要取得管理附件的必要權限,請要求管理員授予您存放區的下列 IAM 角色:
-
查看及下載附件:
Artifact Registry Reader (
roles/artifactregistry.reader
) -
建立附件:
Artifact Registry Writer (
roles/artifactregistry.writer
) -
刪除附件:
Artifact Registry 存放區管理員 (
roles/artifactregistry.repoAdmin
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
清單附件
Artifact Registry 中的構件可包含任意數量的參照附件。您可以使用 Google Cloud 控制台、gcloud CLI 或 Oras (僅限 Docker 格式的容器映像檔) 來列出附件。
控制台 (僅限 Docker)
在 Google Cloud 控制台中,開啟「Repositories」頁面。
按一下存放區名稱,即可查看存放區中的圖片。
如要查看圖片的版本,請按一下圖片名稱。
按一下適當的圖片版本。
如要查看該版本的附件,請按一下「附件」分頁標籤。
gcloud
使用下列任何指令資料之前,請先替換以下項目:
TARGET
:完整版本名稱。僅限 Docker 映像檔,您也可以使用附件參照的成果物 Artifact Registry URI。在 URI 中,您可以使用摘要,或是針對 Docker 映像檔,使用標記 (例如us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
)。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud artifacts attachments list \ --target=TARGET
Windows (PowerShell)
gcloud artifacts attachments list ` --target=TARGET
Windows (cmd.exe)
gcloud artifacts attachments list ^ --target=TARGET
gcloud artifacts attachments list
指令。
Oras (僅限 Docker)
執行指令前,請先進行下列替換:
IMAGE_URI
:任何列出的附件所參照的目標圖片 URI。
oras discover --distribution-spec v1.1-referrers-api IMAGE_URI
以下範例列出容器映像檔 my-image
的連結和標記:
oras discover --distribution-spec v1.1-referrers-api \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
其中:
v1.1-referrers-api
是使用的 Referrer API。詳情請參閱發布規格中的詳細說明。us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
是 URI,其中包含要列出附件的容器映像檔版本標記。
如需完整指南和更多範例,請參閱 oras discover
說明文件。
說明附件
使用下列任何指令資料之前,請先替換以下項目:
ATTACHMENT
:附件的完整名稱,例如projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
。或者,您也可以只提供附件 ID,並使用--location
和--repository
標記。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud artifacts attachments describe ATTACHMENT
Windows (PowerShell)
gcloud artifacts attachments describe ATTACHMENT
Windows (cmd.exe)
gcloud artifacts attachments describe ATTACHMENT
gcloud artifacts attachments describe
指令。
下載附件
您可以使用 gcloud CLI 或 Oras (僅限 Docker 格式的容器映像檔) 下載附件。
gcloud
使用下列任何指令資料之前,請先替換以下項目:
ATTACHMENT
:附件的完整名稱,例如projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
。或者,您也可以只提供附件 ID,並使用--location
和--repository
標記。DESTINATION
:本機檔案系統中用來下載附件的路徑。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud artifacts attachments download ATTACHMENT \ --destination=DESTINATION
Windows (PowerShell)
gcloud artifacts attachments download ATTACHMENT ` --destination=DESTINATION
Windows (cmd.exe)
gcloud artifacts attachments download ATTACHMENT ^ --destination=DESTINATION
ATTACHMENT
之外,您也可以提供 --oci-version-name
旗標,後面加上附件的完整版本名稱或 Artifact Registry URI。您可以使用摘要或標記,例如 projects/my-project/locations/us-west1/repositories/my-repo/packages/my-package/versions/sha256:abc123
。詳情請參閱
gcloud artifacts attachments download
指令。
Oras (僅限 Docker)
執行指令前,請先進行下列替換:
DESTINATION
:附件的目標目錄。ATTACHMENT_URI
:要下載的附件 URI。這是附件參照的圖片容器 URI,後面接附件專屬的 SHA。
oras pull -o DESTINATION ATTACHMENT_URI
以下範例會下載由 URI 和摘要識別的附件:
oras pull -o . us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx
其中:
-o .
會將目前的目錄命名為下載目的地。us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx
是圖片 URI,其中包含要下載的附件摘要。
如需完整指南和更多範例,請參閱 oras pull
說明文件。
刪除附件
您可以使用 Google Cloud 控制台或 gcloud CLI 直接刪除附件。您可以刪除附件所參照的構件,間接刪除附件。
直接刪除附件
你可以使用下列任一選項直接刪除附件:
控制台 (僅限 Docker)
在 Google Cloud 控制台中,開啟「Repositories」頁面。
按一下存放區名稱,即可查看存放區中的圖片。
按一下圖片名稱,即可查看該圖片的版本。
按一下要查看附件的圖片版本。
按一下「附件」分頁標籤,即可查看該版本的附件。
按一下要刪除的附件摘要。
按一下 [刪除]。
在確認對話方塊中,按一下「刪除」。
gcloud
使用下列任何指令資料之前,請先替換以下項目:
ATTACHMENT
:附件的完整名稱,例如projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
。或者,您也可以只提供附件 ID,並使用--location
和--repository
標記。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud artifacts attachments delete ATTACHMENT
Windows (PowerShell)
gcloud artifacts attachments delete ATTACHMENT
Windows (cmd.exe)
gcloud artifacts attachments delete ATTACHMENT
gcloud artifacts attachments delete
指令。
間接刪除附件
如果刪除的是人工製品,則所有附件都會一併刪除,且附件的 target
會以刪除的人工製品版本名稱為準。這項規定適用於手動刪除構件,以及清理政策造成的刪除作業。
後續步驟
- 請參閱「軟體供應鏈安全性」一文。
- 進一步瞭解軟體物料清單 (SBOM)