PERMIS (PrivilEge and Role Management Infrastructure Standards) は、米国国立標準技術研究所 ( NIST ) 標準の Role-Based Access Control ( RBAC ) モデルの拡張バージョンを実装した、高度なポリシーベースの認可システムです。PERMIS は、ユーザーへのロールの集中割り当てを前提とする NIST モデルとは異なり、複数の分散属性機関によるユーザーへのロールと属性の分散割り当てをサポートしています。PERMIS は、公開鍵暗号化技術とX.509属性証明書を使用して暗号で保護された特権管理インフラストラクチャ ( PMI )を提供し、ユーザーの属性を管理します。PERMIS は認証メカニズムを提供しませんが、使用するものをアプリケーションに決定させます。PERMIS の強みは、事実上すべてのアプリケーションや、Shibboleth (Internet2)、Kerberos、ユーザー名/パスワード、グリッドプロキシ証明書、公開鍵インフラストラクチャ ( PKI ) などのすべての認証スキームに統合できることです。
標準的なRBACシステムとして、PERMISの主なエンティティは
PERMIS ポリシーは、eXtensible Markup Language ( XML ) ベースで、ユーザー ロールの割り当てとロール権限の割り当てのルールを持ちます。後者には、ユーザーがリソースへのアクセスを許可されたときにアプリケーションに返されるオプションの義務が含まれます。PERMIS ポリシーは、単純なテキスト XML ファイルとして、または署名された X.509 属性証明書内の属性として保存して、整合性保護と改ざん検出を実現できます。ユーザー ロールと属性は、安全な署名された X.509 属性証明書に保持され、Lightweight Directory Access Protocol ( LDAP ) ディレクトリまたは Web ベースの分散オーサリングおよびバージョン管理 ( WebDAV ) リポジトリに保存されるか、Security Assertion Markup Language ( SAML ) 属性アサーションとしてオンデマンドで作成できます。
PERMIS認可エンジンは、ユーザーロール割り当てルールに従ってユーザーのロールを検証する資格情報検証サービスと、ロール権限割り当てルール(またはアクセス制御ルール)に従ってユーザーのアクセス要求を評価するポリシー決定ポイント(PDP)の2つのコンポーネントで構成されています。リソースへのアクセスは、ユーザーに割り当てられたロール/属性と、ロール権限割り当てによって決まります。ロール権限割り当てには、ユーザーのアクセス要求(例:「10ページ未満を印刷」)や環境(例:時間帯)に基づく制約を含めることができます。PERMISは、プッシュモード(ユーザー属性割り当てがアプリケーションからPERMISに送信される)またはプルモード(PERMISがLDAP/WebDAVリポジトリまたはSAML属性機関から属性割り当てを取得する)のいずれかで動作します。
PERMISは、ユーザー属性/ロールとポリシーを暗号的に保護する機能をサポートし、それらの整合性を保証し、改ざんから保護する点で他に類を見ないものです。PERMISとXACML PDPをシームレスに交換できる標準の拡張アクセス制御マークアップ言語(XACML )インターフェース、 SAML属性アサーションの受け入れ機能、動的な権限委譲と職務分離ポリシーのサポート、そして最近ではシンプルなPERMISポリシーを記述するための制御された自然言語インターフェース(英語)など、新機能が継続的に追加されています。[ 1 ]