【OPAとは】Open Policy Agentの概要とインストール手順を解説

【OPAとは】Open Policy Agentの概要とインストール手順を解説

 

★悩み★
・Open Policy Agentとは?どんなソフトウェアでどの場合で利用するの?
・Open Policy Agentのライセンスやメリットなどの概要を知りたい。
・Open Policy Agentをインストールする手順を知りたい。



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

★本記事の内容★
① Open Policy Agentの概要をご紹介
② Open Policy Agentをインストールする手順をご紹介



これからご紹介する「【OPAとは】Open Policy Agentの概要とインストール手順を解説」を実践したことで、30分以内で「Open Policy Agentをインストール」できました。
 

記事の前半では「Open Policy Agentとはどういったソフトウェアなのか」や「メリットやライセンスなどの特養」を解説します。

記事の後半では「Open Policy Agentをインストールする手順」を紹介します。
 

この記事を読み終えることで、「Open Policy Agentの使い方を理解し使い始められる」状態になります。
 

インストール後、以下の記事を読んでいただくとOPAの使い方をより深めることができます。

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

>>【コピペOK】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(略称:OPA)とは、ポリシーエンジンの一種で、あるデータが条件を満たすかを判断できるソフトウェアです。

Open Policy Agentの読み方として、以下があります。
 

★読み方★
・オーピーエー
・オパ
・オープンポリシーエージェント



ポリシーエンジンの1つであるOpen Policy Agentを使用することで、Open Policy Agentに入力されたデータが適切かどうかを判断できます。
例えば、「ある人のRequestが適切か否かを判断し、適切である場合は詳細なデータを返却する」(下図参照)といったことを実現できます。
 

Open Policy Agentとはどのような場面で使用するのか


 

Open Policy Agentの利用場面

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とは】Open Policy Agentの概要とインストール手順を解説」をご紹介することで、以下の悩みを解消しました。

★悩み★
・Open Policy Agentとは?どんなソフトウェアでどの場合で利用するの?
・Open Policy Agentのライセンスやメリットなどの概要を知りたい。
・Open Policy Agentをインストールする手順を知りたい。



「Open Policy Agentとはどのような場面で利用するのか?」や「Open Policy Agentをインストールする手順は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。
 

コメント

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