使用直接代码库访问下载 Java 软件包

将 Assured OSS 与 Security Command Center 集成后,Assured OSS 软件包会托管在您控制的项目中创建的工件注册库仓库中。

本页介绍了如何连接到 Artifact Registry 代码库以便使用 Assured OSS 直接访问和下载 Java 软件包。

本文档仅适用于 Assured OSS 高级层级。对于免费层级,请参阅使用免费层级的直接代码库访问权限下载 Java 软件包

准备工作

  1. 将 Assured OSS 与 Security Command Center 集成

  2. 验证请求的服务账号与 Assured OSS 的连接情况

  3. 安装最新版本的 Google Cloud CLI

  4. 如果您之前安装了 Google Cloud CLI,请运行以下命令以确保您拥有最新版本:

    gcloud components update
    

设置身份验证

Artifact Registry 支持以下身份验证方法:

  • 使用凭据帮助程序进行身份验证
  • 使用密码进行身份验证

以下部分介绍了如何设置这些身份验证方法。

使用凭据帮助程序进行身份验证

Artifact Registry 提供 Maven wagonGradle 插件,可用作凭据帮助程序。这是最灵活的选项。

如需设置应用默认凭据,请参阅设置身份验证

设置凭据帮助程序

如果您使用凭据帮助程序设置身份验证,请根据构建工具进行以下更改。

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

使用密码进行身份验证

如果 Java 应用需要使用指定的用户名和密码进行身份验证,请使用密码进行身份验证。根据您的构建工具,按照以下说明更改设置:

Maven

~/.m2/settings.xml 文件的 settings 部分中添加以下身份验证设置。如需了解详情,请参阅 Maven 设置参考文档。如果 ~/.m2/settings.xml 文件不存在,请创建一个新文件。

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

KEY 替换为整个服务账号 JSON 密钥文件的 base64 编码。为此,请运行以下命令:

cat KEY_FILE_LOCATION  | base64

KEY_FILE_LOCATION 替换为服务账号 JSON 密钥文件的位置。

Gradle

将以下代码行添加到 ~/.gradle/gradle.properties 文件中,使密钥在构建或源代码控制代码库中不可见。

artifactRegistryMavenSecret = KEY

KEY 替换为服务账号 JSON 密钥文件中的私钥。对于 json_key_base64artifactRegistryMavenSecret 包含 base64 加密的密码。例如 base64 -w 0 KEY

build.gradle 文件中,使用以下示例指定代码库设置:

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

PROJECT_ID 替换为您在设置 Assured Open Source Software 时选择的项目的 ID。

更新项目配置文件以指向代码库

Maven

将以下设置添加到 Maven 项目的 pom.xml 文件中的相应部分。请勿替换身份验证设置。

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

PROJECT_ID 替换为您在设置 Assured Open Source Software 时选择的项目的 ID。

如需详细了解文件的结构,请参阅 Maven 的 POM 参考文档

Gradle

build.gradle 文件中指定以下代码库设置。请勿替换身份验证设置。

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

PROJECT_ID 替换为您在设置 Assured Open Source Software 时选择的项目的 ID。

更新项目配置文件以添加依赖项

如需在构建过程中下载工件,必须将工件声明为依赖项。

Maven

在 Maven 项目的 pom.xml 文件中声明您要下载的软件包。

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

Gradle

build.gradle 文件中声明您要下载的软件包。

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

列出 Assured OSS 中提供的所有 Java 软件包

如需使用 API 获取 Artifact Registry 仓库中所有 Java 软件包的列表,请参阅列出 Security Command Center 中提供的所有 Java 软件包

后续步骤