3.7. Kata エージェントポリシーのカスタマイズ


Kata エージェントポリシーをカスタマイズして、ピア Pod のデフォルトポリシー (permissive) をオーバーライドできます。Kata エージェントポリシーは、ピア Pod の API リクエストを制御するセキュリティーメカニズムです。

重要

実稼働環境ではデフォルトのポリシーをオーバーライドする必要があります。

最低限の要件として、クラスター管理者がピア Pod で oc exec コマンドを実行して機密データにアクセスするのを防ぐために、ExecProcessRequest を無効にする必要があります。

コントロールプレーンが信頼できる環境など、セキュリティーが問題にならない開発環境やテスト環境では、デフォルトポリシーを使用できます。

カスタムポリシーは、デフォルトのポリシーを完全に置き換えます。特定の API を変更するには、完全なポリシーを含め、関連するルールを調整します。

手順

  1. デフォルトのポリシーを変更して、カスタム policy.rego ファイルを作成します。

    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 := false
    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

    出力を記録します。

  3. Base64 でエンコードされたポリシー文字列を my-pod.yaml マニフェストに追加します。

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-pod
      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 create -f my-pod.yaml
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat