5장. ValidatingAdmissionPolicy [admissionregistration.k8s.io/v1]


설명
ValidatingAdmissionPolicy는 오브젝트를 변경하지 않고 수락하거나 거부하는 승인 검증 정책의 정의를 설명합니다.
유형
object

5.1. 사양

속성유형설명

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

ValidatingAdmissionPolicySpec은 AdmissionPolicy의 원하는 동작의 사양입니다.

status

object

ValidatingAdmissionPolicyStatus는 승인 검증 정책의 상태를 나타냅니다.

5.1.1. .spec

설명
ValidatingAdmissionPolicySpec은 AdmissionPolicy의 원하는 동작의 사양입니다.
유형
object
속성유형설명

auditAnnotations

array

auditAnnotations에는 API 요청의 감사 이벤트에 대한 감사 주석을 생성하는 데 사용되는 CEL 표현식이 포함되어 있습니다. 검증 및 auditAnnotations는 모두 비어 있지 않을 수 있습니다. 검증 또는 감사Annotations가 필요합니다.

auditAnnotations[]

object

AuditAnnotation은 API 요청에 대한 감사 주석을 생성하는 방법을 설명합니다.

failurePolicy

string

failurePolicy는 승인 정책의 실패를 처리하는 방법을 정의합니다. CEL 표현식 구문 분석 오류, 유형 검사 오류, 런타임 오류 및 유효하지 않은 정책 정의 또는 바인딩에서 오류가 발생할 수 있습니다.

spec.paramKind가 존재하지 않는 종류인 경우 정책이 유효하지 않습니다. spec.paramRef.name이 존재하지 않는 리소스를 참조하는 경우 바인딩이 유효하지 않습니다.

failurePolicy는 false로 평가되는 검증을 처리하는 방법을 정의하지 않습니다.

failurePolicy가 Fail로 설정된 경우 ValidatingAdmissionPolicyBinding validationActions는 실패 적용 방법을 정의합니다.

허용되는 값은 Ignore 또는 Fail입니다. 기본값은 Fail입니다.

가능한 enum 값: - "Fail" 은 Webhook를 호출하는 오류가 발생했음을 의미합니다. - "Ignore" 는 Webhook를 호출하는 오류가 무시됨을 의미합니다.

matchConditions

array

MatchConditions는 요청의 유효성을 검사하려면 충족해야 하는 조건 목록입니다. 일치 조건은 규칙, namespaceSelector 및 objectSelector와 이미 일치하는 요청을 필터링합니다. 일치하는 matchConditions의 빈 목록은 모든 요청과 일치합니다. 허용되는 최대 64개의 일치 조건이 있습니다.

매개변수 오브젝트가 제공되면 검증 표현식과 동일한 방식으로 params 처리를 통해 액세스할 수 있습니다.

정확히 일치하는 논리는 (순차로) 1입니다. ANY matchCondition이 Cryostat로 평가되면 정책을 건너뜁니다. 2. ALL matchConditions가 TRUE로 평가되면 정책이 평가됩니다. 3. matchCondition이 오류(단지 없음)로 평가되는 경우 - failurePolicy=Fail이 없으면 요청을 거부합니다. 실패Policy=Ignore인 경우 정책을 건너뜁니다.

matchConditions[]

object

MatchCondition은 Webhook로 요청을 전송하려면 충족되어야 하는 조건을 나타냅니다.

matchConstraints

object

MatchResources는 일치 기준을 충족하는지 여부에 따라 오브젝트에 대한 허용 제어 정책을 실행할지 여부를 결정합니다. exclude 규칙은 include 규칙보다 우선합니다(리소스가 둘 다 일치하는 경우 제외됨)

paramKind

object

ParamKind는 그룹 종류와 버전의 튜플입니다.

검증

array

검증에는 검증을 적용하는 데 사용되는 CEL 표현식이 포함됩니다. 검증 및 감사Annotations가 모두 비어 있지 않을 수 있습니다. 최소 하나의 유효성 검사 또는 감사 주석이 필요합니다.

validations[]

object

validation은 검증을 적용하는 데 사용되는 CEL 표현식을 지정합니다.

변수

array

변수에는 다른 표현식의 구성에 사용할 수 있는 변수 정의가 포함되어 있습니다. 각 변수는 이름이 지정된 CEL 표현식으로 정의됩니다. 여기에 정의된 변수는 나머지 정책보다 먼저 MatchConditions 제외한 정책의 다른 표현식에서 사용할 수 있습니다.

변수의 표현식은 목록의 앞부분에서 정의한 다른 변수를 참조할 수 있지만 이후의 변수는 참조할 수 없습니다. 따라서 첫 번째 모양과 acyclic의 순서에 따라 변수를 정렬해야 합니다.

variables[]

object

변수는 구성에 사용되는 변수의 정의입니다. 변수는 이름이 지정된 표현식으로 정의됩니다.

5.1.2. .spec.auditAnnotations

설명
auditAnnotations에는 API 요청의 감사 이벤트에 대한 감사 주석을 생성하는 데 사용되는 CEL 표현식이 포함되어 있습니다. 검증 및 auditAnnotations는 모두 비어 있지 않을 수 있습니다. 검증 또는 감사Annotations가 필요합니다.
유형
array

5.1.3. .spec.auditAnnotations[]

설명
AuditAnnotation은 API 요청에 대한 감사 주석을 생성하는 방법을 설명합니다.
유형
object
필수 항목
  • key
  • valueExpression
속성유형설명

key

string

key는 감사 주석 키를 지정합니다. ValidatingAdmissionPolicy의 감사 주석 키는 고유해야 합니다. 키는 63바이트를 초과할 수 없는 정규화된 이름([A-Za-z0-9][-A-Za-z0-9_.]*이어야 합니다.

키는 ValidatingAdmissionPolicy의 리소스 이름과 결합하여 "{ValidatingAdmissionPolicy name}/{key}" 감사 주석 키를 구성합니다.

승인 Webhook에서 이 ValidatingAdmissionPolicy 및 동일한 감사 주석 키와 동일한 리소스 이름을 사용하는 경우 주석 키가 동일합니다. 이 경우 키로 작성된 첫 번째 주석은 감사 이벤트에 포함되며 동일한 키가 있는 모든 후속 주석이 삭제됩니다.

필수 항목입니다.

valueExpression

string

valueExpression은 감사 주석 값을 생성하기 위해 CEL에서 평가하는 표현식을 나타냅니다. 이 표현식은 문자열 또는 null 값으로 평가되어야 합니다. 표현식이 문자열로 평가되면 audit 주석이 문자열 값과 함께 포함됩니다. 표현식이 null 또는 빈 문자열로 평가되면 audit 주석이 생략됩니다. valueExpression 길이는 5kb를 초과할 수 없습니다. valueExpression의 결과가 길이 10kb를 초과하는 경우 10kb로 잘립니다.

여러 ValidatingAdmissionPolicyBinding 리소스가 API 요청과 일치하는 경우 각 바인딩에 대해 valueExpression이 평가됩니다. valueExpressions로 생성된 모든 고유 값은 쉼표로 구분된 목록으로 결합됩니다.

필수 항목입니다.

5.1.4. .spec.matchConditions

설명

MatchConditions는 요청의 유효성을 검사하려면 충족해야 하는 조건 목록입니다. 일치 조건은 규칙, namespaceSelector 및 objectSelector와 이미 일치하는 요청을 필터링합니다. 일치하는 matchConditions의 빈 목록은 모든 요청과 일치합니다. 허용되는 최대 64개의 일치 조건이 있습니다.

매개변수 오브젝트가 제공되면 검증 표현식과 동일한 방식으로 params 처리를 통해 액세스할 수 있습니다.

정확히 일치하는 논리는 (순차로) 1입니다. ANY matchCondition이 Cryostat로 평가되면 정책을 건너뜁니다. 2. ALL matchConditions가 TRUE로 평가되면 정책이 평가됩니다. 3. matchCondition이 오류(단지 없음)로 평가되는 경우 - failurePolicy=Fail이 없으면 요청을 거부합니다. 실패Policy=Ignore인 경우 정책을 건너뜁니다.

유형
array

5.1.5. .spec.matchConditions[]

설명
MatchCondition은 Webhook로 요청을 전송하려면 충족되어야 하는 조건을 나타냅니다.
유형
object
필수 항목
  • name
  • expression
속성유형설명

expression

string

표현식은 CEL에 의해 평가될 표현식을 나타냅니다. bool로 평가해야 합니다. CEL 표현식은 CEL 변수로 구성된 AdmissionRequest 및 Authorizer의 콘텐츠에 액세스할 수 있습니다.

'object' - 들어오는 요청에서 오브젝트입니다. 값은 DELETE 요청에 대해 null입니다. 'oldObject' - 기존 오브젝트입니다. 값은 CREATE 요청에 대해 null입니다. 'request' - 승인 요청의 속성(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. 를 사용하여 요청의 주체(사용자 또는 서비스 계정)에 대한 권한 부여 검사를 수행할 수 있습니다. https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz 'authorizer.requestResource' - 'authorizer'에서 구성하고 요청 리소스로 구성된 CEL 리소스Check를 참조하십시오. CEL에 대한 문서: https://kubernetes.io/docs/reference/using-api/cel/

필수 항목입니다.

name

string

name은 MatchConditions의 전략적 병합과 로깅 목적으로 식별자를 제공하는 데 사용되는 이 일치 조건의 식별자입니다. 적절한 이름은 관련 표현식을 설명해야 합니다. 이름은 영숫자, '-', '' 또는 '.'로 구성된 정규화된 이름이어야 하며 영숫자 문자로 시작하고 끝나야 합니다. 'MyName' 또는 'my.name' 또는 '123-abc', validation에 사용되는 regex는 '([A-Za-z0-9][-A-Za-z0-9]*)?[A-Za-z0-9]') 선택적 DNS 하위 도메인 접두사 및 '/'(예: 'example.com/MyName')입니다.

필수 항목입니다.

5.1.6. .spec.matchConstraints

설명
MatchResources는 일치 기준을 충족하는지 여부에 따라 오브젝트에 대한 허용 제어 정책을 실행할지 여부를 결정합니다. exclude 규칙은 include 규칙보다 우선합니다(리소스가 둘 다 일치하는 경우 제외됨)
유형
object
속성유형설명

excludeResourceRules

array

ExcludeResourceRules는 ValidatingAdmissionPolicy가 중요하지 않아야 하는 resources/subresource에 대한 작업을 설명합니다. exclude 규칙은 include 규칙보다 우선합니다(리소스가 둘 다 일치하는 경우 제외됨)

excludeResourceRules[]

object

NamedRuleWithOperations는 ResourceNames가 있는 Operations 및 Resources의 튜플입니다.

matchPolicy

string

matchPolicy는 "MatchResources" 목록이 들어오는 요청과 일치하도록 사용되는 방법을 정의합니다. 허용되는 값은 "Exact" 또는 "Equivalent"입니다.

- exact: 지정된 규칙과 정확히 일치하는 경우에만 요청과 일치합니다. 예를 들어 apps/v1, apps/v1beta1 및 extensions/v1beta1을 통해 배포를 수정할 수 있지만 extensions/v1beta1이 포함되지만 apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"] ) 에서는 apps/v1beta1 또는 extensions/v1beta1에 전송되지 않습니다.

- equivalent: 다른 API 그룹 또는 버전을 통해도 규칙에 나열된 리소스를 수정하는 경우 요청과 일치합니다. 예를 들어, apps/v1beta1을 통해 배포를 수정할 수 있고 extensions/v1beta1, extensions/v1beta1 및 "rules"가 포함된 apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"] ) , apps/v1beta1 또는 extensions/v1beta1에 대한 요청이 apps/v1로 변환되고 ValidA1로 전송됩니다.

기본값은 "Equivalent"입니다.

가능한 enum 값: - "동일한" 은 다른 API 그룹 또는 버전을 통해 규칙에 나열된 리소스를 수정하는 경우 요청이 Webhook로 전송되어야 함을 의미합니다. - "Exact" 은 지정된 규칙과 정확히 일치하는 경우에만 요청이 웹 후크로 전송되어야 함을 의미합니다.

namespaceSelector

LabelSelector

namespaceSelector는 해당 오브젝트의 네임스페이스가 선택기와 일치하는지 여부에 따라 오브젝트에서 승인 제어 정책을 실행할지 여부를 결정합니다. 오브젝트 자체가 네임스페이스인 경우 object.metadata.labels에서 일치가 수행됩니다. 오브젝트가 다른 클러스터 범위 리소스인 경우 정책을 건너뛰지 않습니다.

예를 들어, 네임스페이스가 "0" 또는 "1"의 "runlevel" 또는 "1"과 연결되어 있지 않은 모든 오브젝트에 Webhook를 실행하려면 다음과 같이 선택기를 설정합니다. "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "NotIn", "values": [ "0", "1" ] }}

대신 네임스페이스가 "prod" 또는 "staging"의 "environment" 또는 "staging"과 연결된 모든 오브젝트에 대해서만 정책을 실행하려면 다음과 같이 선택기를 설정합니다. "namespaceSelector": { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] }}

라벨 선택기에 대한 자세한 내용은 https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ 을 참조하십시오.

기본값은 모든 것과 일치하는 빈 LabelSelector입니다.

objectSelector

LabelSelector

ObjectSelector는 오브젝트에 일치하는 라벨이 있는지 여부에 따라 검증을 실행할지 여부를 결정합니다. objectSelector는 cel 검증으로 전송되는 oldObject 및 newObject 둘 다에 대해 평가되며 오브젝트 중 하나가 선택기와 일치하는 경우 일치하는 것으로 간주됩니다. null 오브젝트(삭제의 경우oldObject 또는 newObject) 또는 라벨이 있을 수 없는 오브젝트(예: DeploymentRollback 또는 PodProxyOptions 오브젝트)는 일치하는 것으로 간주되지 않습니다. 최종 사용자는 레이블을 설정하여 승인 Webhook를 건너뛸 수 있으므로 Webhook가 옵트인인 경우에만 오브젝트 선택기를 사용합니다. 기본값은 모든 것과 일치하는 빈 LabelSelector입니다.

resourceRules

array

ResourceRules는 ValidatingAdmissionPolicy와 일치하는 resources/subresource에 대한 작업을 설명합니다. 정책과 모든 규칙과 일치하는 경우 작업이 중요합니다.

resourceRules[]

object

NamedRuleWithOperations는 ResourceNames가 있는 Operations 및 Resources의 튜플입니다.

5.1.7. .spec.matchConstraints.excludeResourceRules

설명
ExcludeResourceRules는 ValidatingAdmissionPolicy가 중요하지 않아야 하는 resources/subresource에 대한 작업을 설명합니다. exclude 규칙은 include 규칙보다 우선합니다(리소스가 둘 다 일치하는 경우 제외됨)
유형
array

5.1.8. .spec.matchConstraints.excludeResourceRules[]

설명
NamedRuleWithOperations는 ResourceNames가 있는 Operations 및 Resources의 튜플입니다.
유형
object
속성유형설명

apiGroups

배열(문자열)

APIGroups는 리소스가 속한 API 그룹입니다. ''는 모든 그룹입니다. ''이 있는 경우 슬라이스 길이는 하나여야 합니다. 필수 항목입니다.

apiVersions

배열(문자열)

APIVersions는 리소스가 속한 API 버전입니다. ''는 모든 버전입니다. ''이 있는 경우 슬라이스 길이는 하나여야 합니다. 필수 항목입니다.

작업

배열(문자열)

작업은 승인 후크가 모든 작업 및 추가된 향후 승인 작업에 대해 - CREATE, UPDATE, DELETE, CONNECT 또는 *에 대한 관심 있는 작업입니다. '*'가 있는 경우 슬라이스의 길이는 하나여야 합니다. 필수 항목입니다.

resourceNames

배열(문자열)

resourceNames는 규칙이 적용되는 선택적 이름 목록입니다. 빈 세트는 모든 것이 허용됨을 의미합니다.

resources

배열(문자열)

리소스는 이 규칙이 적용되는 리소스 목록입니다.

예를 들어 'pods'는 Pod를 의미합니다. 'pods/log'는 Pod의 로그 하위 리소스를의미합니다. 'pods/'는 모든 리소스를 의미하지만 하위 리소스는 아닙니다. 'pods/'는 Pod의 모든 하위 리소스를의미합니다. '/*'는 모든 스케일 하위 리소스를 의미합니다./*는 모든 리소스 및 해당 하위 리소스를 의미합니다.

와일드카드가 있는 경우 검증 규칙은 리소스가 서로 겹치지 않도록 합니다.

enclosing 오브젝트에 따라 하위 리소스가 허용되지 않을 수 있습니다. 필수 항목입니다.

scope

string

scope는 이 규칙의 범위를 지정합니다. 유효한 값은 "Cluster", "Namespaced", "" "Cluster"는 클러스터 범위 리소스만 이 규칙과 일치함을 의미합니다. 네임스페이스 API 오브젝트는 클러스터 범위입니다. "네임스페이스됨"은 네임스페이스가 지정된 리소스만 이 규칙과 일치함을 의미합니다. ""은 범위 제한이 없음을 의미합니다. 하위 리소스는 상위 리소스의 범위와 일치합니다. 기본값은 "*"입니다.

5.1.9. .spec.matchConstraints.resourceRules

설명
ResourceRules는 ValidatingAdmissionPolicy와 일치하는 resources/subresource에 대한 작업을 설명합니다. 정책과 모든 규칙과 일치하는 경우 작업이 중요합니다.
유형
array

5.1.10. .spec.matchConstraints.resourceRules[]

설명
NamedRuleWithOperations는 ResourceNames가 있는 Operations 및 Resources의 튜플입니다.
유형
object
속성유형설명

apiGroups

배열(문자열)

APIGroups는 리소스가 속한 API 그룹입니다. ''는 모든 그룹입니다. ''이 있는 경우 슬라이스 길이는 하나여야 합니다. 필수 항목입니다.

apiVersions

배열(문자열)

APIVersions는 리소스가 속한 API 버전입니다. ''는 모든 버전입니다. ''이 있는 경우 슬라이스 길이는 하나여야 합니다. 필수 항목입니다.

작업

배열(문자열)

작업은 승인 후크가 모든 작업 및 추가된 향후 승인 작업에 대해 - CREATE, UPDATE, DELETE, CONNECT 또는 *에 대한 관심 있는 작업입니다. '*'가 있는 경우 슬라이스의 길이는 하나여야 합니다. 필수 항목입니다.

resourceNames

배열(문자열)

resourceNames는 규칙이 적용되는 선택적 이름 목록입니다. 빈 세트는 모든 것이 허용됨을 의미합니다.

resources

배열(문자열)

리소스는 이 규칙이 적용되는 리소스 목록입니다.

예를 들어 'pods'는 Pod를 의미합니다. 'pods/log'는 Pod의 로그 하위 리소스를의미합니다. 'pods/'는 모든 리소스를 의미하지만 하위 리소스는 아닙니다. 'pods/'는 Pod의 모든 하위 리소스를의미합니다. '/*'는 모든 스케일 하위 리소스를 의미합니다./*는 모든 리소스 및 해당 하위 리소스를 의미합니다.

와일드카드가 있는 경우 검증 규칙은 리소스가 서로 겹치지 않도록 합니다.

enclosing 오브젝트에 따라 하위 리소스가 허용되지 않을 수 있습니다. 필수 항목입니다.

scope

string

scope는 이 규칙의 범위를 지정합니다. 유효한 값은 "Cluster", "Namespaced", "" "Cluster"는 클러스터 범위 리소스만 이 규칙과 일치함을 의미합니다. 네임스페이스 API 오브젝트는 클러스터 범위입니다. "네임스페이스됨"은 네임스페이스가 지정된 리소스만 이 규칙과 일치함을 의미합니다. ""은 범위 제한이 없음을 의미합니다. 하위 리소스는 상위 리소스의 범위와 일치합니다. 기본값은 "*"입니다.

5.1.11. .spec.paramKind

설명
ParamKind는 그룹 종류와 버전의 튜플입니다.
유형
object
속성유형설명

apiVersion

string

apiVersion은 리소스가 속한 API 그룹 버전입니다. "group/version" 형식으로 되어 있습니다. 필수 항목입니다.

kind

string

kind는 리소스가 속한 API 유형입니다. 필수 항목입니다.

5.1.12. .spec.validations

설명
검증에는 검증을 적용하는 데 사용되는 CEL 표현식이 포함됩니다. 검증 및 감사Annotations가 모두 비어 있지 않을 수 있습니다. 최소 하나의 유효성 검사 또는 감사 주석이 필요합니다.
유형
array

5.1.13. .spec.validations[]

설명
validation은 검증을 적용하는 데 사용되는 CEL 표현식을 지정합니다.
유형
object
필수 항목
  • expression
속성유형설명

expression

string

표현식은 CEL에서 평가할 표현식을 나타냅니다. ref: https://github.com/google/cel-spec CEL 표현식은 CEL 변수 및 기타 유용한 변수로 구성된 API 요청/응답 내용에 액세스할 수 있습니다.

- 'object' - 들어오는 요청의 오브젝트입니다. 값은 DELETE 요청에 대해 null입니다. - 'oldObject' - 기존 오브젝트입니다. 값은 CREATE 요청에 대해 null입니다. - 'request' - API 요청의 속성([ref](/pkg/apis/admission/types.go#AdmissionRequest))). - 'params' - Parameter 리소스는 평가되는 정책 바인딩에 의해 참조됩니다. 정책에 ParamKind가 있는 경우에만 채워집니다. - 'namespaceObject' - 들어오는 오브젝트가 속하는 네임스페이스 오브젝트입니다. 값은 클러스터 범위 리소스에 대해 null입니다. - '변수' - 이름에서 lazily 평가된 값까지 복합 변수 맵입니다. 예를 들어 'foo'라는 변수는 'variables.foo'로 액세스할 수 있습니다. - 'authorizer' - CEL Authorizer. 를 사용하여 요청의 주체(사용자 또는 서비스 계정)에 대한 권한 부여 검사를 수행할 수 있습니다. https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz - 'authorizer.requestResource' - 'authorizer'에서 생성하고 요청 리소스로 구성된 CEL 리소스Check를 참조하십시오.

apiVersion,kind,metadata.namemetadata.generateName 은 오브젝트 루트에서 항상 액세스할 수 있습니다. 다른 메타데이터 속성에 액세스할 수 없습니다.

[a-zA-Z_.-/][a-zA-Z0-9_.-/]* 형식의 속성 이름만 액세스할 수 있습니다. 액세스 가능한 속성 이름은 표현식에서 액세스할 때 다음 규칙에 따라이스케이프됩니다. - '- '-'은 '-'/'를 '/'로 이스케이프하여' 대시 ' - '-' 이스케이프를 ' 슬래시 ' - ''로 이스케이프하여 '{key words}'와 정확히 일치하는 CEL RESERVED 키워드와 정확히 일치하는 속성 이름 - 속성 이름으로 이스케이프됩니다. 키워드는 "true", "false", "in", "as", "as", "const", "const", "continue", "else", "if", "import", "let", "loop", "namespace", " return"입니다. 예: - Expression accessing a property named "namespace": {"Expression": "object.namespace > 0"} - Expression을 사용하여 "x-prop": {"Expression": "object.x대시prop > 0"} - Expression이라는 속성에 액세스합니다. "redactd": {"Expression": "object.redactunderscoresd > 0"}}

'set' 또는 'map'의 목록 유형이 있는 배열의 같음은 요소 순서, 즉 [1, 2] == [2, 1]를 무시합니다. x-kubernetes-list-type을 사용하는 배열에 대한 연결에서는 목록 type: - 'set'의 의미 체계를 사용합니다. X + YX 의 모든 요소의 배열 위치가 보존되고 Y 의 비 인터럽트 요소가 추가되어 부분 순서를 유지하는 union을 수행합니다. X + Y 는 X의 모든 키의 배열 위치가 보존되지만 X 와 Y의 키 세트가 교차할 때 Y 의 값으로 덮어쓰는 병합을 수행합니다. 상호 교차 키가 아닌 Y 요소가 추가되어 부분 순서를 유지합니다. 필수 항목입니다.

message

string

message는 유효성 검사가 실패할 때 표시되는 메시지를 나타냅니다. Expression에 줄 바꿈이 포함된 경우 메시지가 필요합니다. 메시지에 줄 바꿈이 포함되지 않아야 합니다. 설정되지 않은 경우 메시지는 "failed rule: {Rule}"입니다. 예를 들어 "spec.host와 일치하는 호스트가 있는 URL이어야 함"이 표현식에 줄 바꿈이 포함된 경우입니다. 메시지가 필요합니다. 메시지에 줄 바꿈이 포함되지 않아야 합니다. 설정되지 않은 경우 메시지는 "failed Expression: {Expression}"입니다.

messageExpression

string

MessageExpression은 이 규칙이 실패할 때 반환되는 검증 실패 메시지로 평가되는 CEL 표현식을 선언합니다. messageExpression은 실패 메시지로 사용되므로 문자열을 평가해야 합니다. 유효성 검사에 message 및 messageExpression이 모두 있는 경우 유효성 검사가 실패하면 messageExpression이 사용됩니다. messageExpression으로 인해 런타임 오류가 발생하고 런타임 오류가 기록되고 messageExpression 필드가 설정되지 않은 것처럼 검증 실패 메시지가 생성됩니다. messageExpression이 빈 문자열, 공백만 있는 문자열 또는 줄 바꿈이 포함된 문자열 또는 줄 바꿈이 없는 것처럼 유효성 검사 실패 메시지가 생성되고, 메시지Expression이 줄 바꿈만 있는 빈 문자열/문자열을 생성했다는 사실도 기록됩니다. messageExpression은 'authorizer' 및 'authorizer'를 제외한 표현식 과 동일한 변수에 액세스할 수 있습니다. 예: "object.x는 max("strings.max)"보다 작아야 합니다.

reason

string

이유는 이 검증이 실패한 이유에 대한 머신에서 읽을 수 있는 설명을 나타냅니다. 목록에 있는 첫 번째 검증인 경우 이러한 이유와 해당 HTTP 응답 코드가 클라이언트에 대한 HTTP 응답에 사용됩니다. 현재 지원되는 이유는 "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge"입니다. 설정되지 않은 경우 클라이언트에 대한 응답에 StatusReasonInvalid가 사용됩니다.

5.1.14. .spec.variables

설명

변수에는 다른 표현식의 구성에 사용할 수 있는 변수 정의가 포함되어 있습니다. 각 변수는 이름이 지정된 CEL 표현식으로 정의됩니다. 여기에 정의된 변수는 나머지 정책보다 먼저 MatchConditions 제외한 정책의 다른 표현식에서 사용할 수 있습니다.

변수의 표현식은 목록의 앞부분에서 정의한 다른 변수를 참조할 수 있지만 이후의 변수는 참조할 수 없습니다. 따라서 첫 번째 모양과 acyclic의 순서에 따라 변수를 정렬해야 합니다.

유형
array

5.1.15. .spec.variables[]

설명
변수는 구성에 사용되는 변수의 정의입니다. 변수는 이름이 지정된 표현식으로 정의됩니다.
유형
object
필수 항목
  • name
  • expression
속성유형설명

expression

string

표현식은 변수 값으로 평가될 표현식입니다. CEL 표현식은 유효성 검사의 CEL 표현식과 동일한 식별자에 액세스할 수 있습니다.

name

string

name은 변수의 이름입니다. 이름은 유효한 CEL 식별자여야 하며 모든 변수 중에서 고유해야 합니다. 변수는 변수를 통해 다른 표현식에서 액세스할 수 있습니다. 예를 들어 name이 "foo"인 경우 변수 를 변수로 사용할 수 있습니다.

5.1.16. .status

설명
ValidatingAdmissionPolicyStatus는 승인 검증 정책의 상태를 나타냅니다.
유형
object
속성유형설명

conditions

배열(Condition)

조건은 정책의 현재 상태에 대한 사용 가능한 최신 관찰을 나타냅니다.

observedGeneration

integer

컨트롤러에서 관찰하는 생성입니다.

typeChecking

object

TypeChecking에는 ValidatingAdmissionPolicy의 표현식을 확인하는 유형이 포함됩니다.

5.1.17. .status.typeChecking

설명
TypeChecking에는 ValidatingAdmissionPolicy의 표현식을 확인하는 유형이 포함됩니다.
유형
object
속성유형설명

expressionWarnings

array

각 표현식에 대한 경고 유형 확인입니다.

expressionWarnings[]

object

ExpressionWarning은 특정 표현식을 대상으로 하는 경고 정보입니다.

5.1.18. .status.typeChecking.expressionWarnings

설명
각 표현식에 대한 경고 유형 확인입니다.
유형
array

5.1.19. .status.typeChecking.expressionWarnings[]

설명
ExpressionWarning은 특정 표현식을 대상으로 하는 경고 정보입니다.
유형
object
필수 항목
  • fieldRef
  • 경고
속성유형설명

fieldRef

string

표현식을 참조하는 필드의 경로입니다. 예를 들어 검증의 첫 번째 항목에 대한 참조는 "spec.validations[0]. expression"입니다.

경고

string

사람이 읽을 수 있는 형식의 정보 유형 검사의 내용입니다. 경고의 각 행에는 표현식이 확인되는 유형 및 컴파일러의 유형 확인 오류가 포함됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.