将 Assured OSS 与 Security Command Center 集成后,Assured Open Source Software 软件包会托管在您控制的项目中创建的工件注册库仓库中。
本页介绍了如何连接到 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 软件包。