Crea repositorios estándar

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

Los repositorios estándar son repositorios para tus artefactos privados. Subes artefactos a estos repositorios y los descargas directamente desde ellos.

Cada repositorio puede contener artefactos para un solo formato compatible.

Antes de comenzar

  1. Habilita Artifact Registry, incluida la habilitación de la API de Artifact Registry y la instalación de Google Cloud CLI.
  2. (Opcional) Configura valores predeterminados para los comandos de gcloud.
  3. Si necesitas claves de encriptación administradas 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, pídele a tu administrador que te otorgue el rol de IAM de administrador de Artifact Registry (roles/artifactregistry.admin) en el proyecto Trusted Cloud by S3NS . Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Crea un repositorio estándar

Cuando creas un repositorio, debes configurar los siguientes parámetros que no se pueden cambiar después de crear el repositorio:

  • Es el formato del artefacto.
  • Modo de repositorio.

Artifact Registry aplica restricciones de políticas de la organización que requieren CMEK para encriptar recursos o limitar las claves de Cloud KMS que se pueden usar para la protección de CMEK.

Crea un repositorio con la consola de Trusted Cloud

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

    Abrir la página repositorios

  2. Haz clic en Crear repositorio.

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

  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 ubicación y las ubicaciones compatibles, consulta Ubicaciones de repositorios.

  7. Agrega una descripción para el repositorio. Las descripciones ayudan a identificar el propósito del repositorio y el tipo de artefactos que contiene.

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

  8. Si deseas usar etiquetas para organizar tus repositorios, haz clic en Agregar etiqueta y, luego, ingresa el par clave-valor de la etiqueta. Puedes agregar, editar o quitar etiquetas después de crear el repositorio.

  9. En la sección Encryption, elige el mecanismo de encriptación para el repositorio.

    • Google Cloud-powered encryption key: Encripta el contenido del repositorio con unGoogle Cloud-powered encryption key.
    • Clave administrada por el cliente: Encripta el contenido de un repositorio mediante una clave que controlas a través de Cloud Key Management Service. Si deseas obtener instrucciones para la configuración de claves, consulta Configura CMEK para repositorios.

    • En el caso de los repositorios de Docker, el parámetro de configuración Immutable image tags configura tu repositorio para que use etiquetas de imagen que siempre apunten al mismo resumen de imágenes. Un usuario con el rol de administrador de Artifact Registry puede cambiar este parámetro de configuración después de que se cree el repositorio.

      • Este parámetro de configuración está inhabilitado de forma predeterminada. Las etiquetas de imagen son mutables, lo que significa que el resumen de imágenes al que apunta la etiqueta puede cambiar.
      • Si se habilita este parámetro de configuración, las etiquetas de imagen serán inmutables. Una etiqueta siempre debe apuntar al mismo resumen de imágenes. 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 agrega a la lista de repositorios.

Después de crear el repositorio, haz lo siguiente:

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

Crea un repositorio con Google Cloud CLI

Ejecuta el comando para crear un repositorio nuevo.

Apt

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

Reemplaza lo siguiente:

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

    Reemplaza lo siguiente:

    • KMS-PROJECT: Es el proyecto en el que se almacena tu clave.
    • KMS-LOCATION: es la ubicación de la clave.
    • KEY-RING: es el nombre del llavero de claves.
    • KEY: el nombre de la clave.
  • --async: Se muestra de inmediato, sin necesidad de 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

Reemplaza lo siguiente:

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

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

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

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

      Reemplaza lo siguiente:

      • KMS-PROJECT: Es el proyecto en el que se almacena tu clave.
      • KMS-LOCATION: es la ubicación de la clave.
      • KEY-RING: es el nombre del llavero de claves.
      • KEY: el nombre de la clave.
    • --immutable-tags es una marca opcional que configura tu repositorio para usar etiquetas que siempre apuntan al mismo resumen de imágenes.

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

    • --async se muestra de inmediato, sin necesidad de 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
  

Reemplaza lo siguiente:

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

    Reemplaza lo siguiente:

    • KMS-PROJECT: Es el proyecto en el que se almacena tu clave.
    • KMS-LOCATION: es la ubicación de la clave.
    • KEY-RING: es el nombre del llavero de claves.
    • KEY: el nombre de la clave.
  • --async: Se muestra de inmediato, sin necesidad de esperar a que se complete la operación en curso.

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

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Después de crear el repositorio, haz lo siguiente:

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

Crea un repositorio con Terraform

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

Si es la primera vez que usas Terraform para Trusted Cloud by S3NS, consulta la página Comenzar con Trusted Cloud by S3NS en el sitio web de HashiCorp.

En el siguiente ejemplo, se definen el proveedor y un repositorio con el nombre del 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" }

Reemplaza lo siguiente:

  • 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 encriptadas.
  • KEYes el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas 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" }

Reemplaza lo siguiente:

  • 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 encriptadas.
  • KEYes el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas 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" }

Reemplaza lo siguiente:

  • 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 encriptadas.
  • KEYes el nombre de la clave de Cloud Key Management Service, si usas claves de encriptación administradas por el cliente (CMEK) para la encriptación. Omite este argumento para usar la configuración predeterminada, las claves de encriptación administradas por Google.

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

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Después de crear el repositorio, haz lo siguiente:

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

Cómo editar las descripciones de los repositorios

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

Console

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

    Abrir 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, luego, 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"

Reemplaza lo siguiente:

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

¿Qué sigue?