7.2. OPA パッケージとルールを理解する
OPA ポリシーは、namespace を持つルールのコレクションであるパッケージに編成されます。OPA ポリシーの基本構造は以下のとおりです。
package aap_policy_examples # Package name import rego.v1 # Import required for Rego v1 syntax # Rules define the policy logic allowed := { "allowed": true, "violations": [] }
package aap_policy_examples # Package name
import rego.v1 # Import required for Rego v1 syntax
# Rules define the policy logic
allowed := {
"allowed": true,
"violations": []
}
ルールの構造の主要なコンポーネントは次のとおりです。
- Package declaration
- ポリシーの namespace を定義します。
- Rules
- ポリシーのロジックとそれが返す決定を定義します。
これらのコンポーネントを組み合わせて、[package]/[rule]
形式で OPA ポリシー名が構成されます。OPA ポリシー名は、適用ポイントの設定時に入力します。