リポジトリへの直接アクセスを使用して 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 ワゴン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 パッケージを一覧表示するをご覧ください。

次のステップ