在免費層級中,Assured Open Source Software 套件會託管在 Google 管理的 Artifact Registry 存放區。
本頁面說明如何連線至 Assured OSS 的 Artifact Registry 存放區,直接存取及下載 Java 套件。
本文僅適用於免費層級。如要瞭解進階層級,請參閱「使用直接存放區存取權下載 Java 套件」。
事前準備
請管理員授予您機構的「服務帳戶金鑰管理員」 (
roles/iam.serviceAccountKeyAdmin) IAM 角色。您需要這項權限,才能取得服務帳戶金鑰的 Base64 編碼字串。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。設定 Assured OSS。如要使用免費方案,請提交客戶啟用表單,啟用 Assured OSS 存取權。
驗證連線:為要求的服務帳戶驗證與 Assured OSS 的連線。
為用來存取 Assured OSS 的服務帳戶 Google Cloud 父項專案啟用 Artifact Registry API。
安裝最新版本的 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 設定」參考資料。
<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/cloud-aoss/cloud-aoss-java"
credentials {
username = "_json_key_base64"
password = "$artifactRegistryMavenSecret"
}
authentication {
basic(BasicAuthentication)
}
}
}
更新專案設定檔,使其指向存放區
Maven
在 Maven 專案的 pom.xml 檔案中,將下列設定新增至適當的區段。請勿取代驗證設定。
<project>
<repositories>
<repository>
<id>artifact-registry</id>
<url>artifactregistry://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
如要進一步瞭解檔案結構,請參閱 Maven POM 參考資料。
Gradle
在 build.gradle 檔案中指定下列存放區設定。請勿取代驗證設定。
repositories {
maven {
url "artifactregistry://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java"
}
}
更新專案設定檔,加入依附元件
如要下載構建作業的構件,必須將構件宣告為依附元件。
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 套件
您可以存取 Artifact Registry 存放區中不提供的 Assured OSS 套件。
Assured OSS 已將 Assured OSS 預設為偏好存放區,並使用 Maven Central 或 PyPI 等標準公開存放區做為次要存放區。如要使用 (預先發布版) 功能,請前往下列網址:
https://us-maven.pkg.dev/cloud-aoss/java
列出 Assured OSS 中所有可用的 Java 套件
如要使用 API 取得 Artifact Registry 存放區中所有可用的 Java 套件清單,請參閱「列出 Assured OSS 中所有可用的 Java 套件」。
後續步驟
- 使用直接存放區存取權下載 Python 套件
- 設定虛擬存放區存取權
- 支援的 Java 和 Python 套件
- 使用 Cloud Storage 存取安全性中繼資料
- 使用 Artifact Analysis API 存取安全性中繼資料