Descarga paquetes de Java con acceso directo al repositorio

Después de integrar Assured OSS con Security Command Center, los paquetes de software de código abierto asegurado se alojan en un repositorio de Artifact Registry que se crea en un proyecto que controlas.

En esta página, se explica cómo puedes conectarte al repositorio de Artifact Registry para que Assured OSS acceda directamente a los paquetes de Java y los descargue.

Este documento se aplica solo al nivel premium de Assured OSS. Para el nivel gratuito, consulta Cómo descargar paquetes de Java con acceso directo al repositorio para el nivel gratuito.

Antes de comenzar

  1. Integra Assured OSS con Security Command Center.

  2. Valida la conectividad a Assured OSS para las cuentas de servicio solicitadas.

  3. Instala la versión más reciente de Google Cloud CLI.

  4. Si ya instalaste Google Cloud CLI, ejecuta el siguiente comando para asegurarte de tener la versión más reciente:

    gcloud components update
    

Configura la autenticación

Artifact Registry admite los siguientes métodos de autenticación:

  • Autenticación con un auxiliar de credenciales
  • Autenticación con una contraseña

En las siguientes secciones, se describe cómo configurar estos métodos de autenticación.

Autentica con un auxiliar de credenciales

Artifact Registry proporciona un wagon de Maven y un complemento de Gradle para usarlos como ayudantes de credenciales. Esta opción proporciona la mayor flexibilidad.

Para configurar las credenciales predeterminadas de la aplicación, consulta Configura la autenticación.

Configura tus ayudantes de credenciales

Si usas un asistente de credenciales para configurar la autenticación, realiza los siguientes cambios según la herramienta de compilación.

Maven

<project>
  <build>
    <extensions>
      <extension>
        <groupId>com.google.cloud.artifactregistry</groupId>
        <artifactId>artifactregistry-maven-wagon</artifactId>
        <version>2.2.0</version>
      </extension>
    </extensions>
  </build>
</project>

Gradle

plugins {
  id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.0"
}

Autentícate con una contraseña

Realiza la autenticación con una contraseña cuando la aplicación de Java requiera la autenticación con un nombre de usuario y una contraseña especificados. Según la herramienta de compilación que uses, cambia la configuración según las siguientes instrucciones:

Maven

Agrega la siguiente configuración de autenticación en la sección settings del archivo ~/.m2/settings.xml. Consulta la referencia de Configuración de Maven para obtener más información. Si el archivo ~/.m2/settings.xml no existe, crea uno nuevo.

<settings>
  <servers>
    <server>
      <id>artifact-registry</id>
      <configuration>
        <httpConfiguration>
          <get>
            <usePreemptive>true</usePreemptive>
          </get>
          <head>
            <usePreemptive>true</usePreemptive>
          </head>
          <put>
            <params>
              <property>
                <name>http.protocol.expect-continue</name>
                <value>false</value>
              </property>
            </params>
          </put>
        </httpConfiguration>
      </configuration>
      <username>_json_key_base64</username>
      <password>KEY</password>
    </server>
  </servers>
</settings>

Reemplaza KEY por la codificación base64 del archivo de claves JSON completo de la cuenta de servicio. Para hacer esto, ejecuta el siguiente comando:

cat KEY_FILE_LOCATION  | base64

Reemplaza KEY_FILE_LOCATION por la ubicación del archivo de claves JSON de la cuenta de servicio.

Gradle

Agrega la siguiente línea a tu archivo ~/.gradle/gradle.properties para que la clave no sea visible en tus compilaciones ni en tu repositorio de control de código fuente.

artifactRegistryMavenSecret = KEY

Reemplaza KEY por la clave privada del archivo de claves JSON de tu cuenta de servicio. En json_key_base64, artifactRegistryMavenSecret contiene la contraseña encriptada en base64. Por ejemplo, base64 -w 0 KEY.

En el archivo build.gradle, especifica la configuración del repositorio con el siguiente ejemplo:

repositories {
  maven {
    url "artifactregistry://us-maven.pkg.dev/PROJECT_ID/assuredoss-java"
    credentials {
      username = "_json_key_base64"
      password = "$artifactRegistryMavenSecret"
    }
    authentication {
      basic(BasicAuthentication)
    }
  }
}

Reemplaza PROJECT_ID por el ID del proyecto que seleccionaste cuando configuraste Assured Open Source Software.

Actualiza el archivo de configuración del proyecto para que apunte al repositorio

Maven

Agrega la siguiente configuración a la sección correspondiente del archivo pom.xml en tu proyecto de Maven. No reemplaces la configuración de autenticación.

<project>
  <repositories>
    <repository>
      <id>artifact-registry</id>
      <url>artifactregistry://us-maven.pkg.dev/PROJECT_ID/assuredoss-java</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
</project>

Reemplaza PROJECT_ID por el ID del proyecto que seleccionaste cuando configuraste Assured Open Source Software.

Consulta la referencia del gerente de Operaciones con Socios de Maven para obtener detalles sobre la estructura del archivo.

Gradle

Especifica la siguiente configuración del repositorio en tu archivo build.gradle. No reemplaces la configuración de autenticación.

repositories {
  maven {
  url "artifactregistry://us-maven.pkg.dev/PROJECT_ID/assuredoss-java"
  }
}

Reemplaza PROJECT_ID por el ID del proyecto que seleccionaste cuando configuraste Assured Open Source Software.

Actualiza el archivo de configuración del proyecto para agregar dependencias

Para descargar un artefacto como parte de tu compilación, debes declararlo como una dependencia.

Maven

Declara los paquetes que deseas descargar en el archivo pom.xml de tu proyecto de Maven.

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.17.1</version>
</dependency>

Gradle

Declara los paquetes que deseas descargar en tu archivo build.gradle.

dependencies {
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.17.1'
}

Enumera todos los paquetes de Java disponibles en Assured OSS

Si deseas usar una API para obtener una lista de todos los paquetes de Java disponibles en el repositorio de Artifact Registry, consulta Cómo enumerar todos los paquetes de Java disponibles en Security Command Center.

¿Qué sigue?