
★悩み★
・Open Policy Agentとは何を実現したい場合に利用するかを知りたい。
・Open Policy Agentをインストールする手順を知りたい。
・Open Policy AgentのCLIを起動する手順を知りたい。
こういった「悩み」に答えます。
★本記事の内容★
① Open Policy Agentとは何か?をご紹介
② Open Policy Agentをインストールする手順をご紹介
これからご紹介する「【OPAとは?】Open Policy Agentをインストールする手順」を実践したことで、30分以内で「Open Policy Agentをインストール」できました。
記事の前半では「Open Policy Agentとはどのような場面で利用するのか」を解説しつつ、記事の後半では「Open Policy Agentをインストールする手順」を紹介します。
この記事を読み終えることで、「Open Policy Agentをインストールした」状態になります。
ちなみに、「ポリシーを作成する手順を知りたい」方は、以下の記事をご覧ください。
また、PythonからOpen Policy Agentのポリシーを利用する手順を知りたい方は、以下の記事をご覧ください。
Open Policy Agentとは何か?【ポリシーエンジンです】

「Open Policy Agentとは何か?」に関してご紹介します。
★Open Policy Agentに関するご紹介事項★
・Open Policy Agentとはどのような場面で使用するのかをご紹介
・Open Policy Agentの特徴(ライセンスなど)をご紹介
以降で、上記「Open Policy Agentに関するご紹介事項」の各項目に関してご説明します。
Open Policy Agentとはどのような場面で使用するのか
「Open Policy Agentとはどのような場面で使用するのか」に関してご説明します。
Open Policy Agent(略してOPA)は、ポリシーエンジンの一種です。
ポリシーエンジンの1つであるOpen Policy Agentを使用することで、Open Policy Agentに入力されたデータが適切かどうかを判断できます。例えば、「ある人のRequestが適切か否かを判断し、適切である場合は詳細なデータを返却する」(下図参照)といったことを実現できます。

Open Policy Agentは、以下の場面で利用されます。
★Open Policy Agentの利用場面★
・Web APIのRequestなどの処理に対して、認可を行いたい。
→ 例えば、「適切なRequestの場合、詳細データを返却する」を実現可能
・ポリシーの制御(認可処理)をアプリケーションから分離させたい
→ アプリケーションのマイクロサービス化を促進可能
参照:マイクロサービスとは
以上が、「Open Policy Agentとはどのような場面で使用するのか」となります。
Open Policy Agentの特徴(ライセンスなど)
「Open Policy Agentの特徴(ライセンスなど)」に関してご説明します。
現時点(2021年8月12日)におけるOpen Policy Agentのライセンス情報などを記載しますね。
Open Policy Agentの特徴を以下に記載します。
★Open Policy Agentの特徴★
・ライセンス
→ Apache License, Version 2.0
・Rego言語でポリシーをコードとして作成(Policy as Code)
→ Datalogを参考にして作られたクエリ言語(参照:regoとは)
→ コードでポリシーを記述するため、Gitなどで管理が容易
・動作環境
→ KubernetesやTerraformなどと連携可能(参照:OPAと連携できる製品)
Open Policy Agentを1ヶ月利用して把握した「メリット」と「デメリット」を記載します。
★Open Policy Agentのメリット★
・認可処理をOPAに任せられるため、アプリのコード量が減少
・ポリシーをコードで記載できるためGitなどでバージョン管理が容易
★Open Policy Agentのデメリット★
Rego言語に関する情報が少ないため、ポリシーのコーディングに時間を要す
以上が、「Open Policy Agentの特徴(ライセンスなど)」となります。
「認可処理をコードで管理したい」や「認可処理をアプリケーションから独立させたい」場合、Open Policy Agentの利用を検討しましょう。
Open Policy Agentをインストールする手順

「Open Policy Agentをインストールする手順」に関してご紹介します。
★Open Policy Agentをインストールするまでの流れ★
手順1:Open Policy Agentをダウンロード
手順2:Open Policy Agentのセットアップ
手順3:CLIを用いたOpen Policy Agentの動作確認
上記手順を実施することで、Open Policy Agentをインストールできます。
上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2021年7月6日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)
以降で、上記「Open Policy Agentをインストールするまでの流れ」の各手順に関してご説明します。
手順1:Open Policy Agentをダウンロード
「手順1:Open Policy Agentをダウンロード」に関してご説明します。
公式サイトからOpen Policy Agentの資材をダウンロードしましょう。
Open Policy Agentの資材をダウンロードするために、「端末またはコマンドプロンプト」を起動し、以下のコマンドを実行してください。
# curl -L -o opa https://openpolicyagent.org/downloads/v0.30.1/opa_linux_amd64_static
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 88 100 88 0 0 40 0 0:00:02 0:00:02 --:--:-- 40
100 628 100 628 0 0 162 0 0:00:03 0:00:03 --:--:-- 4485
100 22.6M 100 22.6M 0 0 3530k 0 0:00:06 0:00:06 --:--:-- 9746k
# ll
合計 23248
-rw-r--r-- 1 root root 23802127 7月 6 09:32 opa
#
コマンド実行後、「opa」のファイルが存在する場合、「正常にOpen Policy Agentをダウンロードできた」と判断できます。
Open Policy Agentのダウンロードコマンドに関しては、以下の公式サイトに掲載されています。
参照:Open Policy Agentのダウンロードコマンド(公式サイト)
以上で、「手順1:Open Policy Agentをダウンロード」は完了です。
手順2:Open Policy Agentのセットアップ
「手順2:Open Policy Agentのセットアップ」に関してご説明します。
ダウンロードしたOpen Policy Agentを利用するためにセットアップをしましょう。
ダウンロードしたOpen Policy Agentをセットアップするために、以下のコマンドを順に実行して下さい。
# chmod 755 ./opa
# ll
合計 23248
-rwxr-xr-x 1 root root 23802127 7月 6 09:32 opa
#
コマンド実行後、opaファイルの権限が上記のようになった場合、「正常にOpen Policy Agentをセットアップできた」と判断できます。
以上で、「手順2:Open Policy Agentのセットアップ」は完了です。
手順3:CLIを用いたOpen Policy Agentの動作確認
「手順3:CLIを用いたOpen Policy Agentの動作確認」に関してご説明します。
CLI(コマンドラインインタフェース)を用いて、Open Policy Agentの動作を確認しましょう。
Open Policy Agentの動作を確認するために、以下のコマンドを順に実行してください。
# ./opa run
OPA 0.30.1 (commit 03b0b1f, built at 2021-07-02T09:52:24Z)
Run 'help' to see a list of commands and check for updates.
> a = 3
Rule 'a' defined in package repl. Type 'show' to see rules.
> show
package repl
a = 3
> exit
#
コマンド実行後、「a = 3」が表示された場合、「正常にOpen Policy Agentが動作している」と判断できます。
以上で、「手順3:CLIを用いたOpen Policy Agentの動作確認」は完了です。
上記の流れで、Open Policy Agentをインストールできました。
【まとめ】Open Policy Agentをインストールする手順【OPAとは?】

今回の記事を通して、「【OPAとは?】Open Policy Agentをインストールする手順」をご紹介することで、以下の悩みを解消しました。
★悩み★
・Open Policy Agentとは何を実現したい場合に利用するかを知りたい。
・Open Policy Agentをインストールする手順を知りたい。
・Open Policy AgentのCLIを起動する手順を知りたい。
「Open Policy Agentとはどのような場面で利用するのか?」や「Open Policy Agentをインストールする手順は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。
コメント