第5章. Open Policy AgentとKubernetes
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
これまで、PaC を一般化し、基礎的な知識を中心に解説してきた。第2章では、OPA(Open Policy Agent)を紹介し、OPAツール群を検討した。 ポリシーの書き方、テスト方法、管理方法、OPA の拡張と統合方法について説明した。第 3 章では、PaC と AuthZ について検討し、OPA をこれらのユースケースでどのように使用できるかの例を再度検討した。最後に第4章では、Kubernetesクラスタ内でPaCが使用されるさまざまな機能、コンポーネント、ユースケースを取り上げた。
これから数章にわたって、具体的なPaCソリューションと、それらがKubernetesクラスタ内でどのように使用され、変異や検証のユースケースを満たすかを探っていく。その過程で、ベスト・プラクティスと潜在的な課題に触れていく。これらの章では、本書で取り上げるそれぞれのPaCソリューションが、どのようにあなたのニーズと能力に最適なのかを学ぶはずだ。
この章では、OPAとKubernetesを取り上げる。第2章で説明したように、OPAはドメインにとらわれないPaCソリューションであり、Regoポリシーをサブミットされたデータやストアされたデータに対して評価する。まずはインストールとコンポーネントから始め、Kubernetes固有のOPAポリシー、ライブラリ、ツール、テクニックについて深く掘り下げていく。
注
本書では、、OPA/Gatekeeper ではなく OPAclassic と呼ぶことがある。OPAをOPA/Gatekeeperと区別するために、この古典的な呼称を追加した。
OPA は非常に成熟した OSS プロジェクトであり、開発者とユーザの強力で活発なコミュニティがある。以下のリンクは、OPAに関するより詳細な情報を得るのに役立つ:
この章を読み進める際には、他の章と同様に、すべての例は私が表面化した参照資料に含まれているか、Policy as Code Bookのコードの組織化において、関連するGitHubリポジトリにある例から利用可能になることを覚えておいてほしい。
では、まずOPAをKubernetes(私のローカルのminikube)にインストールするところから始め、変異させたり検証したりするWebhookのユースケースにどのように適合するかを見ていこう。
OPAの設置
第4章で学んだように、Kubernetes APIサーバが起動すると、mutatingアドミッションコントローラとvalidatingアドミッションコントローラがロードされる。 最も一般的なアドミッションコントローラの2つ(動的なアドミッション制御も可能)は、mutating admission webhookとvalidating admission webhookである。これらのアドミッションコントローラは、APIサーバの起動時に、カスタムAPIサーバ設定を持つアドミッションコントローラとしてロードすることなく、OPAや他のPaCソリューションをアドミッション制御サービスとして構成することを可能にする。
注
OPAをKubernetesクラスタにインストールするための公式のインストール手順は、この ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access