この記事はOPA/Regoアドベントカレンダーの1日目です。 このアドベントカレンダーでは、最近セキュリティエンジニア界隈で注目されつつある汎用的なポリシーエンジンOPA(読み:オーパ)と、OPAで利用するポリシー記述言語Rego(読み:レゴ)について解説していきます。 初日はOPA/Regoについてのざっくりどういうものかを理解してもらうための概論になります。 OPA/Regoとは OPAはサービスやソフトウェアの意思決定機能を本体と分離するために作られたエンジンです。ここで言う「意思決定」とはいわゆる認可の話だけではなく、様々なことに応用できます。 Infrastructure as Code で記述された設定に危険な構成(例えばアクセス制御が適切でない)のチェック デプロイされたリソースがポリシーに準拠した設定・構成になっているかのチェック セキュリティスキャンで検出された結果に対し