この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

これは未公開の文書です Admission Controller 1.34-dev.

ポリシー設定

ポリシーの動作は固定的ではなく、ランタイム時に設定の詳細をポリシーに提供することで柔軟に構成できます。ポリシーの著者は、ポリシー設定の構造を定義する自由があります。

SUSE Security Admission Controllerはポリシー設定をJSONにシリアル化し、ポリシーが呼び出されるたびにそれを提供します。

設定の検証

ポリシーは、ユーザーが提供する設定の正確性を確認するために検証する必要があります。

各ポリシーは、ポリシー設定を検証するために`validate_settings`というwaPC関数を登録します。

`validate_settings`関数は、ユーザーが提供した設定のJSON形式を入力として受け取ります。この関数はそれらを検証し、応答として`SettingsValidationResponse`オブジェクトを返します。

`SettingsValidationResponse`オブジェクトの構造は次のとおりです:

{
  # mandatory
  "valid": <boolean>,

  # optional, ignored if accepted - recommended for rejections
  "message": <string>,
}

ユーザーが提供した設定が`valid`の場合、`validate_settings`は`message`の内容を無視します。そうでない場合、`validate_settings`は`message`の内容を表示します。

Admission Controllerのhttps://github.com/chimera-kube/policy-server[policy-server]は、起動時にユーザーが提供したすべてのポリシー設定を検証します。ポリシーサーバーは、少なくとも1つのポリシーが誤った設定パラメータを受け取った場合、直ちにエラーで終了します。

例として、次の設定形式を持つhttps://github.com/kubewarden/psp-capabilities[psp-capabilities]ポリシーを考えてみてください。

allowed_capabilities:
- CHOWN

required_drop_capabilities:
- NET_ADMIN

default_add_capabilities:
- KILL

validate_settings 関数は、次の JSON ドキュメントを入力として受け取ります:

{
  "allowed_capabilities": [
    "CHOWN"
  ],
  "required_drop_capabilities": [
    "NET_ADMIN"
  ],
  "default_add_capabilities": [
    "KILL"
  ]
}

要約

各ポリシーは、waPC 関数 validate_settings を登録しなければなりません。