Descargar paquetes Java mediante acceso directo al repositorio

Enterprise

Después de integrar Assured OSS con Security Command Center, los paquetes de software libre de Assured 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 de Assured OSS para acceder directamente a los paquetes Java y descargarlos.

Este documento solo se aplica al nivel premium de Assured OSS. Para el nivel gratuito, consulta Descargar paquetes de Java mediante acceso directo al repositorio en el nivel gratuito.

Antes de empezar

  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 has instalado Google Cloud CLI, asegúrate de que tienes la versión más reciente ejecutando el siguiente comando:

    gcloud components update
    

Configurar la autenticación

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

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

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

Autenticar con un asistente de credenciales

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

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

Configurar los asistentes de credenciales

Si usas un asistente de credenciales para configurar la autenticación, haz los siguientes cambios en función de 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"
}

Autenticar con contraseña

Autenticar con una contraseña cuando tu aplicación Java requiera autenticación con un nombre de usuario y una contraseña específicos. En función de la herramienta de compilación que uses, cambia los ajustes siguiendo estas instrucciones:

Maven

Añade los siguientes ajustes de autenticación en la sección settings del archivo ~/.m2/settings.xml. Para obtener más información, consulta la referencia de configuración de Maven. Si el archivo ~/.m2/settings.xml no existe, crea uno.

<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>

Sustituye KEY por la codificación en base64 de todo el archivo JSON de la clave de la cuenta de servicio. Para ello, ejecuta el siguiente comando:

cat KEY_FILE_LOCATION  | base64

Sustituye KEY_FILE_LOCATION por la ubicación del archivo de clave JSON de la cuenta de servicio.

Gradle

Añade la siguiente línea a tu archivo ~/.gradle/gradle.properties para que la clave no se vea en tus compilaciones ni en tu repositorio de control de código fuente.

artifactRegistryMavenSecret = KEY

Sustituye KEY por la clave privada del archivo de claves JSON de tu cuenta de servicio. En json_key_base64, artifactRegistryMavenSecret contiene la contraseña cifrada 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)
    }
  }
}

Sustituye PROJECT_ID por el ID del proyecto que seleccionaste al configurar Assured Open Source Software.

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

Maven

Añade los siguientes ajustes a la sección correspondiente del archivo pom.xml de tu proyecto de Maven. No sustituyas 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>

Sustituye PROJECT_ID por el ID del proyecto que seleccionaste al configurar Assured Open Source Software.

Consulta la referencia de POM de Maven para obtener más información sobre la estructura del archivo.

Gradle

Especifica los siguientes ajustes de repositorio en el archivo build.gradle. No sustituyas la configuración de autenticación.

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

Sustituye PROJECT_ID por el ID del proyecto que seleccionaste al configurar Assured Open Source Software.

Actualizar el archivo de configuración del proyecto para añadir dependencias

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

Maven

Declara los paquetes que quieras 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 quieras descargar en tu archivo build.gradle.

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

Lista de todos los paquetes de Java disponibles en Assured OSS

Para usar una API para obtener una lista de todos los paquetes de Java disponibles en el repositorio de Artifact Registry, consulte List all Java packages available in Security Command Center (Listar todos los paquetes de Java disponibles en Security Command Center).

Siguientes pasos