Nesta página, descrevemos como gerenciar metadados relacionados a um artefato armazenado no Artifact Registry como um anexo.
Anexos são arquivos que armazenam metadados sobre um artefato relacionado armazenado no Artifact Registry. Para saber como criar um anexo, consulte Armazenar metadados de artefato em anexos.
Antes de começar
Opcional: configure padrões para comandos da Google Cloud CLI.
Funções exigidas
Para conseguir as permissões necessárias para gerenciar anexos, peça ao administrador para conceder a você os seguintes papéis do IAM no repositório:
-
Ver e baixar anexos:
Leitor do Artifact Registry (
roles/artifactregistry.reader
) -
Criar anexos:
Gravador do Artifact Registry (
roles/artifactregistry.writer
) -
Excluir anexos:
Administrador do repositório do Artifact Registry (
roles/artifactregistry.repoAdmin
)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Anexos da lista
Um artefato no Artifact Registry pode ter qualquer número de anexos que se referem a ele. É possível listar anexos usando o console Google Cloud , a CLI gcloud ou, somente para imagens de contêiner no formato Docker, o Oras.
Console (somente Docker)
No console do Google Cloud , abra a página Repositórios.
Clique no nome do repositório para ver as imagens nele.
Para ver as versões de uma imagem, clique no nome dela.
Clique na versão de imagem adequada.
Para ver os anexos dessa versão, clique na guia Anexos.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
TARGET
: o nome totalmente qualificado da versão. Para imagens do Docker, também é possível usar o URI do Artifact Registry do artefato a que o anexo se refere. No URI, é possível usar o resumo ou, para imagens do Docker, a tag. Por exemplo,us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
.
Execute o seguinte comando:
Linux, macOS ou 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 (somente Docker)
Antes de executar o comando, faça a seguinte substituição:
IMAGE_URI
: o URI da imagem de destino referenciada por anexos listados.
oras discover --distribution-spec v1.1-referrers-api IMAGE_URI
O exemplo a seguir lista anexos para uma imagem de contêiner, my-image
,
identificada pelo URI e pela tag:
oras discover --distribution-spec v1.1-referrers-api \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
Em que:
v1.1-referrers-api
é a API Referrer usada. Para mais informações, consulte os detalhes na especificação de distribuição.us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
é o URI que inclui a tag da versão da imagem do contêiner para listar anexos.
Para um guia completo e mais exemplos, consulte a documentação do oras discover
.
Descrever anexos
Antes de usar os dados do comando abaixo, faça estas substituições:
ATTACHMENT
: o nome totalmente qualificado do anexo, comoprojects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. Como alternativa, forneça apenas o ID do anexo e use as flags--location
e--repository
.
Execute o seguinte comando:
Linux, macOS ou 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
.
Baixar anexos
É possível fazer o download de anexos usando a CLI gcloud ou, apenas para imagens de contêiner no formato Docker, o Oras.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
ATTACHMENT
: o nome totalmente qualificado do anexo, comoprojects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. Como alternativa, forneça apenas o ID do anexo e use as flags--location
e--repository
.DESTINATION
: o caminho no sistema de arquivos local para fazer o download do anexo.
Execute o seguinte comando:
Linux, macOS ou 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
, você pode fornecer a flag
--oci-version-name
seguida pelo nome completo da versão do anexo ou pelo
URI do Artifact Registry. Você pode usar o resumo ou a tag, por exemplo, projects/my-project/locations/us-west1/repositories/my-repo/packages/my-package/versions/sha256:abc123
.Para mais informações, consulte o comando
gcloud artifacts attachments download
.
Oras (somente Docker)
Antes de executar o comando, faça estas substituições:
DESTINATION
: o diretório de destino do anexo.ATTACHMENT_URI
: o URI do anexo a ser baixado. Esse é o URI do contêiner de imagem a que o anexo se refere, seguido pelo SHA exclusivo do anexo.
oras pull -o DESTINATION ATTACHMENT_URI
O exemplo a seguir faz o download de um anexo identificado pelo URI e resumo dele:
oras pull -o . us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx
Em que:
-o .
nomeia o diretório atual como o destino do download.us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx
é o URI da imagem, incluindo o resumo do anexo a ser baixado.
Para um guia completo e mais exemplos, consulte a documentação do oras pull
.
Excluir anexos
É possível excluir anexos diretamente usando o console Google Cloud ou a CLI gcloud. É possível excluir anexos indiretamente excluindo o artefato a que ele se refere.
Excluir anexos diretamente
É possível excluir anexos diretamente com uma das seguintes opções:
Console (somente Docker)
No console do Google Cloud , abra a página Repositórios.
Clique no nome do repositório para ver as imagens nele.
Clique no nome da imagem para ver as versões dela.
Clique na versão da imagem para ver os anexos.
Clique na guia Anexos para ver os anexos dessa versão.
Clique no resumo do anexo que você quer excluir.
Clique em EXCLUIR.
Na caixa de diálogo de confirmação, clique em EXCLUIR.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
ATTACHMENT
: o nome totalmente qualificado do anexo, comoprojects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. Como alternativa, forneça apenas o ID do anexo e use as flags--location
e--repository
.
Execute o seguinte comando:
Linux, macOS ou 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
.
Excluir anexos indiretamente
Se um artefato for excluído, todos os anexos com o nome da versão do artefato excluído como target
também serão excluídos. Isso se aplica tanto à exclusão manual de artefatos quanto às exclusões causadas por políticas de limpeza.
A seguir
- Leia sobre a segurança da cadeia de suprimentos de software.
- Saiba mais sobre a lista de materiais de software (SBOM)