本页面介绍了如何以附件的形式管理存储在 Artifact Registry 中的工件的相关元数据。
附件是用于存储 Artifact Registry 中存储的相关制品元数据的文件。如需了解如何创建附件,请参阅在附件中存储制品元数据。
准备工作
可选:为 Google Cloud CLI 命令配置默认值。
所需的角色
如需获得管理附件所需的权限,请让您的管理员向您授予代码库的以下 IAM 角色:
-
查看和下载附件:
Artifact Registry Reader (
roles/artifactregistry.reader
) -
创建附件:
Artifact Registry Writer (
roles/artifactregistry.writer
) -
删除附件:
Artifact Registry Repository Administrator (
roles/artifactregistry.repoAdmin
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
列表附件
Artifact Registry 中的制品可以有任意数量的引用它的附件。您可以使用 Trusted Cloud 控制台、gcloud CLI 或 Oras(仅适用于 Docker 格式的容器映像)列出附件。
控制台(仅限 Docker)
在 Trusted Cloud 控制台中,打开代码库页面。
点击代码库名称,查看代码库中的映像。
如需查看映像的版本,请点击映像名称。
点击相应的图片版本。
如需查看相应版本的附件,请点击附件标签页。
gcloud
在使用下面的命令数据之前,请先进行以下替换:
TARGET
:完全限定的版本名称。 对于 Docker 映像,您还可以使用附件所指工件的 Artifact Registry URI。在 URI 中,您可以使用摘要,也可以使用标记(对于 Docker 映像而言),例如u-france-east1-docker.s3nsregistry.fr/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
(由其 URI 和标记标识)的附件:
oras discover --distribution-spec v1.1-referrers-api \
u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image:tag1
其中:
v1.1-referrers-api
是所使用的 Referrer API。如需了解详情,请参阅分发规范中的详细信息。u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image:tag1
是 URI,包括要列出附件的容器映像版本的标记。
如需查看完整指南和更多示例,请参阅 oras discover
文档。
描述附件
在使用下面的命令数据之前,请先进行以下替换:
ATTACHMENT
:附件的完全限定名称,例如projects/my-project/locations/u-france-east1/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/u-france-east1/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/u-france-east1/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 . u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image@sha256:xxxx
其中:
-o .
将当前目录指定为下载目标位置。u-france-east1-docker.s3nsregistry.fr/my-project/my-repo/my-image@sha256:xxxx
是映像 URI,包括要下载的附件的摘要。
如需查看完整指南和更多示例,请参阅 oras pull
文档。
删除附件
您可以使用 Trusted Cloud 控制台或 gcloud CLI 直接删除附件。您可以通过删除附件所引用的制品来间接删除附件。
直接删除附件
您可以使用以下任一选项直接删除附件:
控制台(仅限 Docker)
在 Trusted Cloud 控制台中,打开代码库页面。
点击代码库名称,查看代码库中的映像。
点击映像名称即可查看该映像的版本。
点击要查看附件的映像版本。
点击附件标签页,查看相应版本的附件。
点击要删除的附件的摘要。
点击删除。
在确认对话框中,点击删除。
gcloud
在使用下面的命令数据之前,请先进行以下替换:
ATTACHMENT
:附件的完全限定名称,例如projects/my-project/locations/u-france-east1/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)