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. Pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de claves de cuenta de servicio (roles/iam.serviceAccountKeyAdmin) en tu organización. Necesitas este permiso para obtener la cadena codificada en base64 de la clave de la cuenta de servicio. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

  2. Integra Assured OSS con Security Command Center.

  3. Valida la conectividad con Assured OSS para las cuentas de servicio solicitadas.

  4. Instala la versión más reciente de Google Cloud CLI. Si ya has instalado la CLI de Google Cloud, asegúrate de que tienes la versión más reciente ejecutando este 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. Cambia los ajustes en función de tu herramienta de compilación:

Maven

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

<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