첨부파일에 아티팩트 메타데이터 저장

이 페이지에서는 Artifact Registry에 저장된 아티팩트와 관련된 메타데이터를 첨부파일로 저장하는 방법을 설명합니다.

첨부파일에 저장된 메타데이터에는 아티팩트 취약점, 빌드 출처, 패키지 콘텐츠, 인증, 취약점 평가, Software Bill of Materials (SBOM) 등에 관한 정보가 포함될 수 있습니다. Artifact Registry 첨부파일에 저장된 정보는 정책 시스템에서 사용하고 사용자가 검사하여 규정을 준수하는지 확인할 수 있습니다.

첨부파일 작업에 대한 자세한 내용은 첨부파일로 메타데이터 관리를 참고하세요.

시작하기 전에

  1. 아직 표준 모드 저장소가 없다면 표준 모드 저장소를 만듭니다.
  2. (선택사항) Google Cloud CLI 명령어의 기본값을 구성합니다.

필요한 역할

첨부파일을 만드는 데 필요한 권한을 얻으려면 관리자에게 저장소에 대한 Artifact Registry Writer (roles/artifactregistry.writer) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

연결 만들기

Docker 저장소의 경우 첨부파일이 OCI 아티팩트여야 합니다. Docker 이외의 모든 형식의 경우 첨부파일은 어떤 파일 형식이든 될 수 있습니다.

gcloud CLI 또는 Oras를 사용하여 Docker 형식 저장소에 첨부파일을 만들 수 있습니다.

첨부파일을 만들려면 다음 단계를 완료하세요.

gcloud (모든 형식)

아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

  • ATTACHMENT: 첨부파일의 정규화된 이름입니다(예: projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment). 또는 첨부파일 ID만 제공하고 --location--repository 플래그를 사용합니다.
  • TARGET: 정규화된 버전 이름입니다. Docker 이미지의 경우 첨부파일이 참조하는 아티팩트의 Artifact Registry URI를 사용할 수도 있습니다. URI에서 다이제스트 또는 Docker 이미지의 경우 태그(예: us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1)를 사용할 수 있습니다.
  • TYPE: 첨부파일의 type 속성입니다. Docker 이미지의 경우 typeartifactType 속성에 대한 OCI 사양을 준수해야 합니다.
  • ATTACHMENT_NAMESPACE: 첨부파일 데이터 소스를 식별하는 첨부파일 관련 변수입니다(예: example.com).
  • FILES: 첨부파일에 포함할 로컬 파일의 쉼표로 구분된 목록입니다.
    • 다음 명령어를 실행합니다.

      Linux, macOS 또는 Cloud Shell

      gcloud artifacts attachments create ATTACHMENT \
          --target=TARGET \
          --attachment-type=TYPE \
          --attachment-namespace=ATTACHMENT_NAMESPACE \
          --files=FILES

      Windows(PowerShell)

      gcloud artifacts attachments create ATTACHMENT `
          --target=TARGET `
          --attachment-type=TYPE `
          --attachment-namespace=ATTACHMENT_NAMESPACE `
          --files=FILES

      Windows(cmd.exe)

      gcloud artifacts attachments create ATTACHMENT ^
          --target=TARGET ^
          --attachment-type=TYPE ^
          --attachment-namespace=ATTACHMENT_NAMESPACE ^
          --files=FILES
      자세한 내용은 gcloud artifacts attachments create 명령어를 참조하세요.

Oras (Docker만 해당)

Oras로 첨부파일을 만들 때 Artifact Registry는 첨부파일 이름으로 사용할 임의의 UUID를 생성합니다.

Oras를 사용하기 전에 다음 단계를 완료합니다.

  1. Oras 1.2 이상을 설치합니다. 버전을 확인하려면 oras version 명령어를 실행합니다.

  2. Artifact Registry로 인증하도록 Oras를 구성합니다.

명령어를 실행하기 전에 다음을 바꿉니다.

  • ARTIFACT_TYPE: 첨부파일의 artifactType입니다.

  • IMAGE_URI: 첨부파일이 참조하는 이미지 컨테이너의 URI입니다.

  • FILE: 첨부파일에 메타데이터로 포함할 로컬 파일입니다.

  • MEDIA_TYPE: 레이어의 mediaType입니다.

  oras attach --artifact-type ARTIFACT_TYPE IMAGE_URI FILE:MEDIA_TYPE

다음 예시에서는 URI 및 태그로 식별되는 컨테이너 이미지 my-image를 참조하는 파일 hello-world.txt로 구성된 첨부파일을 만듭니다.

  oras attach --artifact-type doc/example \
  us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 \
  hello-world.txt:application/vnd.me.hi

각 항목의 의미는 다음과 같습니다.

  • doc/example은 첨부파일의 artifactType 속성을 정의합니다.

  • us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1은 첨부파일이 참조하는 컨테이너 이미지 버전의 태그를 포함하는 URI입니다.

  • hello-world.txt는 첨부파일이 데이터로 포함하는 로컬 파일입니다.

  • application/vnd.me.hi는 레이어의 mediaType을 정의합니다.

전체 가이드와 더 많은 예시는 oras attach 문서를 참조하세요.

다음 단계