정책 집행을 위한 승인 컨트롤러 - 동기 및 이론

2802 단어 policykubernetes

그들은 무엇인가?

허용 컨트롤러는 들어오는 API 요청을 etcd에 유지하기 전에 유효성을 검사(또는 변경)하는 게이트입니다.

문맥
인증 모듈이 사용자의 ID를 설정한 후 사용자가 요청을 수행할 수 있는지 여부를 결정하기 위해 권한 부여 모듈을 참조합니다. 인증 모듈은 모듈 내부에서 실행되도록 구성된 모든 권한 부여자에게 요청하여 이를 수행합니다. 구성에 나타나는 순서대로 각 권한 부여자에게 전송되는 이 쿼리를 SubjectAccessReview라고 합니다.



RBAC 정책은 AuthN 에이전트에 의해 식별된 요청 및 사용자에 대한 비즈니스 규칙을 지정하기에 충분히 표현적이지 않습니다. 여기에서 승인 컨트롤러가 도움을 줄 수 있습니다. 쿠버네티스에는 두 가지 유형의 승인 컨트롤러가 있습니다.


컴파일된 허용 컨트롤러

These are compiled into the `kube-apiserver` binary, and may only be configured by the cluster administrator.

활성화 또는 비활성화는 다음을 통해 이루어집니다.

kube-apiserver --enable-admission-plugins=NamespaceLifecycle,LimitRanger ...
# --disable-admission-plugins to disable


현재 활성화된 항목을 나열하는 것은 다음을 통해 수행할 수 있습니다.

kube-apiserver -h | grep enable-admission-plugins


매우 강력하고 유용하지만 세 가지 제한 사항이 있습니다.
  • kube-apiserver를 (재)구성하려면 다시 시작해야 함
  • OS 수준 액세스 권한이 있는 클러스터 관리자만 구성 가능
  • 확장할 수 없습니다
  • .

    Detailed documentation


    동적 승인 컨트롤러

    이들은 확장으로 개발할 수 있는 승인 플러그인이며 런타임에 구성된 웹훅으로 실행할 수 있습니다. 승인 웹후크는 승인 요청을 수신하고 이에 대해 작업을 수행하는 HTTP 콜백입니다. validating admission webhookmutating admission webhook 의 두 가지 유형의 승인 웹후크를 정의할 수 있습니다. 변경 허용 웹후크가 먼저 호출되며 API 서버로 전송된 개체를 수정하여 사용자 지정 기본값을 적용할 수 있습니다. 모든 개체 수정이 완료되고 들어오는 개체가 API 서버에 의해 검증된 후 유효성 검사 승인 웹후크가 호출되고 사용자 지정 정책을 적용하기 위한 요청을 거부할 수 있습니다.

    Kubernetes documentation

    좋은 웹페이지 즐겨찾기