4.8. Kata 에이전트 정책 사용자 정의


Kata 에이전트 정책은 Kata 런타임으로 실행되는 Pod에 대한 에이전트 API 요청을 제어하는 보안 메커니즘입니다. Pod VM(가상 시스템) 내에서 Kata 에이전트가 Rego로 작성하고 강제 적용하는 이 정책은 허용 또는 거부되는 작업을 결정합니다.

보안이 중요하지 않은 개발 및 테스트와 같은 특정 사용 사례에 대해 사용자 지정 정책을 사용하여 기본 정책을 덮어쓸 수 있습니다. 예를 들어 컨트롤 플레인을 신뢰할 수 있는 환경에서 실행할 수 있습니다. 다음과 같은 다양한 방법으로 사용자 지정 정책을 적용할 수 있습니다.

  • Pod VM 이미지에 포함
  • 피어 Pod 구성 맵의 패치 적용.
  • 워크로드 Pod YAML에 주석을 추가합니다.

프로덕션 시스템의 경우 기본 방법은 initdata를 사용하여 Kata 에이전트 정책을 재정의하는 것입니다. 다음 절차에서는 io.katacontainers.config.agent.policy 주석을 사용하는 개별 Pod에 사용자 지정 정책을 적용합니다. 정책은 Base64로 인코딩된 Rego 형식으로 제공됩니다. 이 방법은 Pod VM 이미지를 수정하지 않고 Pod 생성 시 기본 정책을 재정의합니다.

참고

사용자 지정 정책은 기본 정책을 완전히 대체합니다. 특정 API만 수정하려면 전체 정책을 포함하고 관련 규칙을 조정합니다.

프로세스

  1. 사용자 지정 정책으로 policy.rego 파일을 생성합니다. 다음 예제에서는 구성 가능한 모든 API를 보여줍니다.

    package agent_policy
    
    default AddARPNeighborsRequest := true
    default AddSwapRequest := true
    default CloseStdinRequest := true
    default CopyFileRequest := true
    default CreateContainerRequest := true
    default CreateSandboxRequest := true
    default DestroySandboxRequest := true
    default ExecProcessRequest := true
    default GetMetricsRequest := true
    default GetOOMEventRequest := true
    default GuestDetailsRequest := true
    default ListInterfacesRequest := true
    default ListRoutesRequest := true
    default MemHotplugByProbeRequest := true
    default OnlineCPUMemRequest := true
    default PauseContainerRequest := true
    default PullImageRequest := true
    default ReadStreamRequest := true
    default RemoveContainerRequest := true
    default RemoveStaleVirtiofsShareMountsRequest := true
    default ReseedRandomDevRequest := true
    default ResumeContainerRequest := true
    default SetGuestDateTimeRequest := true
    default SetPolicyRequest := true
    default SignalProcessRequest := true
    default StartContainerRequest := true
    default StartTracingRequest := true
    default StatsContainerRequest := true
    default StopTracingRequest := true
    default TtyWinResizeRequest := true
    default UpdateContainerRequest := true
    default UpdateEphemeralMountsRequest := true
    default UpdateInterfaceRequest := true
    default UpdateRoutesRequest := true
    default WaitProcessRequest := true
    default WriteStreamRequest := true
    Copy to Clipboard Toggle word wrap

    기본 정책은 모든 API 호출을 허용합니다. 필요에 따라 정책을 추가로 사용자 지정하도록 true 또는 false 값을 조정합니다.

  2. 다음 명령을 실행하여 policy.rego 파일을 Base64 인코딩 문자열로 변환합니다.

    $ base64 -w0 policy.rego
    Copy to Clipboard Toggle word wrap

    yaml 파일에 사용할 출력을 저장합니다.

  3. my-pod.yaml Pod 사양 파일에 Base64로 인코딩된 정책을 추가합니다.

    apiVersion: v1
    kind: Pod
    metadata:
      name: <pod_name>
      annotations:
        io.katacontainers.config.agent.policy: <base64_encoded_policy>
    spec:
      runtimeClassName: kata-remote
      containers:
      - name: <container_name>
        image: registry.access.redhat.com/ubi9/ubi:latest
        command:
        - sleep
        - "36000"
        securityContext:
          privileged: false
          seccompProfile:
            type: RuntimeDefault
    Copy to Clipboard Toggle word wrap
  4. 다음 명령을 실행하여 Pod 매니페스트를 적용합니다.

    $ oc apply -f my-pod.yaml
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat