【入門】Open Policy AgentのRegoでポリシーを作成する手順

【入門】Open Policy AgentのRegoでポリシーを作成する手順

 

★悩み★
・Open Policy AgentのRego(レゴ)でポリシーを作成する手順を知りたい。
・Open Policy AgentのRegoで作ったポリシーを利用する手順を知りたい。
・Open Policy AgentのRego(レゴ)で作成したポリシーの例を知りたい。


こういった「悩み」に答えます。
 

★本記事の内容★
① Open Policy AgentのRegoでポリシーを作成するための準備ご紹介
② Open Policy AgentのRego(レゴ)でポリシーを作成する手順をご紹介



これからご紹介する「【入門】Open Policy AgentのRegoでポリシーを作成する手順」を実践したことで、30分以内で「Open Policy AgentのRego(レゴ)でポリシーを作成」できました。

記事の前半では「Open Policy AgentのRego(レゴ)でポリシーを作成するための準備」を解説しつつ、記事の後半では「Open Policy AgentのRego(レゴ)でポリシーを作成する手順」を紹介します。

この記事を読み終えることで、「Open Policy Agentで好きなポリシーを作成できる」状態になります。
 


ちなみに、「Open Policy Agentとは何か?」に関しては、以下の記事をご覧ください。



また、PythonからOpen Policy Agentのポリシーを利用する手順を知りたい方は、以下の記事をご覧ください。
 


 

Open Policy AgentのRegoでポリシーを作成するための準備

Open Policy AgentのRegoでポリシーを作成するための準備


「Open Policy AgentのRegoでポリシーを作成するための準備」に関してご紹介します。

★Open Policy AgentのRegoでポリシーを作成するための準備の流れ★
手順1:Open Policy Agentをインストール
手順2:Open Policy Agentの状態確認



上記の流れで、「Open Policy AgentのRegoでポリシーを作成するための準備」ができます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2021年7月6日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)



以降で、上記「Open Policy AgentのRegoでポリシーを作成するための準備の流れ」の各手順に関してご説明します。
 

手順1:Open Policy Agentをインストール

「手順1:Open Policy Agentをインストール」に関してご説明します。
 

Rego(レゴ)言語を用いてポリシーを作成するためにも、Open Policy Agentをインストールしましょう。



「Open Policy Agentのインストール手順」に関しては、以下の記事「手順1と手順2」をご覧ください。
 


 

既にOpen Policy Agentをインストール済みである場合、本手順を省略してください。 



以上で、「手順1:Open Policy Agentをインストール」は完了です。
 

手順2:Open Policy Agentの状態確認

「手順2:Open Policy Agentの状態確認」に関してご説明します。
 

インストールしたOpen Policy Agentで、Rego(レゴ)言語を用いてポリシーを作成できる状態になっているかを確認しましょう。



「Open Policy Agentの状態確認」に関しては、以下の記事「手順3」をご覧ください。
 



以上で「手順2:Open Policy Agentの状態確認」は完了です。
 

上記の流れで、Open Policy AgentのRegoでポリシーを作成するための準備ができました。


 

Open Policy AgentのRego(レゴ)でポリシーを作成する手順

Open Policy AgentのRego(レゴ)でポリシーを作成する手順


「Open Policy AgentのRego(レゴ)でポリシーを作成する手順」に関してご紹介します。

★Open Policy AgentのRego(レゴ)でポリシーを作成するまでの流れ★
手順1:Open Policy AgentのRego(レゴ)でポリシーを作成
手順2:Rego(レゴ)で作成したポリシーをOpen Policy Agentで起動
手順3:Open Policy Agent上で起動したポリシーの動作確認



上記手順を実施することで、Open Policy AgentのRego(レゴ)でポリシーを作成できます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2021年7月6日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)



以降で、上記「Open Policy AgentのRego(レゴ)でポリシーを作成するまでの流れ」の各手順に関してご説明します。
 

手順1:Open Policy AgentのRego(レゴ)でポリシーを作成

「手順1:Open Policy AgentのRego(レゴ)でポリシーを作成」に関してご説明します。
 

Rego(レゴ)言語で簡単なポリシーを作成してみましょう。



Rego(レゴ)言語で作成した簡単なポリシーのプログラムは、以下となります。

package system

main = allow

default allow = false

allow {
	input.method = "GET"
	input.path = ["test"]
}



上記のプログラムを「opa-test-policy.repo」というファイル名で保存しましょう。

ちなみに、「Rego(レゴ)言語のリファレンスを見たい」方は、以下から見られます。
Regoのリファレンス(公式サイト)


以上で、「手順1:Open Policy AgentのRego(レゴ)でポリシーを作成」は完了です。
 

手順2:Rego(レゴ)で作成したポリシーをOpen Policy Agentで起動

「手順2:Rego(レゴ)で作成したポリシーをOpen Policy Agentで起動」に関してご説明します。
 

Rego(レゴ)で作成したポリシーをOpen Policy Agent上で動かしてみましょう。



Rego(レゴ)で作成したポリシーをOpen Policy Agentで起動するために、「端末」または「コマンドプロンプト」上で以下のコマンドを実行してください。

 # ./opa run --server /var/tmp/opa-test-policy.repo 
{"addrs":[":8181"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","time":"2021-07-06T19:55:27+09:00"}



上記のように「Initializing」が表示された場合、「正常にRego(レゴ)で作成したポリシーをOpen Policy Agent上で起動できた」と判断できます。

以上で、「手順2:Rego(レゴ)で作成したポリシーをOpen Policy Agentで起動」は完了です。
 

手順3:Open Policy Agent上で起動したポリシーの動作確認

「手順3:Open Policy Agent上で起動したポリシーの動作確認」に関してご説明します。
 

curlコマンドを用いて、Rego(レゴ)言語で作成したポリシーの動作を確認しましょう。



Rego(レゴ)言語で作成したポリシーの動作を確認するために、以下のcurlコマンドを順に実行してください。

# curl http://localhost:8181 -d '{"method": "GET","path": ["test"]}'
true
# curl http://localhost:8181 -d '{"method": "GET","path": [""]}'
false
# curl http://localhost:8181 -d '{"method": "GET","path": ["cars"]}'
false



コマンド実行後、上記のように「pathがtestの場合のみtrueが表示された」場合、「正常にRego(レゴ)言語で作成したポリシーが動作している」と判断できます。

以上で、「手順3:Open Policy Agent上で起動したポリシーの動作確認」は完了です。
 

上記の流れで、Open Policy AgentのRego(レゴ)言語でポリシーを作成できました。


 

【まとめ】Open Policy AgentのRegoでポリシーを作成する手順【入門】

【入門】Open Policy AgentのRegoでポリシーを作成する手順


今回の記事を通して、「【入門】Open Policy AgentのRegoでポリシーを作成する手順」をご紹介することで、以下の悩みを解消しました。

★悩み★
・Open Policy AgentのRego(レゴ)でポリシーを作成する手順を知りたい。
・Open Policy AgentのRegoで作ったポリシーを利用する手順を知りたい。
・Open Policy AgentのRego(レゴ)で作成したポリシーの例を知りたい。



「Open Policy AgentのRego(レゴ)でポリシーを作成する手順は?」や「Open Policy AgentのRego(レゴ)で作成したポリシーの例は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。

コメント

タイトルとURLをコピーしました