アーキテクチャ

Speedle のアーキテクチャ

モジュール

Speedle は以下のコンポーネントで構成される認可エンジンです:

  • ポリシー管理サービス (PMS) API - 認可ポリシーおよびロールポリシーと、それらが作成されるオブジェクトを管理します。

  • ポリシーリポジトリ - すべてのポリシーアーティファクトを保存します。ポリシーリポジトリには JSON ファイル、またはデータベースや etcd などの永続ストアを使用できます。

  • 認可決定サービス (ADS) API - 適用可能なポリシーに照らして認可リクエストを評価し、GRANT/DENY(許可/拒否)決定を返します。

この図は、これらのコンポーネント間の相互作用を示しています。

(1) ユーザーはポリシー管理サービス API を介してポリシーを作成・管理します。
(2) ポリシー管理サービスはポリシーリポジトリにポリシーを永続化します。
(3) ポリシーはポリシーリポジトリから認可決定サービス API にプロビジョニングされます。
(4) ユーザーシステムは認可チェックのために認可決定サービス API を呼び出します。

XACML モデルに詳しい方であれば、ポリシー管理サービス (PMS) がポリシー管理ポイント (PAP)、認可決定サービス (ADS) がポリシー決定ポイント (PDP) に相当します。