Policy as Code (PaC)

Policy as Codeは、ポリシー定義を機械的に読み取り可能かつ処理可能な形式で、1つ以上のファイルに保存する方法です。 これは、別々の文書に人間が読める形式でポリシーが文書化されていた従来の方式を置き換えます。

解決すべき問題はなんですか

アプリケーションやインフラストラクチャの構築には、しばしば組織が定義した多数のポリシーにより制約が課されます。 たとえば、シークレット情報をソースコードへの埋め込むことを禁止するセキュリティポリシーや、スーパーユーザー権限でコンテナの実行を禁止するポリシー、あるいは特定の地理的位置以外にデータを保存することを禁止するポリシーなどがあります。 開発者やレビュアーにとって、アプリケーションやインフラストラクチャが文書化されたポリシーに従っているかを手動で確認することは非常に労力がかかり、エラーも発生しやすいです。 手動のプロセスでは、クラウドネイティブアプリケーションの応答性やスケールの要件を満たせません。

どのように役に立つのでしょうか

コードを通じてポリシーを記述することは、再現性を持たせることができ、手動で行う場合と比べてエラーが減少します。 Policy as Codeの他の利点は、コードがGitのようなバージョン管理システムで管理できることです。 Gitは変更履歴を作成し、これはなにかが期待通りに機能しない際にとりわけ役に立ちます。 これにより、誰が変更を行ったのかを確認し、以前のバージョンに戻すことが可能になります。