将 Assured OSS 与 Security Command Center 集成后,Assured OSS 软件包会托管在您控制的项目中创建的工件注册库仓库中。
本页介绍了如何连接到 Artifact Registry 代码库以便使用 Assured OSS 直接访问和下载 Java 软件包。
本文档仅适用于 Assured OSS 高级层级。对于免费层级,请参阅使用免费层级的直接代码库访问权限下载 Java 软件包。
准备工作
安装最新版本的 Google Cloud CLI。
如果您之前安装了 Google Cloud CLI,请运行以下命令以确保您拥有最新版本:
gcloud components update
设置身份验证
Artifact Registry 支持以下身份验证方法:
- 使用凭据帮助程序进行身份验证
- 使用密码进行身份验证
以下部分介绍了如何设置这些身份验证方法。
使用凭据帮助程序进行身份验证
Artifact Registry 提供 Maven wagon 和 Gradle 插件,可用作凭据帮助程序。这是最灵活的选项。
设置凭据帮助程序
如果您使用凭据帮助程序设置身份验证,请根据构建工具进行以下更改。
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_base64
,artifactRegistryMavenSecret
包含 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 软件包。