Crear repositorios estándar

En esta página se describe cómo crear repositorios estándar de Artifact Registry.

Los repositorios estándar son repositorios de tus artefactos privados. Puedes subir y descargar artefactos directamente desde estos repositorios.

Cada repositorio puede contener artefactos de un solo formato admitido.

Antes de empezar

  1. Habilita Artifact Registry, lo que incluye habilitar la API de Artifact Registry e instalar Google Cloud CLI.
  2. (Opcional) Configura los valores predeterminados de los comandos de gcloud.
  3. Si necesitas claves de encriptado gestionadas por el cliente (CMEK) para encriptar el contenido del repositorio, crea y habilita una clave en Cloud KMS para el repositorio.

Roles obligatorios

Para obtener los permisos que necesitas para crear repositorios, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Artifact Registry (roles/artifactregistry.admin) en el proyecto Trusted Cloud by S3NS . Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Crear un repositorio estándar

Cuando creas un repositorio, debes configurar los siguientes ajustes, que no se pueden cambiar una vez creado el repositorio:

  • Formato del artefacto.
  • Modo de repositorio.

Artifact Registry aplica restricciones de políticas de organización que requieren que se usen claves de encriptado gestionadas por el cliente (CMEK) para cifrar recursos o que limitan las claves de Cloud KMS que se pueden usar para la protección con CMEK.

Crear un repositorio con la consola de Trusted Cloud

  1. Abre la página Repositorios en la consola de Trusted Cloud .

    Abre la página Repositorios.

  2. Haz clic en Crear repositorio.

  3. Especifica el nombre del repositorio. Los nombres de los repositorios deben ser únicos en cada ubicación de repositorio de un proyecto.

  4. Selecciona el formato del repositorio.

  5. Si hay varios modos de repositorio disponibles, selecciona Estándar.

  6. Elige la ubicación del repositorio. Para obtener información sobre los tipos de ubicaciones y las ubicaciones admitidas, consulta Ubicaciones de repositorios.

  7. Añade una descripción del repositorio. Las descripciones ayudan a identificar la finalidad del repositorio y el tipo de artefactos que contiene.

    No incluyas datos sensibles, ya que las descripciones de los repositorios no están cifradas.

  8. Si quieres usar etiquetas para organizar tus repositorios, haz clic en Añadir etiqueta e introduce el par clave-valor de la etiqueta. Puedes añadir, editar o quitar etiquetas después de crear el repositorio.

  9. En la sección Cifrado, elige el mecanismo de cifrado del repositorio.

    • Google Cloud-powered encryption key: cifra el contenido del repositorio con un Google Cloud-powered encryption key.
    • Clave gestionada por el cliente: encripta el contenido del repositorio con una clave que controlas a través de Cloud Key Management Service. Para obtener instrucciones sobre cómo configurar las claves, consulta el artículo Configurar claves de cifrado gestionadas por el cliente para repositorios.

    • En los repositorios de Docker, el ajuste Etiquetas de imagen inmutables configura el repositorio para que use etiquetas de imagen que siempre apunten al mismo digest de imagen. Un usuario con el rol de administrador de Artifact Registry puede cambiar este ajuste después de crear el repositorio.

      • Esta opción está inhabilitada de forma predeterminada. Las etiquetas de imagen son mutables, lo que significa que el digest de la imagen al que apunta la etiqueta puede cambiar.
      • Si se habilita este ajuste, las etiquetas de imagen serán inmutables. Una etiqueta siempre debe apuntar a la misma síntesis de imagen. Para obtener más información sobre las etiquetas de imagen mutables e inmutables, consulta Versiones de imágenes de contenedor.
  10. Haz clic en Crear.

Artifact Registry crea el repositorio y lo añade a la lista de repositorios.

Una vez que hayas creado el repositorio, haz lo siguiente:

  • Concede acceso al repositorio.
  • Configura Docker y otros clientes de terceros para autenticarte en los repositorios.

Crear un repositorio con Google Cloud CLI

Ejecuta el comando para crear un repositorio.

Apt

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=apt \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Haz los cambios siguientes:

  • REPOSITORY: el nombre del repositorio. Los nombres de los repositorios deben ser únicos en cada ubicación de repositorio de un proyecto.
  • LOCATION: la ubicación regional del repositorio. Puedes omitir esta marca si defines un valor predeterminado. Para ver una lista de las ubicaciones admitidas, ejecuta el siguiente comando:
    gcloud artifacts locations list
  • DESCRIPTION: una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones de los repositorios no están cifradas.
  • KMS-KEY: la ruta completa a la clave de encriptado de Cloud KMS, si usas una clave de encriptado gestionada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Haz los cambios siguientes:

    • KMS-PROJECT: el proyecto en el que se almacena la clave.
    • KMS-LOCATION: la ubicación de la clave.
    • KEY-RING: el nombre del conjunto de claves.
    • KEY: el nombre de la clave.
  • --async: devuelve el valor inmediatamente, sin esperar a que se complete la operación en curso.

Docker

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=docker \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --immutable-tags \
      --async \
      --disable-vulnerability-scanning

Haz los cambios siguientes:

  • REPOSITORY: el nombre del repositorio. Los nombres de los repositorios deben ser únicos en cada ubicación de repositorio de un proyecto.

    • LOCATION: la ubicación regional del repositorio. Puedes omitir esta marca si defines una ubicación predeterminada. Para ver una lista de las ubicaciones admitidas, ejecuta el siguiente comando:

      gcloud artifacts locations list
    • DESCRIPTION: una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones de los repositorios no están cifradas.
    • KMS-KEY: la ruta completa a la clave de encriptado de Cloud KMS, si usas una clave de encriptado gestionada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:

      projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

      Haz los cambios siguientes:

      • KMS-PROJECT: el proyecto en el que se almacena la clave.
      • KMS-LOCATION: la ubicación de la clave.
      • KEY-RING: el nombre del conjunto de claves.
      • KEY: el nombre de la clave.
    • --immutable-tags es una marca opcional que configura tu repositorio para que use etiquetas que siempre apunten al mismo digest de imagen.

      De forma predeterminada, cuando no se pasa la marca --immutable-tags, una etiqueta se puede mover a otro digest de imagen. Para obtener más información sobre las etiquetas de imagen inmutables y mutables, consulte Versiones de imágenes de contenedor.

    • --async devuelve el valor inmediatamente, sin esperar a que se complete la operación en curso.

Yum

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=yum \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Haz los cambios siguientes:

  • REPOSITORY: el nombre del repositorio. Los nombres de los repositorios deben ser únicos en cada ubicación de repositorio de un proyecto.
  • LOCATION: la ubicación regional del repositorio. Puedes omitir esta marca si defines un valor predeterminado. Para ver una lista de las ubicaciones admitidas, ejecuta el siguiente comando:
    gcloud artifacts locations list
  • DESCRIPTION: una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones de los repositorios no están cifradas.
  • KMS-KEY: la ruta completa a la clave de encriptado de Cloud KMS, si usas una clave de encriptado gestionada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Haz los cambios siguientes:

    • KMS-PROJECT: el proyecto en el que se almacena la clave.
    • KMS-LOCATION: la ubicación de la clave.
    • KEY-RING: el nombre del conjunto de claves.
    • KEY: el nombre de la clave.
  • --async: devuelve el valor inmediatamente, sin esperar a que se complete la operación en curso.

Artifact Registry crea el repositorio. Ejecuta el siguiente comando para ver una descripción del repositorio:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Una vez que hayas creado el repositorio, haz lo siguiente:

  • Concede acceso al repositorio.
  • Configura Docker y otros clientes de terceros para autenticarte en los repositorios.

Crear un repositorio con Terraform

Usa el recurso google_artifact_registry_repository para crear repositorios. Se requiere la versión terraform-provider-google 5.0.0 o una posterior.

Si no has usado Terraform para Trusted Cloud by S3NS, consulta la página Empezar Trusted Cloud by S3NS del sitio web de HashiCorp.

En el siguiente ejemplo se define el proveedor y un repositorio con el nombre de recurso de 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" }

Haz los cambios siguientes:

  • PROJECT-ID es el Trusted Cloud ID del proyecto.
  • LOCATION es la ubicación del repositorio.
  • REPOSITORY es el nombre del repositorio.
  • DESCRIPTION es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones de los repositorios no están cifradas.
  • KEY es el nombre de la clave de Cloud Key Management Service si usas claves de encriptado gestionadas por el cliente (CMEK) para el encriptado. Omite este argumento para usar el ajuste predeterminado, que son las claves de cifrado gestionadas por 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" }

Haz los cambios siguientes:

  • PROJECT-ID es el Trusted Cloud ID del proyecto.
  • LOCATION es la ubicación del repositorio.
  • REPOSITORY es el nombre del repositorio.
  • DESCRIPTION es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones de los repositorios no están cifradas.
  • KEY es el nombre de la clave de Cloud Key Management Service si usas claves de encriptado gestionadas por el cliente (CMEK) para el encriptado. Omite este argumento para usar el ajuste predeterminado, que son las claves de cifrado gestionadas por 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" }

Haz los cambios siguientes:

  • PROJECT-ID es el Trusted Cloud ID del proyecto.
  • LOCATION es la ubicación del repositorio.
  • REPOSITORY es el nombre del repositorio.
  • DESCRIPTION es la descripción opcional del repositorio. No incluyas datos sensibles, ya que las descripciones de los repositorios no están cifradas.
  • KEY es el nombre de la clave de Cloud Key Management Service si usas claves de encriptado gestionadas por el cliente (CMEK) para el encriptado. Omite este argumento para usar el ajuste predeterminado, que son las claves de cifrado gestionadas por Google.

Artifact Registry crea el repositorio. Ejecuta el siguiente comando para ver una descripción del repositorio:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Una vez que hayas creado el repositorio, haz lo siguiente:

  • Concede acceso al repositorio.
  • Configura Docker y otros clientes de terceros para autenticarte en los repositorios.

Editar descripciones de repositorios

Puedes cambiar la descripción del repositorio desde la Trusted Cloud consola o la CLI de gcloud.

Consola

  1. Abre la página Repositorios en la consola de Trusted Cloud .

    Abre la página Repositorios.

  2. En la lista de repositorios, selecciona el repositorio y haz clic en Editar repositorio.

  3. Edita la descripción del repositorio y haz clic en Guardar.

gcloud

Para actualizar la descripción del repositorio, ejecuta el siguiente comando:

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

Haz los cambios siguientes:

  • REPOSITORY: el nombre del repositorio. Si has configurado un repositorio predeterminado, puedes omitir esta marca para usar el predeterminado.
  • PROJECT: el ID del proyecto. Trusted Cloud by S3NS Si se omite esta marca, se usará el proyecto actual o el predeterminado.
  • LOCATION es la ubicación regional del repositorio. Usa esta marca para ver los repositorios de una ubicación específica. Si has configurado una ubicación predeterminada, puedes omitir esta marca para usarla.
  • DESCRIPTION: una descripción del repositorio.

Siguientes pasos