이 문서에서는 Container Scanning API를 사용 설정하고, 이미지를 Artifact Registry로 푸시하고, 이미지에서 발견된 취약점 목록을 확인하는 방법을 설명합니다.
Artifact Analysis는 Artifact Registry 및 Container Registry의 컨테이너 이미지에 대한 취약점 정보를 제공합니다(지원 중단됨). 메타데이터는 메모로 저장됩니다. 이미지와 연결된 메모의 각 인스턴스에 대한 어커런스가 작성됩니다. 자세한 내용은 개요 및 가격 책정 문서를 참고하세요.
이 API를 사용 설정하면 Artifact Registry에서 언어 패키지 스캔도 사용 설정됩니다. 지원되는 패키지 유형을 참고하세요.
시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Artifact Registry에 Docker 저장소를 만들고 컨테이너 이미지를 저장소에 푸시합니다. Artifact Registry에 익숙하지 않다면 Docker 빠른 시작을 참고하세요.
Artifact Analysis는 기존 이미지를 자동으로 스캔하지 않습니다. 기존 이미지를 스캔하려면 다시 푸시해야 합니다.
이미지 취약점 보기
Artifact Analysis는 새 이미지가 Artifact Registry에 업로드될 때 이를 스캔합니다. 이 스캔은 컨테이너의 시스템 패키지에 대한 정보를 추출합니다.
Google Cloud 콘솔, Google Cloud CLI 또는 Container Analysis API를 사용하여 레지스트리에서 이미지의 취약점 발생 횟수를 확인할 수 있습니다. 이미지에 취약점이 있는 경우 세부정보를 가져올 수 있습니다.
Artifact Analysis는 지난 30일 동안 푸시 또는 가져온 이미지의 메타데이터만 업데이트합니다. Artifact Analysis는 30일이 지난 메타데이터를 보관처리합니다.보관처리된 메타데이터가 있는 이미지를 다시 스캔하려면 해당 이미지를 가져오세요. 메타데이터를 새로고침하는 데 최대 24시간이 걸릴 수 있습니다.
Google Cloud 콘솔에서 발생 횟수 보기
이미지의 취약점을 보려면 다음 단계를 따르세요.
저장소 목록을 가져옵니다.
저장소 목록에서 저장소를 클릭합니다.
이미지 목록에서 이미지 이름을 클릭합니다.
각 이미지 다이제스트의 취약점 합계가 취약점 열에 표시됩니다.
이미지의 취약점 목록을 보려면 취약점 열에 있는 링크를 클릭하세요.
스캔 결과 섹션에는 스캔된 패키지 유형, 총 취약점 수, 수정사항이 있는 취약점 수, 수정사항이 없는 취약점 수, 유효 심각도에 관한 요약이 표시됩니다.
취약점 표에는 발견된 각 취약점의 공통 취약점 및 노출(CVE) 이름, 실효 심각도, 공통 취약점 점수 체계 (CVSS) 점수, 수정사항 (제공되는 경우), 취약점이 포함된 패키지의 이름, 패키지 유형이 나열됩니다.
이러한 파일을 필터링하고 정렬하여 파일 확장자를 기준으로 특정 파일, 디렉터리 또는 파일 유형을 확인할 수 있습니다.
Google Cloud 콘솔에는 이 표에 최대 1,200개의 취약점이 표시됩니다. 이미지에 취약점이 1, 200개를 초과하는 경우 gcloud 또는 API를 사용하여 전체 목록을 확인해야 합니다.
특정 CVE에 대한 자세한 내용을 보려면 CVE 이름을 클릭합니다.
버전 번호, 영향을 받은 위치와 같은 취약점 발생 세부정보를 보려면 취약점 이름이 있는 행에서 보기 또는 해결됨 보기를 클릭합니다. 수정사항이 없는 취약점의 경우 링크 텍스트가 보기이고 수정사항이 적용된 취약점의 경우 해결됨 보기입니다.
gcloud를 사용하여 발생 횟수 보기
이미지의 어커런스를 보려면 다음 명령어를 사용하세요.
Artifact Registry
gcloud artifacts docker images list --show-occurrences \
LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID
각 항목의 의미는 다음과 같습니다.
- LOCATION은 저장소의 리전 또는 멀티 리전 위치입니다.
- PROJECT_ID는 Google Cloud 프로젝트 ID입니다.
- REPOSITORY는 이미지가 저장된 저장소의 이름입니다.
- IMAGE_ID는 저장소의 이미지 이름입니다. 이 명령어로 이미지 태그를 지정할 수는 없습니다.
기본적으로 이 명령어는 가장 최근의 이미지 10개를 반환합니다. 다른 수의 이미지를 표시하려면 --show-occurrences-from
플래그를 사용합니다.
예를 들어 다음 명령어는 가장 최근의 이미지 25개를 반환합니다.
gcloud artifacts docker images list --show-occurrences-from=25 \
us-central1-docker.pkg.dev/my-project/my-repo/my-image
Container Registry
gcloud beta container images list-tags \
HOSTNAME/PROJECT_ID/IMAGE_ID
각 항목의 의미는 다음과 같습니다.
- HOSTNAME은 멀티 리전 호스트 이름입니다.
gcr.io
asia.gcr.io
eu.gcr.io
us.gcr.io
- PROJECT_ID는 이미지가 포함된 프로젝트의 ID입니다.
- IMAGE_ID는 취약점을 확인할 이미지의 ID입니다. 이 명령어로 이미지 태그를 지정할 수는 없습니다.
기본적으로 이 명령어는 가장 최근의 이미지 10개를 반환합니다. 다른 수의 이미지를 표시하려면 --show-occurrences-from
플래그를 사용합니다.
예를 들어 이 명령어는 가장 최근의 이미지 25개를 반환합니다.
gcloud beta container images list-tags --show-occurrences-from=25 \
gcr.io/my-project/my-image
이미지 태그 또는 레이어의 취약점을 보려면 다음 명령어를 사용하세요.
Artifact Registry
gcloud artifacts docker images describe \
LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID:TAG \
--show-package-vulnerability
또는
gcloud artifacts docker images describe \
LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID@sha256:HASH \
--show-package-vulnerability
각 항목의 의미는 다음과 같습니다.
Container Registry
gcloud beta container images describe HOSTNAME/PROJECT_ID/IMAGE_ID@sha256:HASH \
--show-package-vulnerability
각 항목의 의미는 다음과 같습니다.
- HOSTNAME은 멀티 리전 호스트 이름입니다.
gcr.io
asia.gcr.io
eu.gcr.io
us.gcr.io
- PROJECT_ID는 이미지가 포함된 프로젝트의 ID입니다.
- IMAGE_ID는 취약점을 확인할 이미지의 ID입니다.
- HASH는 이미지 다이제스트입니다.
취약점 어커런스를 필터링하려면 다음 명령어를 사용하세요.
Artifact Registry
gcloud artifacts docker images list --show-occurrences \
LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID --occurrence-filter=FILTER_EXPRESSION
각 항목의 의미는 다음과 같습니다.
- LOCATION은 저장소의 리전 또는 멀티 리전 위치입니다.
- PROJECT_ID는 Google Cloud 프로젝트 ID입니다.
- REPOSITORY는 이미지가 저장된 저장소의 이름입니다.
- IMAGE_ID는 저장소의 이미지 이름입니다.
- FILTER_EXPRESSION는 취약점 어커런스 필터링에 설명된 형식의 샘플 필터 표현식입니다.
Container Registry
gcloud beta container images list-tags \
HOSTNAME/PROJECT_ID/IMAGE_ID --occurrence-filter=FILTER_EXPRESSION
각 항목의 의미는 다음과 같습니다.
- HOSTNAME은 멀티 리전 호스트 이름입니다.
gcr.io
asia.gcr.io
eu.gcr.io
us.gcr.io
- PROJECT_ID는 이미지가 포함된 프로젝트의 ID입니다.
- IMAGE_ID는 취약점 어커런스를 확인할 이미지의 ID입니다.
- FILTER_EXPRESSION는 취약점 어커런스 필터링에 설명된 형식의 샘플 필터 표현식입니다.
API 또는 코드를 사용하여 발생 횟수 보기
이미지의 어커런스를 보려면 적절한 스니펫을 사용하세요. 코드 스니펫은 Container Registry의 이미지 URL을 지정합니다. Artifact Registry를 사용하는 경우 다음 형식의 URL로 이미지를 지정합니다.
LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID
API
cURL 사용
프로젝트에서 어커런스 목록을 가져오려면 다음 명령어를 사용하세요.
curl -X GET -H "Content-Type: application/json" -H \
"Authorization: Bearer $(gcloud auth print-access-token)" \
https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/occurrences
프로젝트의 취약점 요약을 가져오려면 다음 명령어를 사용하세요.
curl -X GET -H "Content-Type: application/json" -H \
"Authorization: Bearer $(gcloud auth print-access-token)" \
https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/occurrences:vulnerabilitySummary
특정 발생에 대한 세부정보를 확인하려면 다음 단계를 따르세요.
curl -X GET -H "Content-Type: application/json" -H \
"Authorization: Bearer $(gcloud auth print-access-token)" \
https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/occurrences/OCCURRENCE_ID
Java
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Java API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Go API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Node.js API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Ruby API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Python API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Cloud Build에서 발생 횟수 보기
Cloud Build를 사용하는 경우 Google Cloud 콘솔의 보안 통계 측면 패널에서 이미지 취약점도 확인할 수 있습니다.
보안 통계 측면 패널에서는 Artifact Registry에 저장된 아티팩트의 빌드 보안 정보에 대한 대략적인 개요를 제공합니다. 측면 패널 및 Cloud Build를 사용하여 소프트웨어 공급망을 보호하는 방법에 대해 자세히 알아보려면 빌드 보안 통계 보기를 참고하세요.
어커런스 필터링
어커런스를 보기 전에 gcloud
명령어의 필터 문자열과 Artifact Analysis API를 사용하여 어커런스를 필터링할 수 있습니다. 다음 섹션에서는 지원되는 검색 필터를 설명합니다.
탐색 어커런스 보기
이미지를 Container Registry에 처음으로 내보내면 컨테이너 이미지의 초기 스캔에 대한 정보를 포함하는 탐색 어커런스가 생성됩니다.
이미지의 탐색 어커런스를 검색하려면 다음 필터 표현식을 사용하세요.
kind="DISCOVERY" AND resourceUrl="RESOURCE_URL"
다음 스니펫은 필터 표현식을 사용하여 이미지의 탐색 어커런스를 보는 방법을 보여줍니다. 코드 스니펫은 Container Registry의 이미지 URL을 지정합니다. Artifact Registry를 사용하는 경우 다음 형식의 URL로 이미지를 지정합니다.
LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID
gcloud
이미지의 탐색 어커런스를 보려면 다음 명령어를 사용하세요.
이 경우 명령어에 표현식이 직접 사용되지는 않지만 동일한 정보가 인수로 전달됩니다.
Artifact Registry:
gcloud artifacts docker images list --show-occurrences \
--occurrence-filter='kind="DISCOVERY"' --format=json \
LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID
Container Registry:
gcloud beta container images list-tags \
--occurrence-filter='kind="DISCOVERY"' --format=json HOSTNAME/PROJECT_ID/IMAGE_ID
API
탐색 어커런스를 검색하려면 필터 표현식을 아래와 같이 URL로 인코딩하고 GET
요청에 포함해야 합니다.
GET https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/occurrences?filter=kind%3D%22DISCOVERY%22%20AND%20resourceUrl%3D%22ENCODED_RESOURCE_URL%22
자세한 내용은 projects.occurrences.get
API 엔드포인트를 참조하세요.
Java
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Java API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Go API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Node.js API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Ruby API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Python API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
취약점 어커런스 보기
특정 이미지의 취약점 어커런스를 보려면 필터 표현식을 사용하여 쿼리를 만듭니다.
kind="VULNERABILITY" AND resourceUrl="RESOURCE_URL"
다음 스니펫은 이미지의 취약점 어커런스 목록을 검색하는 방법을 보여줍니다. 코드 스니펫은 Container Registry의 이미지 URL을 지정합니다. Artifact Registry를 사용하는 경우 다음 형식의 URL로 이미지를 지정합니다.
LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID
gcloud
이미지의 취약점 어커런스를 보려면 다음 명령어를 사용하세요.
이 경우 명령어에 표현식이 직접 사용되지는 않지만 동일한 정보가 인수로 전달됩니다.
Artifact Registry
gcloud artifacts docker images list --show-occurrences \
--occurrence-filter='kind="VULNERABILITY"' --format=json \
LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_ID
Container Registry
gcloud beta container images list-tags \
--occurrence-filter='kind="VULNERABILITY"' --format=json HOSTNAME/PROJECT_ID/IMAGE_ID
API
리소스 URL은 아래와 같이 URL로 인코딩되어 GET 요청에 포함되어야 합니다.
GET https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/occurrences?filter=kind%3D%22VULNERABILITY%22%20AND%20resourceUrl%3D%22ENCODED_RESOURCE_URL%22
자세한 내용은 projects.occurrences.get
API 엔드포인트를 참조하세요.
Java
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Java API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Go API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Node.js API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Ruby API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
아티팩트 분석용 클라이언트 라이브러리를 설치하고 사용하는 방법은 아티팩트 분석 클라이언트 라이브러리를 참고하세요. 자세한 내용은 Artifact Analysis Python API 참조 문서를 참고하세요.
Artifact Analysis에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
특정 유형의 어커런스 보기
앞의 두 예시에 나온 필터 표현식의 유일한 차이점은 어커런스 유형을 식별하는 kind
값입니다. 이 필드를 사용하여 취약점 또는 배포와 같은 특정 유형의 어커런스로 목록을 제한할 수 있습니다.
특정 이미지의 어커런스를 검색하려면 다음 필터 표현식을 사용합니다.
kind="NOTE_KIND" AND resourceUrl="RESOURCE_URL"
각 항목의 의미는 다음과 같습니다.
- NOTE_KIND는 메모의 종류입니다.
- 예를 들어 탐색 어커런스를 나열하려면
DISCOVERY
종류를 사용합니다. 이는 이미지를 처음에 Container Registry로 내보낼 때 생성됩니다. - 취약점 어커런스를 나열하려면
VULNERABILITY
종류를 사용하세요.
- 예를 들어 탐색 어커런스를 나열하려면
-
RESOURCE_URL은
https://HOSTNAME/PROJECT_ID/IMAGE_ID@sha256:HASH
이미지의 전체 URL입니다.
여러 이미지에서 특정 종류의 어커런스를 검색하는 필터 표현식은 다음과 같습니다.
kind="NOTE_KIND" AND has_prefix(resourceUrl, "RESOURCE_URL_PREFIX")
각 항목의 의미는 다음과 같습니다.
- RESOURCE_URL_PREFIX는 일부 이미지의 URL 프리픽스입니다.
- 이미지의 모든 버전을 나열하려면
https://HOSTNAME/PROJECT_ID/IMAGE_ID@
를 사용하세요. - 프로젝트의 모든 이미지를 나열하려면
https://HOSTNAME/PROJECT_ID/
을 사용하세요.
- 이미지의 모든 버전을 나열하려면
특정 메모와 연결된 이미지 보기
특정 메모 ID와 연결된 리소스 목록을 검색할 수 있습니다. 예를 들어 특정 CVE 취약점이 있는 이미지를 나열할 수 있습니다.
프로젝트에서 특정 메모와 연결된 모든 이미지를 나열하려면 다음 필터 표현식을 사용합니다.
noteProjectId="PROVIDER_PROJECT_ID" AND noteId="NOTE_ID"
특정 메모의 특정 이미지를 확인하려면 다음 필터 표현식을 사용합니다.
resourceUrl="RESOURCE_URL" AND noteProjectId="PROVIDER_PROJECT_ID" \ AND noteId="NOTE_ID"
각 항목의 의미는 다음과 같습니다.
- PROVIDER_PROJECT_ID는 제공업체 프로젝트의 ID입니다. 예를 들어
goog-vulnz
는 기본 취약점 분석을 제공합니다. - NOTE_ID는 메모의 ID입니다. 보안 관련 메모는 대개
CVE-2019-12345
형식입니다. -
RESOURCE_URL은
https://HOSTNAME/PROJECT_ID/IMAGE_ID@sha256:HASH
이미지의 전체 URL입니다.
예를 들어 Google에서 분석한 대로 CVE-2017-16231의 어커런스가 있는 모든 이미지를 확인하려면 다음 필터 표현식을 사용합니다.
noteProjectId="goog-vulnz" AND noteId="CVE-2017-16231"
다음 단계
Pub/Sub 알림을 사용하여 취약점 및 기타 메타데이터에 관한 알림을 수신합니다.
Kritis 서명자와 Voucher를 사용하면 빌드 파이프라인의 일부로 Binary Authorization 증명을 만들 수 있습니다. 이러한 도구는 취약점 스캔 결과를 기반으로 Binary Authorization 증명을 만들 수 있습니다. 자세한 내용은 Kritis Signer로 증명 만들기 또는 Voucher로 증명 만들기를 참고하세요.