JP2004110364A - ディレクトリサービス相互間におけるユーザアカウントの属性同期方法 - Google Patents
ディレクトリサービス相互間におけるユーザアカウントの属性同期方法 Download PDFInfo
- Publication number
- JP2004110364A JP2004110364A JP2002271566A JP2002271566A JP2004110364A JP 2004110364 A JP2004110364 A JP 2004110364A JP 2002271566 A JP2002271566 A JP 2002271566A JP 2002271566 A JP2002271566 A JP 2002271566A JP 2004110364 A JP2004110364 A JP 2004110364A
- Authority
- JP
- Japan
- Prior art keywords
- directory service
- synchronization
- attribute
- user account
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】ディレクトリ構造やユーザ名の命名規則に依存せず、利用者の意図した属性によって同期対象ユーザアカウントを特定し、パスワード等の属性を自動的に同期させること。
【解決手段】同期元ディレクトリサービスにおけるユーザアカウントの属性変更操作を監視し、変更操作検出時に、同期元ディレクトリサービスに予め登録しておいた同期先ディレクトリサービスに対し、同期元と同期先で一致する一致属性を指定して送信し、一致属性に一致する属性のユーザアカウントが登録されているかを検索するステップと、一致する属性のユーザアカウントが登録されていたならば、同期元ディレクトリサービスにおけるユーザアカウントの属性変更内容を同期先ディレクトリサービスに送信し、同期先ディレクトリサービスにおける一致属性を持つユーザアカウントの属性を変更させるステップとを備える。
【選択図】 図3
【解決手段】同期元ディレクトリサービスにおけるユーザアカウントの属性変更操作を監視し、変更操作検出時に、同期元ディレクトリサービスに予め登録しておいた同期先ディレクトリサービスに対し、同期元と同期先で一致する一致属性を指定して送信し、一致属性に一致する属性のユーザアカウントが登録されているかを検索するステップと、一致する属性のユーザアカウントが登録されていたならば、同期元ディレクトリサービスにおけるユーザアカウントの属性変更内容を同期先ディレクトリサービスに送信し、同期先ディレクトリサービスにおける一致属性を持つユーザアカウントの属性を変更させるステップとを備える。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
本発明は、RFC−1777に定義されたLDAPに準拠したディレクトリサービス相互間におけるユーザアカウントの属性同期方法に関するものである。
【0002】
【従来の技術】
従来、ディレクトリサービス間のユーザアカウントを連携させる製品としてNovell社の提供するNovell Account Managementが知られている(例えば、非特許文献1参照)。
【0003】
【非特許文献1】
Novell社発行、「Novell Account Management」[2.1 Directory services],WHITE PAPER,www.novell.co.jp
上記Novell Account Managementは、Novell社の提供するディレクトリサービスであるNDS(Novell Directory Services)上で、他社のディレクトリサービスを一元管理することを目的としている。
Novell Account Managementは、ディレクトリサービスごとに専用のソフトウェアモジュールが用意されている。これを他社ディレクトリサービスの動作するプラットフォームに導入することにより、NDS上で他社ディレクトリサービスの機能を一元管理することを可能にしている。
【0004】
【発明が解決しようとする課題】
しかしながら、Novell Account Managementは他社のディレクトリサービスに対して変更を行うため、他社ディレクトリサービスの仕様変更に対して、即座に対応できないという問題がある。
また、ディレクトリサービスの階層構造やユーザ名の命名規則が異なる場合、どちらかのディレクトリ構造に統一しないと、Novell Account Managementを導入することはできない。
【0005】
本発明の目的は、ディレクトリ構造やユーザ名の命名規則に依存せず、利用者の意図した属性によって同期対象ユーザアカウントを特定し、パスワード等の属性を自動的に同期させることができる、LDAP(Light Weight Access Protocol)を利用した汎用的なユーザアカウントの属性同期方法を提供することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するために、本発明は、ユーザアカウントに関するディレクトリサービスを行うディレクトリサービス相互間において同一ユーザに関するユーザアカウントの属性を同期させるユーザアカウントの属性同期方法であって、
同期元ディレクトリサービスにおけるユーザアカウントの属性変更操作を監視し、変更操作検出時に、同期元ディレクトリサービスに予め登録しておいた同期先ディレクトリサービスに対し、同期元と同期先で一致する一致属性を指定してLDAP準拠のプロトコルで送信し、前記一致属性に一致する属性のユーザアカウントが登録されているかを検索する第1のステップと、指定した一致属性と一致する属性のユーザアカウントが登録されていたならば、同期元ディレクトリサービスにおけるユーザアカウントの属性変更内容を同期先ディレクトリサービスに対しLDAP準拠のプロトコルで送信し、同期先ディレクトリサービスにおける前記一致属性を持つユーザアカウントの属性を変更させる第2のステップとを備えることを特徴とする。
そして、前記第2のステップにおいて、ユーザアカウントの属性の1つであるパスワードについて、変更されたパスワードを暗号化せずに同期先ディレクトリサービスに送信し、同期先ディレクトリサービスにおいて暗号化して登録させることを特徴とする。
【0007】
【発明の実施の形態】
以下、本発明を実施する形態を、図面を用いて説明する。
図1は、本発明の実施の形態を示すシステム構成図である。
この実施形態は、同期元のディレクトリサービス1、同期元のディレクトリサービスが動作するディレクトリサーバ2,ディレクトリサービス機能を提供するディレクトリサービスモジュール3、同期先ディレクトリサービス6の情報を格納するオブジェクト4、ユーザアカウントに関する変更イベントを同期先ディレクトリサービス6に通知する同期イベント監視モジュール5、同期対象となる同期先ディレクトリサービス6、同期先ディレクトリサービス6が動作するディレクトリサーバ7、ディレクトリサーバ7にディレクトリサービス機能を提供するディレクトリサービスモジュール8が存在する。
【0008】
同期対象となる同期先ディレクトリサービス6の情報を格納するオブジェクト4は、本発明を実現するために同期元ディレクトリサービス1内に新たに付加されたものである。
このオブジェクト4のクラス属性には、図2に示すような属性が格納される。すなわち、同期先201、TCPポート202、認証ユーザ203、パスワード204、SSL証明書205、検索開始DN206、検索範囲207、一致属性208、不一致処理209、新規作成DN210、削除処理211である。
同期先201は、同期対象ディレクトリサーバ7のホスト名またはIPアドレスを指定するものである。
TCPポート202は、LDAP通信に使用するTCPポート番号を指定するものである。
認証ユーザ203は、同期対象ディレクトリサービス6の参照/変更権利を持つユーザの識別名を指定するものである。
パスワード204は、認証ユーザのパスワードを指定するものである。
SSL証明書205は、TCPポートでSSL通信ポートを指定した場合に、同期対象ディレクトリサーバ8の発行した証明書を格納するものである。
検索開始DN206は、同期対象ディレクトリサービスのコンテナを指定するものであり、指定無しは最上位階層から検索する。
検索範囲207は、検索開始DNから、どのレベルの階層まで検索するかを指定するものである。
一致属性208は、ディレクトリ構造やユーザIDが異なっても、同期元と同期先を関連付けられるよう、両ディレクトリサービスで一致する属性を指定するものであり、複数属性を指定可能である。
不一致処理209は、一致属性で指定した情報に該当するユーザがいない場合、新規ユーザとして作成するか、エラーとして処理するかを指定するものである。
新規作成DN210は、新規ユーザとして作成する場合の作成場所を指定するものである。
削除処理211は、自ディレクトリサービスのユーザが削除された場合、同期先のユーザも削除するか、否かを指定するものである。
【0009】
ディレクトリサーバ2では、同期イベント監視モジュール5が動作しており、この同期イベント監視モジュール5が、ユーザアカウントに対する変更操作を検知すると、同期対象ディレクトリサービス1のオブジェクト4に格納した情報に従い、同期対象となるディレクトリサービス6が動作するディレクトリサーバ7に対してLDAPにて同期要求を行う。この同期要求を送信するに際しては、オブジェクト4に格納されたクラス属性の同期先201、TCPポート202を指定し、さらに認証ユーザ203、パスワード204、SSL証明書5を添付する。
【0010】
図3は、同期イベント監視モジュール5の機能を概念的に示した説明図である。
本発明では前述のように、同期先ディレクトリサービス6の情報を格納するオブジェクト4を格納する領域を新たに付加し、さらに各ユーザのアカウントを格納するユーザオブジェクト9に暗号化しない状態でパスワードを格納できる領域を付加する。
図3では、ユーザA(User−A)のオブジェクト9について暗号化したパスワードを格納する領域91に対し、新たに暗号化していないパスワードを格納する領域92が新たに付加されている。
ユーザアカウントの属性の1つであるパスワードの変更が発生すると(S301)、変更されたパスワードを暗号化してオブジェクト4の格納領域91に格納した後(S302)、同期対象ディレクトリのオブジェクト4に属性変更通知を発行し(S303)、該オブジェクト4に格納された情報に基づきオブジェクト同期先のディレクトリサービス6に対する検索要求をLDAPを用い送信する(S304)。
検索要求を送信するに際しては、同期元と同期先で一致する一致属性を指定してLDAP準拠のプロトコルで送信する。
【0011】
図3の例では、ユーザ「YAMADA TARO」のパスワード「ABC」を「123」に変更した場合に、同期対象ディレクトリのオブジェクト4では一致属性として「fullname」を指定しているので、同期元のユーザAの「fullname=YAMADA TARO」を送信する。
同期先のディレクトリサーバ7は、指定された一致属性「YAMADA TARO」を持つユーザアカウントがディレクトリサービス6に登録されているかを検索し、検索結果の応答を返す。
【0012】
登録されていたならば、同期元ディレクトリサーバ2は、同期元ディレクトリサービス1におけるユーザアカウントの属性変更内容(パスワード「ABC」を「123」に変更する)を含む変更通知を同期先ディレクトリサーバ7に対しLDAP準拠のプロトコルで送信し(S305)、同期先ディレクトリサービス6における一致属性「fullname=YAMADA TARO」を持つユーザアカウントのパスワードを変更させる。
これにより、同期先のディレクトリサービス6の「YAMADA TARO」のユーザオブジェクト11の暗号化パスワード格納領域111には、変更前の暗号化パスワード「ABC」に代えて、変更後のパスワード「123」が暗号化されて格納される。
【0013】
図4は、同期イベント監視モジュール5の監視動作を示すフローチャートである。
同期先ディレクトリのオブジェクト4がディレクトリサーバ2の管理者によって作成されてディレクトリサービス1内に登録されているかを判定し、登録されていなければ、処理を終了し、ユーザアカウントの属性の変更操作の監視を行なわない(ステップ401)。
作成されていた場合には、以下の手順で属性変更操作を検出し、必要な同期処理を進める。
属性の変更イベント、例えばパスワード「abc123」を「xyz789」に変更するイベントが発生したことを検出すると(ステップ402)、図5に示すように、ディレクトリサーバ2にパスワード変更要求を通知し、新たなパスワード「xyz789」をオブジェクト4の非暗号化格納領域92に格納させたのち、新たなパスワード「xyz789」を暗号化して暗号化格納領域91に格納させる。
こののち、図6に示すように、非暗号化格納領域92に格納されている変更内容(「xyz789」)をオブジェクト4に転送する。
【0014】
同期イベント発生モジュール5は、同期対象ディレクトリのオブジェクト4に登録されている全ての同期先への通知が完了したかを判定する(ステップ403)。完了していない場合、同期先ディレクトリサービス6への認証手続をオブジェクト4に実施させる(ステップ404)。
図7に、同期先ディレクトリサービス6への認証手続の様子を示す。
【0015】
パスワード変更の通知を受けた同期対象ディレクトリのオブジェクト4は、図2の同期先201とTCPポート202に設定された内容に基づき、同期対象となるディレクトリサービス6を把握する。さらに図2の認証ユーザ203とパスワード204の設定内容を使用し、同期先ディレクトリサービス6に対して参照権と変更権を持つユーザで、LDAP認証を行う。この場合、ディレクトリサービス間で、SSLプロトコルによる暗号化通信を行う場合は、同期先ディレクトリサービス6の発行したSSL証明書205を添付する。
【0016】
LDAP認証に成功すると、イベント内容が削除か、新規作成または変更かを判定し(ステップ405)、新規作成または変更のイベントであれば、同期対象ユーザの検索を行なう。削除のイベントであれば、オブジェクト4のクラス属性における不一致処理209の設定内容に応じた処理を行う。
新規作成または変更のイベントであった場合、同期先ディレクトリサービス6に同期対象のユーザが存在するか、検索する(ステップ406)。利用者は、同期先ディレクトリサービスの検索開始位置と検索する階層レベルを図2の検索開始DN206と検索範囲207に指定しておく。検索場所を指定することで、同期を行う部分を限定することを可能にする。さらに、運用においては、ディレクトリサービスごとにユーザ名の命名規則が異なる場合がある。また、ディレクトリ構造も同様に異なる場合がある。そこで、同期対象ユーザを一意に識別するための属性を、利用者が指定できるようにする。同期対象ディレクトリオブジェクト4は、図2の一致属性を用い、同期対象となるユーザをLDAPリクエストで検索する。一致属性は、任意のLDAP属性を指定できる。図8は、一致属性を元に同期対象ユーザを検索する様子を示している。図8での一致属性は「fullName」で、ユーザAの「fullName」属性の値は「YAMADA Taro」であり、この情報を元にディレクトリサービス6上で「fullName = YAMADA Taro」と一致するユーザオブジェクトが存在するか否か検索する。図8に、「fullName = YAMADA Taro」で検索する様子を示している。
【0017】
検索の結果、同期先ディレクトリサービス6に「fullName = YAMADA Taro」のユーザが存在することが判明したならば(ステップ407)、パスワード変更通知を同期先ディレクトリサービス6に送信し、同期先ユーザのパスワードを変更させる(ステップ410)。これにより、図9に示すように、同期先ディレクトリサービス6では、「fullName = YAMADA Taro」のパスワードが「ABC123」から「XYZ789」に変更される。
【0018】
「fullName = YAMADA Taro」が同期先ディレクトリサービス6に存在しない場合、オブジェクト4のクラス属性の不一致処理209に設定された内容に基づいて同期先ディレクトリサービス6に対する変更を行なわない、または新規作成の処理を実行する。すなわち、不一致処理209として何らの内容が設定されていなかった場合には、図10(a)に示すように同期先ディレクトリサービス6に対する属性変更は実施しない。
しかし、新規作成する旨の設定がなされていた場合には、不一致処理209で指定されているディレクトリサービス6の階層にユーザオブジェクトを図10(b)に示すように新規に作成する(ステップ409)。
【0019】
一方、同期元ディレクトリサービス1で発生したイベントが削除イベントであった場合、不一致処理209の内容を調べ(ステップ411)、内容が設定されていなければ、図11(a)に示すように同期先ディレクトリサービス6に対する属性変更は実施しない。
しかし、内容が設定されていた場合、削除対象のユーザを検索し(ステップ412)、該当ユーザが存在するかを判定し(ステップ413)、存在した場合には、図11(b)に示すように同期先ディレクトリサービス6から該当ユーザのオブジェクトを削除する要求を送信し、削除させる。存在しなかった場合には何もしない。
なお、図3で示すディレクトリサービス1及び6には組織オブジェクト10,12が存在するが、この組織オブジェクトの属性を変更する場合にも全く同様に実施することができる。
【0020】
以上のように、本実施形態によれば、LDAPに準拠した機能のみでディレクトリサービス間の同期が可能になり、ディレクトリサービスに特化した仕様に依存しない、容易な拡張性を提供することが可能になる。また、LDAP準拠しているディレクトリサービスであれば同期対象となるので、汎用的に利用できる。また、同期先のディレクトリサービス情報を同期対象ディレクトリオブジェクトとして、利用者が設定できるため、命名規則やディレクトリ構造の異なるディレクトリサービス間への導入が容易に行える。さらに、同期対象ディレクトリオブジェクトを複数作成することで、1対多のディレクトリサービス間同期が可能になる。また、複数のディレクトリサービスに本発明を適用することで、ディレクトリサービス間の相互同期が可能になる。
また、変更されたパスワードを暗号化しない状態で格納する領域を持たせることで、ディレクトリサービスごとに異なるパスワード暗号化技術を意識せずに、パスワードの同期を採ることができる。
【0021】
【発明の効果】
以上説明したように本発明によれば、ディレクトリ構造やユーザ名の命名規則に依存せず、利用者の意図した属性によって同期対象ユーザアカウントを特定し、パスワード等の属性を自動的に同期させることができる。
【図面の簡単な説明】
【図1】本発明の実施形態を示すシステム構成図である。
【図2】同期対象ディレクトリオブジェクトクラスに設定された属性の例を示す図である。
【図3】同期イベント監視モジュールの動作の概要を示す図である。
【図4】同期イベント監視モジュールの処理を示すフローチャートである。
【図5】パスワード変更要求に対するユーザオブジェクト内の処理の流れを示す図である。
【図6】ユーザオブジェクトから同期対象ディレクトリオブジェクトへの通知の流れを示す図である。
【図7】同期先ディレクトリサービスへの認証の流れを示す図である。
【図8】同期先ディレクトリサービスの検索の流れを示す図である。
【図9】同期先ディレクトリサービスへのパスワード変更の流れを示す図である。
【図10】同期対象となるユーザが存在しなかった場合の流れを示す図である。
【図11】ユーザが削除された場合の流れを示す図である。
【符号の説明】
1…同期元のディレクトリサービス、2…同期元のディレクトリサーバ、3…ディレクトリサービスモジュール、4…同期先ディレクトリサービスの情報を格納するオブジェクト、5…同期イベント監視モジュール、6…同期先ディレクトリサービス、7…同期先のディレクトリサーバ、8…ディレクトリサービスモジュール,9…同期元ディレクトリサービスのユーザオブジェクト、10…同期元ディレクトリサービスの組織オブジェクト、11…同期先ディレクトリサービスのユーザオブジェクト、12…同期先ディレクトリサービスの組織オブジェクト。
【発明の属する技術分野】
本発明は、RFC−1777に定義されたLDAPに準拠したディレクトリサービス相互間におけるユーザアカウントの属性同期方法に関するものである。
【0002】
【従来の技術】
従来、ディレクトリサービス間のユーザアカウントを連携させる製品としてNovell社の提供するNovell Account Managementが知られている(例えば、非特許文献1参照)。
【0003】
【非特許文献1】
Novell社発行、「Novell Account Management」[2.1 Directory services],WHITE PAPER,www.novell.co.jp
上記Novell Account Managementは、Novell社の提供するディレクトリサービスであるNDS(Novell Directory Services)上で、他社のディレクトリサービスを一元管理することを目的としている。
Novell Account Managementは、ディレクトリサービスごとに専用のソフトウェアモジュールが用意されている。これを他社ディレクトリサービスの動作するプラットフォームに導入することにより、NDS上で他社ディレクトリサービスの機能を一元管理することを可能にしている。
【0004】
【発明が解決しようとする課題】
しかしながら、Novell Account Managementは他社のディレクトリサービスに対して変更を行うため、他社ディレクトリサービスの仕様変更に対して、即座に対応できないという問題がある。
また、ディレクトリサービスの階層構造やユーザ名の命名規則が異なる場合、どちらかのディレクトリ構造に統一しないと、Novell Account Managementを導入することはできない。
【0005】
本発明の目的は、ディレクトリ構造やユーザ名の命名規則に依存せず、利用者の意図した属性によって同期対象ユーザアカウントを特定し、パスワード等の属性を自動的に同期させることができる、LDAP(Light Weight Access Protocol)を利用した汎用的なユーザアカウントの属性同期方法を提供することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するために、本発明は、ユーザアカウントに関するディレクトリサービスを行うディレクトリサービス相互間において同一ユーザに関するユーザアカウントの属性を同期させるユーザアカウントの属性同期方法であって、
同期元ディレクトリサービスにおけるユーザアカウントの属性変更操作を監視し、変更操作検出時に、同期元ディレクトリサービスに予め登録しておいた同期先ディレクトリサービスに対し、同期元と同期先で一致する一致属性を指定してLDAP準拠のプロトコルで送信し、前記一致属性に一致する属性のユーザアカウントが登録されているかを検索する第1のステップと、指定した一致属性と一致する属性のユーザアカウントが登録されていたならば、同期元ディレクトリサービスにおけるユーザアカウントの属性変更内容を同期先ディレクトリサービスに対しLDAP準拠のプロトコルで送信し、同期先ディレクトリサービスにおける前記一致属性を持つユーザアカウントの属性を変更させる第2のステップとを備えることを特徴とする。
そして、前記第2のステップにおいて、ユーザアカウントの属性の1つであるパスワードについて、変更されたパスワードを暗号化せずに同期先ディレクトリサービスに送信し、同期先ディレクトリサービスにおいて暗号化して登録させることを特徴とする。
【0007】
【発明の実施の形態】
以下、本発明を実施する形態を、図面を用いて説明する。
図1は、本発明の実施の形態を示すシステム構成図である。
この実施形態は、同期元のディレクトリサービス1、同期元のディレクトリサービスが動作するディレクトリサーバ2,ディレクトリサービス機能を提供するディレクトリサービスモジュール3、同期先ディレクトリサービス6の情報を格納するオブジェクト4、ユーザアカウントに関する変更イベントを同期先ディレクトリサービス6に通知する同期イベント監視モジュール5、同期対象となる同期先ディレクトリサービス6、同期先ディレクトリサービス6が動作するディレクトリサーバ7、ディレクトリサーバ7にディレクトリサービス機能を提供するディレクトリサービスモジュール8が存在する。
【0008】
同期対象となる同期先ディレクトリサービス6の情報を格納するオブジェクト4は、本発明を実現するために同期元ディレクトリサービス1内に新たに付加されたものである。
このオブジェクト4のクラス属性には、図2に示すような属性が格納される。すなわち、同期先201、TCPポート202、認証ユーザ203、パスワード204、SSL証明書205、検索開始DN206、検索範囲207、一致属性208、不一致処理209、新規作成DN210、削除処理211である。
同期先201は、同期対象ディレクトリサーバ7のホスト名またはIPアドレスを指定するものである。
TCPポート202は、LDAP通信に使用するTCPポート番号を指定するものである。
認証ユーザ203は、同期対象ディレクトリサービス6の参照/変更権利を持つユーザの識別名を指定するものである。
パスワード204は、認証ユーザのパスワードを指定するものである。
SSL証明書205は、TCPポートでSSL通信ポートを指定した場合に、同期対象ディレクトリサーバ8の発行した証明書を格納するものである。
検索開始DN206は、同期対象ディレクトリサービスのコンテナを指定するものであり、指定無しは最上位階層から検索する。
検索範囲207は、検索開始DNから、どのレベルの階層まで検索するかを指定するものである。
一致属性208は、ディレクトリ構造やユーザIDが異なっても、同期元と同期先を関連付けられるよう、両ディレクトリサービスで一致する属性を指定するものであり、複数属性を指定可能である。
不一致処理209は、一致属性で指定した情報に該当するユーザがいない場合、新規ユーザとして作成するか、エラーとして処理するかを指定するものである。
新規作成DN210は、新規ユーザとして作成する場合の作成場所を指定するものである。
削除処理211は、自ディレクトリサービスのユーザが削除された場合、同期先のユーザも削除するか、否かを指定するものである。
【0009】
ディレクトリサーバ2では、同期イベント監視モジュール5が動作しており、この同期イベント監視モジュール5が、ユーザアカウントに対する変更操作を検知すると、同期対象ディレクトリサービス1のオブジェクト4に格納した情報に従い、同期対象となるディレクトリサービス6が動作するディレクトリサーバ7に対してLDAPにて同期要求を行う。この同期要求を送信するに際しては、オブジェクト4に格納されたクラス属性の同期先201、TCPポート202を指定し、さらに認証ユーザ203、パスワード204、SSL証明書5を添付する。
【0010】
図3は、同期イベント監視モジュール5の機能を概念的に示した説明図である。
本発明では前述のように、同期先ディレクトリサービス6の情報を格納するオブジェクト4を格納する領域を新たに付加し、さらに各ユーザのアカウントを格納するユーザオブジェクト9に暗号化しない状態でパスワードを格納できる領域を付加する。
図3では、ユーザA(User−A)のオブジェクト9について暗号化したパスワードを格納する領域91に対し、新たに暗号化していないパスワードを格納する領域92が新たに付加されている。
ユーザアカウントの属性の1つであるパスワードの変更が発生すると(S301)、変更されたパスワードを暗号化してオブジェクト4の格納領域91に格納した後(S302)、同期対象ディレクトリのオブジェクト4に属性変更通知を発行し(S303)、該オブジェクト4に格納された情報に基づきオブジェクト同期先のディレクトリサービス6に対する検索要求をLDAPを用い送信する(S304)。
検索要求を送信するに際しては、同期元と同期先で一致する一致属性を指定してLDAP準拠のプロトコルで送信する。
【0011】
図3の例では、ユーザ「YAMADA TARO」のパスワード「ABC」を「123」に変更した場合に、同期対象ディレクトリのオブジェクト4では一致属性として「fullname」を指定しているので、同期元のユーザAの「fullname=YAMADA TARO」を送信する。
同期先のディレクトリサーバ7は、指定された一致属性「YAMADA TARO」を持つユーザアカウントがディレクトリサービス6に登録されているかを検索し、検索結果の応答を返す。
【0012】
登録されていたならば、同期元ディレクトリサーバ2は、同期元ディレクトリサービス1におけるユーザアカウントの属性変更内容(パスワード「ABC」を「123」に変更する)を含む変更通知を同期先ディレクトリサーバ7に対しLDAP準拠のプロトコルで送信し(S305)、同期先ディレクトリサービス6における一致属性「fullname=YAMADA TARO」を持つユーザアカウントのパスワードを変更させる。
これにより、同期先のディレクトリサービス6の「YAMADA TARO」のユーザオブジェクト11の暗号化パスワード格納領域111には、変更前の暗号化パスワード「ABC」に代えて、変更後のパスワード「123」が暗号化されて格納される。
【0013】
図4は、同期イベント監視モジュール5の監視動作を示すフローチャートである。
同期先ディレクトリのオブジェクト4がディレクトリサーバ2の管理者によって作成されてディレクトリサービス1内に登録されているかを判定し、登録されていなければ、処理を終了し、ユーザアカウントの属性の変更操作の監視を行なわない(ステップ401)。
作成されていた場合には、以下の手順で属性変更操作を検出し、必要な同期処理を進める。
属性の変更イベント、例えばパスワード「abc123」を「xyz789」に変更するイベントが発生したことを検出すると(ステップ402)、図5に示すように、ディレクトリサーバ2にパスワード変更要求を通知し、新たなパスワード「xyz789」をオブジェクト4の非暗号化格納領域92に格納させたのち、新たなパスワード「xyz789」を暗号化して暗号化格納領域91に格納させる。
こののち、図6に示すように、非暗号化格納領域92に格納されている変更内容(「xyz789」)をオブジェクト4に転送する。
【0014】
同期イベント発生モジュール5は、同期対象ディレクトリのオブジェクト4に登録されている全ての同期先への通知が完了したかを判定する(ステップ403)。完了していない場合、同期先ディレクトリサービス6への認証手続をオブジェクト4に実施させる(ステップ404)。
図7に、同期先ディレクトリサービス6への認証手続の様子を示す。
【0015】
パスワード変更の通知を受けた同期対象ディレクトリのオブジェクト4は、図2の同期先201とTCPポート202に設定された内容に基づき、同期対象となるディレクトリサービス6を把握する。さらに図2の認証ユーザ203とパスワード204の設定内容を使用し、同期先ディレクトリサービス6に対して参照権と変更権を持つユーザで、LDAP認証を行う。この場合、ディレクトリサービス間で、SSLプロトコルによる暗号化通信を行う場合は、同期先ディレクトリサービス6の発行したSSL証明書205を添付する。
【0016】
LDAP認証に成功すると、イベント内容が削除か、新規作成または変更かを判定し(ステップ405)、新規作成または変更のイベントであれば、同期対象ユーザの検索を行なう。削除のイベントであれば、オブジェクト4のクラス属性における不一致処理209の設定内容に応じた処理を行う。
新規作成または変更のイベントであった場合、同期先ディレクトリサービス6に同期対象のユーザが存在するか、検索する(ステップ406)。利用者は、同期先ディレクトリサービスの検索開始位置と検索する階層レベルを図2の検索開始DN206と検索範囲207に指定しておく。検索場所を指定することで、同期を行う部分を限定することを可能にする。さらに、運用においては、ディレクトリサービスごとにユーザ名の命名規則が異なる場合がある。また、ディレクトリ構造も同様に異なる場合がある。そこで、同期対象ユーザを一意に識別するための属性を、利用者が指定できるようにする。同期対象ディレクトリオブジェクト4は、図2の一致属性を用い、同期対象となるユーザをLDAPリクエストで検索する。一致属性は、任意のLDAP属性を指定できる。図8は、一致属性を元に同期対象ユーザを検索する様子を示している。図8での一致属性は「fullName」で、ユーザAの「fullName」属性の値は「YAMADA Taro」であり、この情報を元にディレクトリサービス6上で「fullName = YAMADA Taro」と一致するユーザオブジェクトが存在するか否か検索する。図8に、「fullName = YAMADA Taro」で検索する様子を示している。
【0017】
検索の結果、同期先ディレクトリサービス6に「fullName = YAMADA Taro」のユーザが存在することが判明したならば(ステップ407)、パスワード変更通知を同期先ディレクトリサービス6に送信し、同期先ユーザのパスワードを変更させる(ステップ410)。これにより、図9に示すように、同期先ディレクトリサービス6では、「fullName = YAMADA Taro」のパスワードが「ABC123」から「XYZ789」に変更される。
【0018】
「fullName = YAMADA Taro」が同期先ディレクトリサービス6に存在しない場合、オブジェクト4のクラス属性の不一致処理209に設定された内容に基づいて同期先ディレクトリサービス6に対する変更を行なわない、または新規作成の処理を実行する。すなわち、不一致処理209として何らの内容が設定されていなかった場合には、図10(a)に示すように同期先ディレクトリサービス6に対する属性変更は実施しない。
しかし、新規作成する旨の設定がなされていた場合には、不一致処理209で指定されているディレクトリサービス6の階層にユーザオブジェクトを図10(b)に示すように新規に作成する(ステップ409)。
【0019】
一方、同期元ディレクトリサービス1で発生したイベントが削除イベントであった場合、不一致処理209の内容を調べ(ステップ411)、内容が設定されていなければ、図11(a)に示すように同期先ディレクトリサービス6に対する属性変更は実施しない。
しかし、内容が設定されていた場合、削除対象のユーザを検索し(ステップ412)、該当ユーザが存在するかを判定し(ステップ413)、存在した場合には、図11(b)に示すように同期先ディレクトリサービス6から該当ユーザのオブジェクトを削除する要求を送信し、削除させる。存在しなかった場合には何もしない。
なお、図3で示すディレクトリサービス1及び6には組織オブジェクト10,12が存在するが、この組織オブジェクトの属性を変更する場合にも全く同様に実施することができる。
【0020】
以上のように、本実施形態によれば、LDAPに準拠した機能のみでディレクトリサービス間の同期が可能になり、ディレクトリサービスに特化した仕様に依存しない、容易な拡張性を提供することが可能になる。また、LDAP準拠しているディレクトリサービスであれば同期対象となるので、汎用的に利用できる。また、同期先のディレクトリサービス情報を同期対象ディレクトリオブジェクトとして、利用者が設定できるため、命名規則やディレクトリ構造の異なるディレクトリサービス間への導入が容易に行える。さらに、同期対象ディレクトリオブジェクトを複数作成することで、1対多のディレクトリサービス間同期が可能になる。また、複数のディレクトリサービスに本発明を適用することで、ディレクトリサービス間の相互同期が可能になる。
また、変更されたパスワードを暗号化しない状態で格納する領域を持たせることで、ディレクトリサービスごとに異なるパスワード暗号化技術を意識せずに、パスワードの同期を採ることができる。
【0021】
【発明の効果】
以上説明したように本発明によれば、ディレクトリ構造やユーザ名の命名規則に依存せず、利用者の意図した属性によって同期対象ユーザアカウントを特定し、パスワード等の属性を自動的に同期させることができる。
【図面の簡単な説明】
【図1】本発明の実施形態を示すシステム構成図である。
【図2】同期対象ディレクトリオブジェクトクラスに設定された属性の例を示す図である。
【図3】同期イベント監視モジュールの動作の概要を示す図である。
【図4】同期イベント監視モジュールの処理を示すフローチャートである。
【図5】パスワード変更要求に対するユーザオブジェクト内の処理の流れを示す図である。
【図6】ユーザオブジェクトから同期対象ディレクトリオブジェクトへの通知の流れを示す図である。
【図7】同期先ディレクトリサービスへの認証の流れを示す図である。
【図8】同期先ディレクトリサービスの検索の流れを示す図である。
【図9】同期先ディレクトリサービスへのパスワード変更の流れを示す図である。
【図10】同期対象となるユーザが存在しなかった場合の流れを示す図である。
【図11】ユーザが削除された場合の流れを示す図である。
【符号の説明】
1…同期元のディレクトリサービス、2…同期元のディレクトリサーバ、3…ディレクトリサービスモジュール、4…同期先ディレクトリサービスの情報を格納するオブジェクト、5…同期イベント監視モジュール、6…同期先ディレクトリサービス、7…同期先のディレクトリサーバ、8…ディレクトリサービスモジュール,9…同期元ディレクトリサービスのユーザオブジェクト、10…同期元ディレクトリサービスの組織オブジェクト、11…同期先ディレクトリサービスのユーザオブジェクト、12…同期先ディレクトリサービスの組織オブジェクト。
Claims (2)
- ユーザアカウントに関するディレクトリサービスを行うディレクトリサービス相互間において同一ユーザに関するユーザアカウントの属性を同期させるユーザアカウントの属性同期方法であって、
同期元ディレクトリサービスにおけるユーザアカウントの属性変更操作を監視し、変更操作検出時に、同期元ディレクトリサービスに予め登録しておいた同期先ディレクトリサービスに対し、同期元と同期先で一致する一致属性を指定してLDAP準拠のプロトコルで送信し、前記一致属性に一致する属性のユーザアカウントが登録されているかを検索する第1のステップと、
指定した一致属性と一致する属性のユーザアカウントが登録されていたならば、同期元ディレクトリサービスにおけるユーザアカウントの属性変更内容を同期先ディレクトリサービスに対しLDAP準拠のプロトコルで送信し、同期先ディレクトリサービスにおける前記一致属性を持つユーザアカウントの属性を変更させる第2のステップと
を備えることを特徴とするディレクトリサービス相互間のユーザアカウントの属性同期方法。 - 前記第2のステップにおいて、ユーザアカウントの属性の1つであるパスワードについて、変更されたパスワードを暗号化せずに同期先ディレクトリサービスに送信し、同期先ディレクトリサービスにおいて暗号化して登録させることを特徴とする請求項1に記載のディレクトリサービス相互間のユーザアカウントの属性同期方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002271566A JP2004110364A (ja) | 2002-09-18 | 2002-09-18 | ディレクトリサービス相互間におけるユーザアカウントの属性同期方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002271566A JP2004110364A (ja) | 2002-09-18 | 2002-09-18 | ディレクトリサービス相互間におけるユーザアカウントの属性同期方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004110364A true JP2004110364A (ja) | 2004-04-08 |
Family
ID=32268839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002271566A Pending JP2004110364A (ja) | 2002-09-18 | 2002-09-18 | ディレクトリサービス相互間におけるユーザアカウントの属性同期方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004110364A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007034814A (ja) * | 2005-07-28 | 2007-02-08 | Fuji Xerox Co Ltd | 情報管理システム、システム管理装置、及びシステム管理方法 |
WO2011016310A1 (en) * | 2009-08-04 | 2011-02-10 | Canon Kabushiki Kaisha | Information processing apparatus and method |
CN102073928A (zh) * | 2010-12-30 | 2011-05-25 | 天津市国瑞数码安全系统有限公司 | 基于接口定义的资源账号同步管理方法 |
JP2016522932A (ja) * | 2013-04-30 | 2016-08-04 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ディレクトリー・サービス間における資格証明ハッシュの同期 |
US9621349B2 (en) | 2013-07-24 | 2017-04-11 | Fujitsu Limited | Apparatus, method and computer-readable medium for user authentication |
-
2002
- 2002-09-18 JP JP2002271566A patent/JP2004110364A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007034814A (ja) * | 2005-07-28 | 2007-02-08 | Fuji Xerox Co Ltd | 情報管理システム、システム管理装置、及びシステム管理方法 |
WO2011016310A1 (en) * | 2009-08-04 | 2011-02-10 | Canon Kabushiki Kaisha | Information processing apparatus and method |
US8191127B2 (en) | 2009-08-04 | 2012-05-29 | Canon Kabushiki Kaisha | Information processing apparatus and method |
CN102073928A (zh) * | 2010-12-30 | 2011-05-25 | 天津市国瑞数码安全系统有限公司 | 基于接口定义的资源账号同步管理方法 |
JP2016522932A (ja) * | 2013-04-30 | 2016-08-04 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ディレクトリー・サービス間における資格証明ハッシュの同期 |
US9621349B2 (en) | 2013-07-24 | 2017-04-11 | Fujitsu Limited | Apparatus, method and computer-readable medium for user authentication |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5241319B2 (ja) | ネットワーク上に配置された構成要素についての情報を検出するためのパスワードを管理するコンピュータ・システム、並びにその方法及びコンピュータ・プログラム | |
JP4993733B2 (ja) | 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置 | |
JP2868315B2 (ja) | 分散型デジタルディレクトリにおけるオブジェクト変更を保護する方法および装置 | |
US6061740A (en) | Method and apparatus for heterogeneous network management | |
US5832211A (en) | Propagating plain-text passwords from a main registry to a plurality of foreign registries | |
US8484332B2 (en) | Network management | |
US5838903A (en) | Configurable password integrity servers for use in a shared resource environment | |
US7454421B2 (en) | Database access control method, database access controller, agent processing server, database access control program, and medium recording the program | |
US7133917B2 (en) | System and method for distribution of software licenses in a networked computing environment | |
TW202032382A (zh) | 網路配置方法、裝置、設備和系統 | |
JPH04310188A (ja) | 文書/画像ライブラリのためのライブラリサービス方法 | |
WO2013086968A1 (zh) | 一种网络安全防护方法、设备和系统 | |
JP2010072992A (ja) | 文書管理システム、文書生成装置、文書利用管理装置、及びプログラム | |
CN106452798B (zh) | 大批量部署的网络设备口令认证方法及口令认证系统 | |
WO2006001153A1 (ja) | ファイル管理プログラム | |
JP2008234210A (ja) | 情報処理装置及び情報処理方法 | |
JP3961112B2 (ja) | パケット通信制御システム及びパケット通信制御装置 | |
KR100218623B1 (ko) | 네트워크 시스템 서버, 패스워드 동기 제공 방법, 컴퓨터 프로그램 제품 및 패스워드 구성 체크 수행 방법 | |
JP2004110364A (ja) | ディレクトリサービス相互間におけるユーザアカウントの属性同期方法 | |
JP2006252023A (ja) | 画像入出力処理装置 | |
JP2006195755A (ja) | 画像入出力装置 | |
AU2003234152A1 (en) | Method and system for distributing data | |
CN115630046B (zh) | 区块链迁移的方法和装置 | |
US9667617B2 (en) | Automatic elevation of system security | |
CN109873784A (zh) | 面向大数据的混合云安全存储管理系统 |