透過直接存取存放區下載 Java 套件

將 Assured OSS 與 Security Command Center 整合後,Assured Open Source Software 套件會託管在您控管的專案中建立的 Artifact Registry 存放區。

本頁面說明如何連線至 Assured OSS 的 Artifact Registry 存放區,直接存取及下載 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 套件」。

後續步驟