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

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

SUSE Security Admission Controllerポリシーの作成

このセクションでは、従来のコンピューティングの類推を使用してSUSE Security Admission Controllerポリシーを紹介します。

Admission Controllerポリシーは、一つの仕事を行うプログラムのようなものです。 入力データを受け取り、そのデータで計算を行い、結果を返します。

入力データはKubernetesのアドミッションリクエストです。 計算の結果は検証応答であり、Kubernetesに対して入力データ(アドミッションリクエスト)を受け入れるか、拒否するか、または変更するかを伝えます。

policy-serverAdmission Controllerのコンポーネントは、これらの操作を実行します。

ポリシーサーバーには、データ処理機能は含まれていません。 ランタイムでアドオンを使用して処理機能を追加します。 これらのアドオンがAdmission Controllerポリシーです。

したがって、Admission Controllerポリシーは「ポリシーサーバー」プログラムのhttps://en.wikipedia.org/wiki/Plug-in_%28computing%29[従来のプラグイン]のようなものです。

まとめ:

  • Admission Controllerポリシーは、明確に定義されたAPIを使用して、Kubernetesリクエストオブジェクトの検証、ユーザーが提供したポリシー設定の検証、その他の機能を公開するプラグインです。

  • ポリシーサーバーは、プラグイン(別名ポリシー)を読み込み、それらの公開された機能を使用してKubernetesリクエストを受け入れ、拒否し、または変更する「メイン」プログラムです。

Admission Controllerポリシーの作成は、検証ビジネスロジックを書くことと、それを明確に定義されたAPIを介して公開することから成ります。

プログラミング言語の要件

Admission Controllerポリシーをhttps://webassembly.org/[WebAssembly]バイナリとして提供します。

ポリシーの著者は、WebAssemblyをコンパイルターゲットとしてサポートする任意のプログラミング言語を使用してポリシーを作成できます。 サポートされている言語のリストは常に進化しており、https://github.com/appcypher/awesome-wasm-langs[このページ]はWebAssemblyの全体像を提供しています。

現在、WebAssemblyにはホストとWebAssemblyゲスト間で複雑なデータ型を共有する公式な方法がありません。 この制限を克服するために、Admission Controllerポリシーはhttps://github.com/wapc[waPC]プロジェクトを使用しており、双方向通信チャネルを提供します。

したがって、選択したプログラミング言語には利用可能なwaPCゲストSDKが必要です。 もしそうでない場合は、お気軽にお問い合わせください。 プロジェクトチームは、この制限を克服する手助けをすることができます。