Esta página descreve como criar repositórios padrão do Artifact Registry.
Os repositórios padrão são repositórios para os seus artefactos privados. Carrega artefactos e transfere-os diretamente destes repositórios.
Cada repositório pode conter artefactos para um único formato suportado.
Antes de começar
- Ative o Artifact Registry, incluindo a ativação da API Artifact Registry e a instalação da CLI Google Cloud.
- (Opcional) Configure as predefinições para os comandos gcloud.
- Se precisar de chaves de encriptação geridas pelo cliente (CMEK) para encriptar o conteúdo do repositório, crie e ative uma chave no Cloud KMS para o repositório.
Funções necessárias
Para receber as autorizações de que
precisa para criar repositórios,
peça ao seu administrador para lhe conceder a
função de IAM Administrador do Artifact Registry (roles/artifactregistry.admin
)
no projeto Trusted Cloud by S3NS .
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Crie um repositório padrão
Quando cria um repositório, tem de configurar as seguintes definições que não podem ser alteradas após a criação do repositório:
- Formato do artefacto.
- Modo de repositório.
- Localização do repositório.
- Encriptação com Google Cloud-powered encryption keys ou chaves de encriptação geridas pelo cliente. O Artifact Registry usa o Google Cloud-powered encryption keys por predefinição.
O Artifact Registry aplica restrições de políticas da organização que exigem a CMEK para encriptar recursos ou limitar as chaves do Cloud KMS que podem ser usadas para proteção CMEK.
Crie um repositório através da consola Trusted Cloud
Abra a página Repositórios na Trusted Cloud consola.
Clique em Criar repositório.
Especifique o nome do repositório. Para cada localização do repositório num projeto, os nomes dos repositórios têm de ser exclusivos.
Selecione o formato do repositório.
Se estiverem disponíveis vários modos de repositório, selecione Padrão.
Escolha a localização do repositório. Para obter informações sobre os tipos de localizações e as localizações suportadas, consulte o artigo Localizações de repositórios
Adicione uma descrição para o repositório. As descrições ajudam a identificar a finalidade do repositório e o tipo de artefactos que contém.
Não inclua dados confidenciais, uma vez que as descrições dos repositórios não são encriptadas.
Se quiser usar etiquetas para organizar os seus repositórios, clique em Adicionar etiqueta e introduza o par de chave-valor para a etiqueta. Pode adicionar, editar ou remover etiquetas depois de criar o repositório.
Na secção Encriptação, escolha o mecanismo de encriptação para o repositório.
- Google Cloud-powered encryption key – Encriptar o conteúdo do repositório com um Google Cloud-powered encryption key.
Chave gerida pelo cliente: encriptar o conteúdo do repositório com uma chave que controla através do Cloud Key Management Service. Para ver instruções de configuração de chaves, consulte o artigo Configurar CMEK para repositórios.
Para repositórios Docker, a definição Etiquetas de imagens imutáveis configura o seu repositório para usar etiquetas de imagens que apontam sempre para o mesmo resumo da imagem. Um utilizador com a função de administrador do Artifact Registry pode alterar esta definição após a criação do repositório.
- Por predefinição, esta definição está desativada. As etiquetas de imagens são mutáveis, o que significa que o resumo da imagem para o qual a etiqueta aponta pode mudar.
- Se esta definição estiver ativada, as etiquetas de imagem são imutáveis. Uma etiqueta tem de apontar sempre para o mesmo resumo da imagem. Para saber mais acerca das etiquetas de imagens mutáveis e imutáveis, consulte o artigo Versões de imagens de contentores.
Clique em Criar.
O Artifact Registry cria o repositório e adiciona-o à lista de repositórios.
Depois de criar o repositório:
- Conceda acesso ao repositório.
Configure o Docker e outros clientes de terceiros para autenticar em repositórios.
Crie um repositório com a Google Cloud CLI
Execute o comando para criar um novo repositório.
Apt
gcloud artifacts repositories create REPOSITORY \ --repository-format=apt \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Substitua o seguinte:
REPOSITORY
: o nome do repositório. Para cada localização do repositório num projeto, os nomes dos repositórios têm de ser exclusivos.LOCATION
: a localização regional do repositório. Pode omitir esta sinalização se definir uma predefinição. Para ver uma lista de localizações suportadas, execute o comando:gcloud artifacts locations list
DESCRIPTION
: uma descrição do repositório. Não inclua dados confidenciais, uma vez que as descrições dos repositórios não são encriptadas.KMS-KEY
: o caminho completo para a chave de encriptação do Cloud KMS, se estiver a usar uma chave de encriptação gerida pelo cliente para encriptar o conteúdo do repositório. O caminho está no formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Substitua o seguinte:
KMS-PROJECT
: o projeto onde a chave está armazenada.KMS-LOCATION
: a localização da chave.KEY-RING
: o nome do conjunto de chaves.KEY
: o nome da chave.
--async
: devolve imediatamente, sem aguardar a conclusão da operação em curso.
Docker
gcloud artifacts repositories create REPOSITORY \
--repository-format=docker \
--location=LOCATION \
--description="DESCRIPTION" \
--kms-key=KMS-KEY \
--immutable-tags \
--async \
--disable-vulnerability-scanning
Substitua o seguinte:
REPOSITORY
: o nome do repositório. Para cada localização do repositório num projeto, os nomes dos repositórios têm de ser exclusivos.LOCATION
: a localização regional do repositório. Pode omitir esta sinalização se definir uma localização predefinida. Para ver uma lista de localizações suportadas, execute o comando:gcloud artifacts locations list
DESCRIPTION
: uma descrição do repositório. Não inclua dados confidenciais, uma vez que as descrições dos repositórios não são encriptadas.KMS-KEY
: o caminho completo para a chave de encriptação do Cloud KMS, se estiver a usar uma chave de encriptação gerida pelo cliente para encriptar o conteúdo do repositório. O caminho está no formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Substitua o seguinte:
KMS-PROJECT
: o projeto onde a chave está armazenada.KMS-LOCATION
: a localização da chave.KEY-RING
: o nome do conjunto de chaves.KEY
: o nome da chave.
--immutable-tags
é uma flag opcional que configura o seu repositório para usar etiquetas que apontam sempre para o mesmo resumo da imagem.Por predefinição, quando a flag
--immutable-tags
não é transmitida, uma etiqueta pode ser movida para outro resumo da imagem. Para saber mais sobre as etiquetas de imagens imutáveis e mutáveis, consulte o artigo Versões de imagens de contentores.--async
é devolvido imediatamente, sem aguardar a conclusão da operação em curso.
Yum
gcloud artifacts repositories create REPOSITORY \ --repository-format=yum \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Substitua o seguinte:
REPOSITORY
: o nome do repositório. Para cada localização do repositório num projeto, os nomes dos repositórios têm de ser exclusivos.LOCATION
: a localização regional do repositório. Pode omitir esta sinalização se definir uma predefinição. Para ver uma lista de localizações suportadas, execute o comando:gcloud artifacts locations list
DESCRIPTION
: uma descrição do repositório. Não inclua dados confidenciais, uma vez que as descrições dos repositórios não são encriptadas.KMS-KEY
: o caminho completo para a chave de encriptação do Cloud KMS, se estiver a usar uma chave de encriptação gerida pelo cliente para encriptar o conteúdo do repositório. O caminho está no formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Substitua o seguinte:
KMS-PROJECT
: o projeto onde a chave está armazenada.KMS-LOCATION
: a localização da chave.KEY-RING
: o nome do conjunto de chaves.KEY
: o nome da chave.
--async
: devolve imediatamente, sem aguardar a conclusão da operação em curso.
O Artifact Registry cria o seu repositório. Execute o seguinte comando para ver uma descrição do repositório:
gcloud artifacts repositories describe REPOSITORY \
--location=LOCATION
Depois de criar o repositório:
- Conceda acesso ao repositório.
Configure o Docker e outros clientes de terceiros para autenticar em repositórios.
Crie um repositório com o Terraform
Use o recurso google_artifact_registry_repository para criar repositórios.
É necessária a versão terraform-provider-google
5.0.0
ou mais recente.
Se for a primeira vez que usa o Terraform para o Trusted Cloud by S3NS, consulte a página Introdução - Trusted Cloud by S3NS no Website da HashiCorp.
O exemplo seguinte define o fornecedor e um repositório com o nome do recurso do 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" }
Substitua o seguinte:
PROJECT-ID
é o Trusted Cloud ID do projeto.LOCATION
é a localização do repositório.REPOSITORY
é o nome do repositório.DESCRIPTION
é a descrição opcional do repositório. Não inclua dados confidenciais, uma vez que as descrições dos repositórios não são encriptadas.KEY
é o nome da chave do Cloud Key Management Service, se estiver a usar chaves de encriptação geridas pelo cliente (CMEK) para encriptação. Omita este argumento para usar a predefinição, ou seja, as chaves de encriptação geridas pela 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" }
Substitua o seguinte:
PROJECT-ID
é o Trusted Cloud ID do projeto.LOCATION
é a localização do repositório.REPOSITORY
é o nome do repositório.DESCRIPTION
é a descrição opcional do repositório. Não inclua dados confidenciais, uma vez que as descrições dos repositórios não são encriptadas.KEY
é o nome da chave do Cloud Key Management Service, se estiver a usar chaves de encriptação geridas pelo cliente (CMEK) para encriptação. Omita este argumento para usar a predefinição, ou seja, as chaves de encriptação geridas pela 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" }
Substitua o seguinte:
PROJECT-ID
é o Trusted Cloud ID do projeto.LOCATION
é a localização do repositório.REPOSITORY
é o nome do repositório.DESCRIPTION
é a descrição opcional do repositório. Não inclua dados confidenciais, uma vez que as descrições dos repositórios não são encriptadas.KEY
é o nome da chave do Cloud Key Management Service, se estiver a usar chaves de encriptação geridas pelo cliente (CMEK) para encriptação. Omita este argumento para usar a predefinição, ou seja, as chaves de encriptação geridas pela Google.
O Artifact Registry cria o seu repositório. Execute o seguinte comando para ver uma descrição do repositório:
gcloud artifacts repositories describe REPOSITORY \
--location=LOCATION
Depois de criar o repositório:
- Conceda acesso ao repositório.
Configure o Docker e outros clientes de terceiros para autenticar em repositórios.
Edite as descrições dos repositórios
Pode alterar a descrição do repositório a partir da Trusted Cloud consola ou da CLI gcloud.
Consola
Abra a página Repositórios na Trusted Cloud consola.
Na lista de repositórios, selecione o repositório e clique em Editar repositório.
Edite a descrição do repositório e, de seguida, clique em Guardar.
gcloud
Para atualizar a descrição do repositório, execute o comando:
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT \
--location=LOCATION \
--description="DESCRIPTION"
Substitua o seguinte:
REPOSITORY
: o nome do repositório. Se configurou um repositório predefinido, pode omitir esta flag para usar a predefinição.PROJECT
: o Trusted Cloud by S3NS ID do projeto. Se esta flag for omitida, é usado o projeto atual ou predefinido.-
LOCATION
é a localização regional do repositório. Use esta flag para ver repositórios numa localização específica. Se tiver configurado uma localização predefinida, pode omitir esta flag para usar a predefinição. DESCRIPTION
: uma descrição do repositório.