Virtual member manager
の共通ドメイン・モデルは、組織エンティティーを管理するために Virtual member manager
アプリケーションが必要とする基本概念を提供するものです。
Virtual member manager は共通モデルを提供しますが、その共通モデルには次のような柔軟性があります。
- モデル全体を使用する必要はありません。アプリケーションはモデルの一部のみを使用します。
- カスタマー環境へのデプロイメント時にモデルを拡張できます。
- モデル自体が、ある種の概念の表現方法に関して多少の柔軟性を有しています。
- Entity
- Entity は、Virtual member manager が管理する組織エンティティーを表します。
組織エンティティーは、それぞれ 1 つの Identifier と関連付けられています。
- Identifier
- Virtual member manager Identifier には、Virtual member manager
によって定義される 2 つの Identifier、つまり Virtual member manager uniqueId と
Virtual member manager uniqueName があります。
uniqueId は、グローバルに固有かつ静的で、いかなる場合にも再利用されません。
uniqueName は、Virtual member manager のインスタンスのスコープ内で固有であり、変更と再利用が可能です。
Virtual member manager の一部のデプロイメントでは uniqueName がグローバルに固有となることもありますが、
その保証はありません。
組織エンティティーはリポジトリーに格納されるので、Identifier から repositoryId を使用することもできます。
このエンティティーには、リポジトリー固有の externalName と externalId を使用できる場合もあります。
LDAP サーバーに格納されているエンティティーを例として使用すると、次のようになります。
- このエンティティーの Virtual member manager uniqueName
は、Virtual member manager 内のエントリーのマップされた DN です。
- このエンティティーの Virtual member manager uniqueId は、UUID
(Virtual member manager によって生成可能な UUID、または LDAP サーバーからの UUID) とすることができます。
- このエンティティーの RepositoryId は、Virtual member manager
のインスタンス内のリポジトリーを識別するストリング名です。
このストリング名は、Virtual member manager の当該インスタンスにあるすべてのリポジトリー名の中で固有でなければなりません。
- このエンティティーの externalName は、このエンティティーの LDAP DN とすることができます。
- このエンティティーの externalId は、LDAP 上におけるこのエンティティーの UUID とすることができます。
組織エンティティーは他の ID を持つことができます。これには、個人の社会保障番号や運転免許証番号といった、日常生活で使用されている ID が可能です。
こういった他の ID は、すべて組織エンティティーのプロパティーとみなされます。
- Group
- Group は、関係するコンテキストを持っているとは限らないエンティティーの単純な集合です。
一部のモデルでは、グループは組織のサブクラスとみなされますが、Virtual member manager は、グループと組織とをはっきり区別している LDAP など他の既存の製品との最適な合致をはかるために、
グループを明確なエンティティーとしてモデル化します。
- GroupMembership Association
- GroupMembership Association は、
グループをそのメンバーに関連付け、エンティティーをそれが属するグループに関連付けます。
- OrgContainer
- OrgContainer は、会社や企業などの組織、子会社、または部、所在地、部門などの組織単位を表します。
当該エンティティーが組織であるか組織単位であるかの区別は、o および ou プロパティーを使用して行えます。
- GeographicLocation
- Geographic location は、
実際の所在地を表します。
地理的位置としては、国、地域、地方などが可能です。
- Repository
- Repository は、Virtual member manager
のもとで構成されているデータ・リポジトリー (例えば、LDAP サーバー、データベース、またはファイル) を表します。
リポジトリー内の組織エンティティーは、さまざまなレルムに収集することによって調べることが。
例えば、LDAP サーバーがリポジトリーである場合は、LDAP サーバー内のサブツリーをそれぞれレルムとみなすことができます。
エンティティーを調査または収集する方法は、目的によって異なります。
そのまま使用できる Virtual member manager は、レルム構造を提供することによって調査をサポートします。
その他の調査方法を、アプリケーションによって Virtual member manager の上に作成できます。
- Realm
- Realm は、
特にセキュリティー・グループ・メンバーシップの認証および検索の目的で、組織エンティティーのスコープを表します。
アプリケーションは、レルムを使用して、処理する組織エンティティーの集合を Virtual member manager に対して指定します。
- Person
- Person は人間を表します。
- Login account
- Login account は、
システム内のアカウントを表します。
アカウントにより、個人やアプリケーションはシステムにログインし、システムの提供するサービスを利用することができます。
ログイン・アカウント内の情報には、ログインに使用できる名前、1 つ以上のパスワードなどが含まれています。
注: Virtual member manager が細かい設定なしでサポートする LDAP デプロイメントおよびオペレーティング・システムでは、ほとんどの場合、個人とそのログイン・アカウントが単一のエンティティーとして結合されます (例えば、LDAP inetOrgPerson など)。
これらの環境をサポートするため、Virtual member manager は、LoginAccount のサブタイプまたは拡張として PersonAccount を使用します。
PersonAccount は、個人情報を含むログイン・アカウントです。
- PersonAccount
- PersonAccount は、個人プロパティーを含む LoginAccount を表します。
これは、アカウントを使用するエンティティーが個人 (アプリケーションと対立するものとして) であるときは、ユーザー概念と等価です。
Virtual member manager の PersonAccount の目的は、リポジトリー内の、
個人情報とアカウント情報を結合したユーザー・エントリーを具体的にサポートすることにあります。
- ログイン・アカウントに対するサブタイプ
- サブタイプは、各種システム上の実際のログイン・アカウントを表します。
- Container
- Container は、Virtual member manager
のエンティティーを Virtual member manager 階層に含めるために使用される汎用コンテナー・オブジェクトを表します。
コンテナー・クラスの目的は、LDAP ディレクトリーとの統合にあります。
- Virtual member manager 階層関連
- Virtual member manager 階層は、基礎となるリポジトリー内の組織エンティティーの論理位置をある程度まで反映します。
つまり、Virtual member manager の管理するエンティティーが階層構造に編成され、Virtual member manager
がそれらのエンティティーに固有の名前を割り当てるために使用する階層名前空間が作成されます。
Virtual member manager が複数のリポジトリーを同時に使用する場合は、
この階層がそれら複数のリポジトリー間で分割されます (つまり、名前空間が分割されます)。