ポリシー
DoiT プラットフォームでは、CloudFlow などの他の DoiT の機能で使用できる、リソースベースのポリシーを作成できます。
現在、ポリシーは CloudFlow でのみ使用できます。
ポリシーとは、特定の種類のリソース(例:仮想マシンやストレージバケット)のコンプライアンスを検証するために設計された一連のルールです。単一のスタンドアロンルール(ストレージバケットは暗号化されていなければならない)にも、複数ルールの集合(ストレージバケットは暗号化され、特定のタグを持っていなければならない)にもできます。ポリシーは Rego で記述します。1 つのポリシーは複数の DoiT の機能で再利用でき、管理を簡素化し、1 つのポリシーの変更がそれを使用しているすべての DoiT の機能に自動的に適用されるようにします。
Rego
ポリシーは Rego v1 言語仕様 を使用して作成します。セキュリティと運用の整合性のため、当社プラットフォームは標準の Rego 言語のすべての機能をサポートしているわけではありません。
未サポートの機能
import ステートメントはサポートされません。すべてのポリシーロジックはポリシーのコードブロック内に自己完結している必要があります。これにより、ポリシーが単一の監査可能な単位として維持され、外部依存関係が防止されます。
未サポートの組み込み関数
次の組み込み関数はサポートされません。
-
ネットワークアクセス
-
http.send: ポリシーからの不正な HTTP リクエストを防ぎ、データ流出のリスクを軽減するため、この関数は無効です。 -
net.lookup_ip_addr: 情報漏えいに使われる可能性のある DNS ルックアップを防ぐため、この関数は無効です。
-
-
ランタイム情報へのアクセス
opa.runtime: 機密データを含む可能性がある Open Policy Agent(OPA)のランタイム設定や環境変数へのアクセスを防ぐため、この関数は無効です。
-
デバッグ
-
print: 機密データがコンソール出力に漏れるのを防ぐため、この関数は無効です。 -
trace: 潜在的な情報漏えいを防ぐため、この関数は無効です。
-
-
外部データアクセス
external_data: ポリシーが外部データプロバイダーにクエリを実行するのを防ぎ、明示的に与えられたデータのみに対してポリシーがオペレートするようにするため、この関数は無効です。