Notation@0 - 표기법 v0 작업

표기법 CLI를 설정하기 위한 Azure Pipepine 작업, 표기법으로 서명 및 확인

Syntax

# Notation v0
# Azure Pipepine Task for setting up Notation CLI, sign and verify with Notation.
- task: Notation@0
  inputs:
    command: 'install' # 'install' | 'sign' | 'verify'. Required. Command to run. Default: install.
  # Command Configuration
    #isCustomVersion: false # boolean. Optional. Use when command = install. Custom Version. Default: false.
    #version: '1.1.0' # string. Required when command = install && isCustomVersion = false. Version. Default: 1.1.0.
    #url: # string. Required when command = install && isCustomVersion = true. Download URL. 
    #checksum: # string. Required when command = install && isCustomVersion = true. Checksum. 
    #artifactRefs: # string. Optional. Use when command = verify || command = sign. Artifact references. 
    #trustPolicy: # string. Required when command = verify. Trust Policy File Path. 
    #trustStore: # string. Required when command = verify. Trust Store Folder Path. 
  # Advanced Configuration
    #signatureFormat: 'cose' # 'cose' | 'jws'. Optional. Use when command = sign && command = sign || command = verify. Signature Format. Default: cose.
    #allowReferrersAPI: false # boolean. Optional. Use when command = sign || command = verify. [Experimental] Allow Referrers API. Default: false.
  # Plugin Configuration
    #plugin: 'azureKeyVault' # 'azureKeyVault'. Required when command = sign. Plugin. Default: azureKeyVault.
    #akvPluginVersion: '1.0.1' # string. Required when plugin = azureKeyVault && command = sign. Plugin Version. Default: 1.0.1.
    #azurekvServiceConection: # string. Optional. Use when plugin = azureKeyVault && command = sign. Azure Key Vault service connection. 
    #keyid: # string. Required when plugin = azureKeyVault && command = sign. Key ID. 
    #caCertBundle: # string. Optional. Use when plugin = azureKeyVault && command = sign. Certificate Bundle File Path. 
    #selfSigned: false # boolean. Optional. Use when plugin = azureKeyVault && command = sign. Self-signed Certificate. Default: false.

입력

command - 실행할 명령
string. 필수 요소. 허용되는 값: install, sign, verify. 기본값은 install입니다.

작업의 명령 모드를 지정합니다.

  • install - 명령은 install GitHub 릴리스에서 해당 Notation CLI를 다운로드하기 위해 현재 운영 체제 및 아키텍처를 검색합니다. 또한 폴더의 골든 파일에 대해 다운로드한 파일의 체크섬을 ./data 확인하고 Notation을 PATH에 추가합니다.
  • sign - sign 명령은 선택한 Notation 플러그 인을 다운로드하고 체크섬의 유효성을 검사한 다음 Notation CLI를 호출하여 서명합니다.
  • verify - 명령은 verify Notation CLI에 필요한 대로 신뢰 저장소 및 신뢰 정책을 사용자의 코드 리포지토리에서 Notation 구성 폴더로 전송합니다. 그런 다음, Notation CLI를 호출하여 확인을 수행합니다.

isCustomVersion - 사용자 지정 버전
boolean. 선택 사항입니다. 를 사용하는 경우 command = install를 사용합니다. 기본값은 false입니다.

속성의 사용자 지정 버전에 대한 다운로드 URL을 지정하여 작업에 대한 사용자 지정 버전의 url Notation을 제공하도록 지정 true 합니다.


version - 버전
string. 필요한 경우 command = install && isCustomVersion = false입니다. 기본값은 1.1.0입니다.

설치할 표기법의 버전입니다. 예: 1.0.0, 1, 1.0, 1.0.0.


url - URL 다운로드
string. 필요한 경우 command = install && isCustomVersion = true입니다.

사용할 사용자 지정 표기법 버전의 URL(예: https://github.com/notaryproject/notation/releases/download/v1.0.0/notation_1.0.0_linux_amd64.tar.gz)입니다.


checksum - 체크섬
string. 필요한 경우 command = install && isCustomVersion = true입니다.

다운로드한 파일의 SHA-256 체크섬입니다.


artifactRefs - 아티팩트 참조
string. 선택 사항입니다. 를 사용하는 경우 command = verify || command = sign를 사용합니다.

서명에 대한 컨테이너 아티팩트 참조입니다. 지정하지 않으면 태스크는 이전 Docker 푸시 태스크의 아티팩트 참조를 사용합니다. 예: <registry name>/<repository name>@<digest>. 여러 아티팩트 참조를 쉼표로 구분해야 합니다.


signatureFormat - 서명 형식
string. 선택 사항입니다. 를 사용하는 경우 command = sign && command = sign || command = verify를 사용합니다. 허용되는 값: cose, jws. 기본값은 cose입니다.

서명 봉투 형식입니다.


allowReferrersAPI - [실험적] 참조자 허용 API
boolean. 선택 사항입니다. 를 사용하는 경우 command = sign || command = verify를 사용합니다. 기본값은 false입니다.

참조자 API를 사용하여 서명에 서명할 수 없습니다(404 반환). 참조자 태그 스키마로 대체합니다.


plugin - 플러그인
string. 필요한 경우 command = sign입니다. 허용되는 값: azureKeyVault (Azure Key Vault 플러그 인). 기본값은 azureKeyVault입니다.


akvPluginVersion - 플러그 인 버전
string. 필요한 경우 plugin = azureKeyVault && command = sign입니다. 기본값은 1.0.1입니다.

설치할 Azure Key Vault 플러그 인의 버전입니다. 사용 가능한 버전은 notation-azure-kv 릴리스 페이지를 참조하세요.


azurekvServiceConection - Azure Key Vault 서비스 연결
string. 선택 사항입니다. 를 사용하는 경우 plugin = azureKeyVault && command = sign를 사용합니다.

인증에 서비스 연결을 사용하려는 경우 키 자격 증명 모음에 대한 Azure 구독을 선택합니다.


keyid - 키 ID
string. 필요한 경우 plugin = azureKeyVault && command = sign입니다.

키 ID는 Azure Key Vault 대한 키 또는 인증서 식별자입니다.


caCertBundle - 인증서 번들 파일 경로
string. 선택 사항입니다. 를 사용하는 경우 plugin = azureKeyVault && command = sign를 사용합니다.

루트 인증서에서 시작하여 인증서 체인의 순서에 따라 루트 및 모든 중간 인증서가 있는 인증서 번들 파일입니다.


selfSigned - 자체 서명된 인증서
boolean. 선택 사항입니다. 를 사용하는 경우 plugin = azureKeyVault && command = sign를 사용합니다. 기본값은 false입니다.

인증서가 자체 서명된 인증서인지 여부입니다.


trustPolicy - 신뢰 정책 파일 경로
string. 필요한 경우 command = verify입니다.

리포지토리를 기준으로 신뢰 정책 파일의 경로입니다. 예: ./path/to/trust-policy.json.


trustStore - 트러스트 저장소 폴더 경로
string. 필요한 경우 command = verify입니다.

리포지토리를 기준으로 트러스트 저장소 를 포함하는 디렉터리의 경로입니다. 예: ./path/to/truststore/.


작업 제어 옵션

모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.

출력 변수

없음

설명

표기법 태스크는 Notation CLI를 호출하여 서명 및 확인 작업을 실행합니다. 표기법 CLI는 Docker 컨테이너 아티팩트 또는 이미지를 서명하고 확인하는 데 사용되는 도구입니다. 아티팩트를 서명할 때 Notation은 아티팩트의 고유한 매니페스트 설명자에 서명하고 서명을 동일한 리포지토리에 연결합니다. 아티팩트를 확인할 때 Notation은 리포지토리에서 서명을 검색하고 트러스트 저장소의 인증서에 대해 유효성을 검사합니다.

사전 요구 사항

  • 이 작업을 수행하려면 Github 릴리스에서 Notation CLI 및 Notation Azure Key Vault 플러그 인을 다운로드하기 위한 공용 네트워크 액세스 권한이 필요합니다.
  • 지원되는 에이전트 OS: Linux x64/ARM64, Windows x64, macOS x64/ARM64

표기법 설치 명령

명령은 install GitHub 릴리스에서 해당 Notation CLI를 다운로드하기 위해 현재 운영 체제 및 아키텍처를 검색합니다. 또한 폴더의 골든 파일에 대해 다운로드한 파일의 체크섬을 ./data 확인하고 Notation을 PATH에 추가합니다.

표기법 기호 명령

명령은 sign 선택한 Notation 플러그 인을 다운로드하고 체크섬의 유효성을 검사한 다음 Notation CLI를 호출하여 서명합니다.

표기법 확인 명령

명령은 verify Notation CLI에 필요한 대로 신뢰 저장소 및 신뢰 정책을 사용자의 코드 리포지토리에서 Notation 구성 폴더로 전송합니다. 그런 다음 표기법 CLI를 호출하여 확인을 수행합니다.

요구 사항

요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 없음
Capabilities 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다.
명령 제한 사항 모두
설정 가능한 변수 모두
에이전트 버전 2.144.0 이상
작업 범주 유틸리티