직접 저장소 액세스를 사용하여 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_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 패키지 나열을 참조하세요.

다음 단계