5장. ClusterImagePolicy [config.openshift.io/v1]


설명

ClusterImagePolicy에는 이미지 서명 확인을 위한 클러스터 전체 구성이 있습니다.

호환성 수준 1: 최소 12 개월 또는 3 개의 마이너 릴리스 (더 긴 버전) 동안 주요 릴리스 내에서 사용할 수 있습니다.

유형
object
필수 항목
  • spec

5.1. 사양

Expand
속성유형설명

apiVersion

string

APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

메타데이터

ObjectMeta

표준 오브젝트의 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

spec에는 클러스터 이미지 정책의 구성이 포함되어 있습니다.

status

object

상태에는 리소스의 관찰된 상태가 포함됩니다.

5.1.1. .spec

설명
spec에는 클러스터 이미지 정책의 구성이 포함되어 있습니다.
유형
object
필수 항목
  • policy
  • 범위
Expand
속성유형설명

policy

object

정책은 범위를 확인할 수 있는 구성이 포함된 필수 필드이며, 확인 정책과 일치하지 않는 이미지를 처리하는 방법을 정의합니다.

범위

배열(문자열)

범위는 정책에 할당된 이미지 ID 목록을 정의하는 필수 필드입니다. 각 항목은 "Docker Registry HTTP API V2"를 구현하는 레지스트리의 범위를 나타냅니다. 개별 이미지와 일치하는 범위는 태그 또는 다이제스트를 사용하여 완전히 확장된 형식으로 Docker 참조라고 합니다. 예를 들어 docker.io/ Cryostat/busybox:latest( busybox:latest 아님). 보다 일반적인 범위는 individual-image 범위 접두사로, 리포지토리(태그 또는 다이제스트를 생략하여), 리포지토리 네임스페이스 또는 레지스트리 호스트(호스트 이름 및 포트 번호만 지정) 또는 * 로 시작하는 와일드카드 표현식을 지정합니다(포트 번호를 포함하지 않음). 와일드카드는 하위 도메인 일치에 대해서만 지원되며 호스트의 중간에는 사용할 수 없습니다(예: *.example.com은 유효한 경우이지만 예*.*.com은 그렇지 않습니다. 이렇게 하면 하나의 오브젝트에서 256개 이상의 범위를 지원하지 않습니다. 여러 범위가 지정된 이미지와 일치하는 경우 가장 구체적인 범위에 대한 정책 요구 사항만 적용됩니다. 보다 일반적인 범위에 대한 정책 요구 사항은 무시됩니다. 자체 배포된 애플리케이션에 적합한 정책을 설정하는 것 외에도 OpenShift 이미지 리포지토리 quay.io/openshift-release-dev/ocp-release, quay.io/openshift-release-dev/ocp-v4.0-art-dev(또는 보다 일반적인 범위에)에 정책이 클러스터 작업에 필요한 OpenShift 이미지를 배포할 수 있는지 확인합니다. 범위가 ClusterImagePolicy 및 ImagePolicy 모두에 구성된 경우 또는 ImagePolicy의 범위가 ClusterImagePolicy의 범위 중 하나에 중첩된 경우 ClusterImagePolicy의 정책만 적용됩니다. 형식에 대한 자세한 내용은 https://github.com/containers/image/blob/main/docs/containers-policy.json.5.md#docker에서 확인할 수 있는 docker 전송 필드를 설명하는 문서를 참조하십시오.

5.1.2. .spec.policy

설명
정책은 범위를 확인할 수 있는 구성이 포함된 필수 필드이며, 확인 정책과 일치하지 않는 이미지를 처리하는 방법을 정의합니다.
유형
object
필수 항목
  • rootOfTrust
Expand
속성유형설명

rootOfTrust

object

rootOfTrust는 검색 중에 이미지 서명을 확인하기 위한 신뢰의 루트를 정의하는 필수 필드입니다. 이를 통해 이미지 소비자는 정책 생성 방식과 일치하는 policyType 및 해당 정책 구성을 지정할 수 있습니다.

signedIdentity

object

signedIdentity는 이미지에 대한 서명 클레임에 대한 이미지 ID를 지정하는 선택적 필드입니다. 이는 서명의 이미지 ID가 이미지 범위에 대해 미러 레지스트리가 구성된 경우와 같이 원본 이미지 사양과 다른 경우 미러 레지스트리의 서명에 원래 범위 대신 미러 레지스트리의 이미지 ID가 포함된 경우 유용합니다. 필요한 matchPolicy 필드는 서명 및 실제 이미지 ID를 확인하는 확인 프로세스에 사용되는 접근 방식을 지정합니다. 기본 matchPolicy는 "MatchRepoDigestOrExact"입니다.

5.1.3. .spec.policy.rootOfTrust

설명
rootOfTrust는 검색 중에 이미지 서명을 확인하기 위한 신뢰의 루트를 정의하는 필수 필드입니다. 이를 통해 이미지 소비자는 정책 생성 방식과 일치하는 policyType 및 해당 정책 구성을 지정할 수 있습니다.
유형
object
필수 항목
  • policyType
Expand
속성유형설명

fulcioCAWithRekor

object

fulcioCAWithRekor는 Fulcio 인증서 및 Rekor 공개 키를 기반으로 신뢰 구성의 루트를 정의합니다. policyType이 FulcioCAWithRekor인 경우 fulcioCAWithRekor가 필요하며, 금지된 경우 Fulcioio and Rekor에 대한 자세한 내용은 https://github.com/sigstore/fulciohttps://github.com/sigstore/rekor에서 참조하십시오.

policyType

string

policyType은 필수 필드이며 확인을 위한 정책 유형을 지정합니다. 이 필드는 정책이 생성된 방법과 일치해야 합니다. 허용되는 값은 "PublicKey", "FulcioCAWithRekor" 및 "PKI"입니다. "PublicKey"로 설정하면 정책은 sigstore publicKey에 의존하며 필요한 경우 Rekor 확인을 사용할 수 있습니다. "FulcioCAWithRekor"로 설정하면 이 정책은 Fulcio 인증을 기반으로 하며 Rekor 확인을 통합합니다. "PKI"로 설정하면 정책은 BYOPKI(Bring Your Own Public Key Infrastructure)의 인증서를 기반으로 합니다. 이 값은 SigstoreImageVerificationPKI 기능 게이트를 켜서 활성화됩니다.

publicKey

object

publickey는 sigstore 공개 키를 기반으로 신뢰 구성의 루트를 정의합니다. 선택적으로 Rekor 확인을 위해 Rekor 공개 키를 포함합니다. policyType이 PublicKey인 경우 publicKey가 필요하며 달리 금지되는 경우 publicKey가 필요합니다.

5.1.4. .spec.policy.rootOfTrust.fulcioCAWithRekor

설명
fulcioCAWithRekor는 Fulcio 인증서 및 Rekor 공개 키를 기반으로 신뢰 구성의 루트를 정의합니다. policyType이 FulcioCAWithRekor인 경우 fulcioCAWithRekor가 필요하며, 금지된 경우 Fulcioio and Rekor에 대한 자세한 내용은 https://github.com/sigstore/fulciohttps://github.com/sigstore/rekor에서 참조하십시오.
유형
object
필수 항목
  • fulcioCAData
  • fulcioSubject
  • rekorKeyData
Expand
속성유형설명

fulcioCAData

string

fulcioCAData는 PEM 형식 fulcio CA에 대한 인라인 base64로 인코딩된 데이터를 포함하는 필수 필드입니다. fulcioCAData는 최대 8192자여야 합니다.

fulcioSubject

object

fulcioSubject는 OIDC 발행자 및 Fulcio 인증 구성의 이메일을 지정합니다.

rekorKeyData

string

rekorKeyData는 Rekor 공개 키의 PEM 형식에 대한 인라인 base64로 인코딩된 데이터를 포함하는 필수 필드입니다. rekorKeyData는 최대 8192자여야 합니다.

5.1.5. .spec.policy.rootOfTrust.fulcioCAWithRekor.fulcioSubject

설명
fulcioSubject는 OIDC 발행자 및 Fulcio 인증 구성의 이메일을 지정합니다.
유형
object
필수 항목
  • oidcIssuer
  • signedEmail
Expand
속성유형설명

oidcIssuer

string

oidcIssuer는 필요한 파일이며 예상되는 OIDC 발급자가 포함되어 있습니다. oidcIssuer는 유효한 URL과 최대 2048자여야 합니다. Fulcio-issued 인증서에 이 OIDC 발급자 URL을 가리키는 (Fulcio-defined) 인증서 확장이 포함되어 있는지 확인합니다. Fulcio는 인증서를 발행할 때 클라이언트 제공 ID 토큰 내의 URL을 기반으로 하는 값을 포함합니다. 예: "https://expected.OIDC.issuer/"

signedEmail

string

signedEmail은 Fulcio 인증서가 발행되는 이메일 주소를 포함하는 필수 필드입니다. 서명된 이메일 주소는 유효한 이메일 주소이어야 하며 최대 320자여야 합니다. 예: "expected-signing-user@example.com"

5.1.6. .spec.policy.rootOfTrust.publicKey

설명
publickey는 sigstore 공개 키를 기반으로 신뢰 구성의 루트를 정의합니다. 선택적으로 Rekor 확인을 위해 Rekor 공개 키를 포함합니다. policyType이 PublicKey인 경우 publicKey가 필요하며 달리 금지되는 경우 publicKey가 필요합니다.
유형
object
필수 항목
  • keyData
Expand
속성유형설명

keyData

string

keyData는 PEM 형식 공개 키에 대한 인라인 base64로 인코딩된 데이터가 포함된 필수 필드입니다. keyData는 최대 8192자여야 합니다.

rekorKeyData

string

rekorKeyData는 Rekor 공개 키의 PEM 형식에 대한 인라인 base64로 인코딩된 데이터를 포함하는 선택적 필드입니다. rekorKeyData는 최대 8192자여야 합니다.

5.1.7. .spec.policy.signedIdentity

설명
signedIdentity는 이미지에 대한 서명 클레임에 대한 이미지 ID를 지정하는 선택적 필드입니다. 이는 서명의 이미지 ID가 이미지 범위에 대해 미러 레지스트리가 구성된 경우와 같이 원본 이미지 사양과 다른 경우 미러 레지스트리의 서명에 원래 범위 대신 미러 레지스트리의 이미지 ID가 포함된 경우 유용합니다. 필요한 matchPolicy 필드는 서명 및 실제 이미지 ID를 확인하는 확인 프로세스에 사용되는 접근 방식을 지정합니다. 기본 matchPolicy는 "MatchRepoDigestOrExact"입니다.
유형
object
필수 항목
  • matchPolicy
Expand
속성유형설명

exactRepository

object

exactRepository는 서명의 ID와 정확히 일치해야 하는 리포지토리를 지정합니다. matchPolicy가 "ExactRepository"로 설정된 경우 exactRepository가 필요합니다. 서명이 원본 이미지 ID가 아닌 이 정확한 리포지토리와 일치하는 ID를 요청하는지 확인하는 데 사용됩니다.

matchPolicy

string

matchPolicy는 이미지 범위에 대해 서명에서 이미지 ID를 확인하는 데 필요한 filed 전략을 지정합니다. 허용되는 값은 "MatchRepoDigestOrExact", "MatchRepository", "ExactRepository", "RemapIdentity"입니다. 생략하면 기본값은 "MatchRepoDigestOrExact"입니다. "MatchRepoDigestOrExact"로 설정하면 이미지 ID를 다이제스트에서 참조하는 경우 서명의 ID가 이미지 ID와 동일한 리포지토리에 있어야 합니다. 그렇지 않으면 서명의 ID가 이미지 ID와 동일해야 합니다. "MatchRepository"로 설정하면 서명의 ID가 이미지 ID와 동일한 리포지토리에 있어야 합니다. "ExactRepository"로 설정하면 exactRepository를 지정해야 합니다. 서명의 ID는 "repository"에서 지정하는 특정 ID와 동일한 리포지토리에 있어야 합니다. "RemapIdentity"로 설정하면 remapIdentity를 지정해야 합니다. 서명은 다시 매핑된 이미지 ID와 동일해야 합니다. 이미지 ID가 지정된 remapPrefix와 일치하는 경우 "prefix"를 지정된 "signedPrefix"로 교체하여 다시 매핑됩니다.

remapIdentity

object

remapIdentity는 이미지 ID를 확인하기 위한 접두사 재지정 규칙을 지정합니다. matchPolicy가 "RemapIdentity"로 설정된 경우 remapIdentity가 필요합니다. 서명이 원래 이미지와 다른 레지스트리/repository 접두사를 요청하는지 확인하는 데 사용됩니다.

5.1.8. .spec.policy.signedIdentity.exactRepository

설명
exactRepository는 서명의 ID와 정확히 일치해야 하는 리포지토리를 지정합니다. matchPolicy가 "ExactRepository"로 설정된 경우 exactRepository가 필요합니다. 서명이 원본 이미지 ID가 아닌 이 정확한 리포지토리와 일치하는 ID를 요청하는지 확인하는 데 사용됩니다.
유형
object
필수 항목
  • 리포지토리
Expand
속성유형설명

리포지토리

string

리포지토리는 일치시킬 이미지 ID의 참조입니다. matchPolicy가 "ExactRepository"로 설정된 경우 리포지토리가 필요합니다. 값은 "Docker Registry HTTP API V2"를 구현하는 레지스트리의 리포지토리 이름(태그 또는 다이제스트를 생략하여)이어야 합니다. 예: docker.io/ Cryostat/busybox

5.1.9. .spec.policy.signedIdentity.remapIdentity

설명
remapIdentity는 이미지 ID를 확인하기 위한 접두사 재지정 규칙을 지정합니다. matchPolicy가 "RemapIdentity"로 설정된 경우 remapIdentity가 필요합니다. 서명이 원래 이미지와 다른 레지스트리/repository 접두사를 요청하는지 확인하는 데 사용됩니다.
유형
object
필수 항목
  • prefix
  • signedPrefix
Expand
속성유형설명

prefix

string

matchPolicy가 "RemapIdentity"로 설정된 경우 접두사가 필요합니다. 접두사는 일치하는 이미지 ID의 접두사입니다. 이미지 ID가 지정된 접두사와 일치하는 경우 해당 접두사는 지정된 "signedPrefix"로 교체됩니다(다른 방식으로는 변경되지 않고 다시 매핑되지 않음). 이는 공급 업체의 리포지토리 구조를 유지하는 다른 리포지토리 네임스페이스의 미러에 대한 서명을 확인할 때 유용합니다. 접두사 및 서명된Prefix 값은 host[:port], 문자열), 리포지토리 네임스페이스 또는 리포지토리(즉, 태그/digests를 포함하지 않아야 함) 값일 수 있으며 완전히 확장된 양식의 접두사로 일치시킬 수 있습니다. 예를 들어 docker.io/ Cryostat/busybox (not busybox)는 해당 단일 리포지토리를 지정하는 docker.io/busybox(빈 문자열이 아님)를 지정하여 docker.io/ Cryostat/busybox의 상위 네임스페이스를 지정합니다.

signedPrefix

string

matchPolicy가 "RemapIdentity"로 설정된 경우 signedPrefix가 필요합니다. signedPrefix는 서명에 일치시킬 이미지 ID의 접두사입니다. 형식은 "prefix"와 동일합니다. 값은 host[:port] 값( 정확히 동일한 host[:port], string), 리포지토리 네임스페이스 또는 리포지토리(즉, 태그/digests를 포함하지 않아야 함) 값일 수 있으며 완전히 확장된 양식의 접두사로 일치시킬 수 있습니다. 예를 들어 docker.io/ Cryostat/busybox (not busybox)는 해당 단일 리포지토리를 지정하는 docker.io/busybox(빈 문자열이 아님)를 지정하여 docker.io/ Cryostat/busybox의 상위 네임스페이스를 지정합니다.

5.1.10. .status

설명
상태에는 리소스의 관찰된 상태가 포함됩니다.
유형
object
Expand
속성유형설명

conditions

array

조건은 이 API 리소스의 상태에 대한 세부 정보를 제공합니다.

conditions[]

object

condition에는 이 API 리소스의 현재 상태에 대한 한 가지 측면에 대한 세부 정보가 포함되어 있습니다.

5.1.11. .status.conditions

설명
조건은 이 API 리소스의 상태에 대한 세부 정보를 제공합니다.
유형
array

5.1.12. .status.conditions[]

설명
condition에는 이 API 리소스의 현재 상태에 대한 한 가지 측면에 대한 세부 정보가 포함되어 있습니다.
유형
object
필수 항목
  • lastTransitionTime
  • message
  • reason
  • status
  • type
Expand
속성유형설명

lastTransitionTime

string

lastTransitionTime은 마지막으로 한 상태에서 다른 상태로 전환된 시간입니다. 기본 조건이 변경된 경우여야 합니다. 이를 알 수 없는 경우 API 필드가 변경된 시간을 사용합니다.

message

string

message는 변환에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다. 빈 문자열일 수 있습니다.

observedGeneration

integer

observedGeneration은 조건에 따라 설정된 .metadata.generation을 나타냅니다. 예를 들어 .metadata.generation이 현재 12이지만 .status.conditions[x].observedGeneration이 9인 경우 현재 인스턴스 상태와 관련된 조건이 최신 상태가 아닙니다.

reason

string

이유에는 조건의 마지막 전환 이유를 나타내는 프로그래밍 식별자가 포함되어 있습니다. 특정 조건 유형의 생산자는 이 필드에 예상되는 값과 의미를 정의할 수 있으며 값이 보장된 API로 간주되는지 여부를 정의할 수 있습니다. 값은 CamelCase 문자열이어야 합니다. 이 필드는 비어 있지 않을 수 있습니다.

status

string

조건의 상태, True, False, 알 수 없음.

type

string

CamelCase 또는 foo.example.com/CamelCase의 조건 유형입니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat