8

LDAP ストアを使用して RBAC モデルを実装する場合 (テストベッドとして Apache Directory 1.0.2 を使用しています)、アクターの一部は明らかに特定の objectClasses にマップ可能です。

  • リソース - これに対する明確なマッピングがわかりません。applictionEntity は、この目的のために接線的にのみ意図されているようです
  • 権限 - 権限は、単一目的のロールとして表示できます。リソースへのRBACアクセス許可ではなく、LDAPオブジェクトと属性へのアクセスを管理するため、明らかにLDAPアクセス許可については考えていません
  • Roles - groupOfNames または groupOfUniqueNames にほぼ直接マップされますよね?
  • ユーザー - 人

過去に、リソースがディレクトリ内でまったく処理されず、アクセス許可とロールが Active Directory グループにマップされたモデルを見てきました。

これらの俳優を表現するためのより良い方法はありますか? スキーマの適切なマッピングと意図について説明しているドキュメントはどうでしょうか?

4

2 に答える 2

4

RBAC は RBAC ではありません RBAC は RBAC ではなく、RBAC は紙の上では難しいですが、実際に実装することはほぼ不可能です。

誰もが独自の RBAC の "アイデア" を持っており、ほとんどの人が RBAC に関連するすべてのものに対して異なる用語を使用しています。一般に、LDAP 実装の観点からすると、LDAP 内で適切な実装を行うためのすべての「部品」を持っていることはめったにありません。

簡単に言えば、「ピースパーツ」は次のとおりです。

S = 件名 = 人、自動エージェント、またはユーザー

P = パーミッション = ターゲット リソースへのアクセス モードの承認

T = ターゲット リソース = 権限を割り当てるオブジェクト

役割は、少なくとも、権限とユーザーを関連付ける必要があります。ターゲット リソースは、完全に LDAP の外部にある可能性があります。したがって、Tomcat サーバー上のアプリケーションである可能性もあれば、単に LDAP サーバー内の「その他の」エントリを読み取る権利である可能性もあります。

したがって、通常、LDAP 内で行う最善の方法は、ユーザーのリストを持つオブジェクトをセットアップし、LDAP 内にリソースがいくつかある場合は、それらのターゲット リソースに適切なディレクトリ アクセス許可を割り当てることです。

次に、小さな問題の実装があります。

役割を実装するためのポリシーが必要になりました。したがって、私たちの役割は、USER-READ-ONLY と呼びますが、それがどのように使用されるかについてのポリシーがなければ役に立ちません。

この場合、USER-READ-ONLY ロールは組織内のすべてのものを読み取ることができると言えます。

これでポリシーができました。このポリシーはどこに保存されますか? ポリシーのデジタル表現は、「ポリシー情報ポイント」または PIP に保存されます。

PIP から提供されたポリシーをどのように解釈しますか? ポリシーは、ポリシー決定ポイント (PDP) によって解釈されます。

サブジェクト (ユーザー) がリソースにアクセスできるかどうかを決定するのは誰ですか? ポリシー施行ポイント (PEP)。

このすべてのポリシーをまとめると、最終的にポリシーのデジタル表現が得られます。ポリシーは、ポリシー情報ポイントによってポリシー決定ポイントに提供されます。ポリシー決定ポイントは、アクセスが許可または拒否されるポリシー施行ポイントに決定を渡します。

では、RBAC の話では、PIP、PDP、および PEP はどこにあるのでしょうか? ターゲット リソースが LDAP ディレクトリにある場合、それは PIP である LDAP ディレクトリです (おそらくハードコードされており、抽象化されていません。PIP も PEP も同様で、簡単でした。

しかし、それが私たちのTomcatアプリケーションである場合、「私にはこのサブジェクト(ユーザー)がいて、彼はこのターゲットリソース(インベントリ)にアクセスしてこの許可を実行することを望んでいます(読み取り専用)".

確かに、これらすべてのものにはいくつかの基準があります。(Google XAML、RFC3198、ISO10181-3、NIST) ですが、これらは実用的な実装には大きなギャップがある標準です。

したがって、RBAC の実際の実装は難しいことに注意してください。

確かに、私たちはRBACについて知り、論文を研究し、それを戦略的な方向性にする必要がありますが、ベンダーとアプリケーションの幅広いベースでの実際の実装は、まだそこに達していません.

-ジム

于 2012-10-12T09:40:27.657 に答える