LabHub

KCA — Kyverno 인증 어소시에이트 · validate 규칙 · 퀴즈

퀴즈: validate 규칙

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. Kyverno 패턴에서 `X(securityContext)` 앵커의 정확한 의미는?

    1. securityContext 값이 조건과 달라야 한다
    2. securityContext 가 존재하면 그 안을 검사한다
    3. securityContext 배열에 조건을 만족하는 원소가 하나 이상 있어야 한다
    4. securityContext 키가 존재하면 안 된다
  2. `spec.rules[*].validate[*].failureAction` 을 지정하지 않으면 기본 동작은?

    1. Enforce (위반 요청을 거부)
    2. Audit (요청은 통과시키고 리포트에 남김)
    3. 정책이 로드되지 않는다
    4. 정책 수준 failurePolicy 값을 따른다
  3. 규칙 단위 failureAction 이 정책 수준 필드보다 나아진 실무적 이유는?

    1. 성능이 향상되어 웹훅 지연이 줄기 때문
    2. Audit 모드가 사라지고 Enforce 만 남았기 때문
    3. 정책 수준 필드가 네임스페이스마다 다른 차등 적용을 전혀 지원하지 않았기 때문
    4. 한 정책 안에서 확신이 선 규칙만 Enforce 로 올리고 새 규칙은 Audit 으로 둘 수 있어, 정책을 쪼개고 match 블록을 복제할 필요가 없어졌기 때문
  4. foreach 로 모든 컨테이너를 검사하려 한다. 올바른 것은?

    1. list 를 중괄호로 감싸 `{{ request.object.spec.containers }}` 로 쓴다
    2. list 를 `request.object.spec.[initContainers, containers][]` 처럼 중괄호 없이 JMESPath 표현식으로 쓴다
    3. list 는 항상 containers 만 가리킬 수 있다
    4. foreach 대신 반드시 CEL 을 써야 한다
  5. Kyverno 대신 쿠버네티스 내장 ValidatingAdmissionPolicy 로 충분한 상황은?

    1. 네임스페이스가 만들어질 때마다 NetworkPolicy 를 자동 생성해야 할 때
    2. 컨테이너 이미지의 cosign 서명을 검증해야 할 때
    3. 모든 파드에 사이드카를 주입해야 할 때
    4. 필드 하나의 값을 CEL 로 검사하는 것이 전부이고 그 이상 아무것도 필요 없을 때
  6. ValidatingAdmissionPolicy 를 apply 했는데 아무 요청도 막히지 않는다. 가장 먼저 확인할 것은?

    1. ValidatingAdmissionPolicyBinding 이 있는지, 그리고 validationActions 에 Deny 가 들어 있는지
    2. Kyverno 파드가 떠 있는지
    3. 정책에 쓴 CEL 표현식에 세미콜론이나 아직 지원되지 않는 내장 함수가 섞여 있는지
    4. 네임스페이스에 PSA 라벨이 붙어 있는지