このBlogへのリンクがされています。
■IT交差点 Vol.5
http://www.microsoft.com/japan/powerpro/magazine/default.mspx
見つけにくいですが、本当にひっそりと載っています。
■ILM TechCenter
http://technet.microsoft.com/ja-jp/ilm/default.aspx
こちらもあんまり目立ちませんがひっそりと。。。
アクセス解析をしているとこのサイトからのアクセスは実はあんまりありません。。。。
■管理者は見た!~AD と ILM 一家の秘密~
http://blogs.technet.com/jpilmblg/default.aspx
My favoriteサイトでもあります。下の安納さんのサイトと合わせて結構なアクセスがこのあたりから誘導されてきているようです。
■フィールド SE あがりの安納です
http://blogs.technet.com/junichia/default.aspx
実は最初はMixiで知り合って、このblogを立ち上げる時に真っ先にリンクしていただきました。
感謝してます。
おかげさまで、もうすぐ7,500PVと結構なページビューになってきました。
なかなかがっつりとネタを作る時間が取れないのですが、がんばって更新していきます!
2009年5月28日木曜日
Identity Managerが起動できない!
ある日Identity Managerを起動しようとするとこんなエラーが・・・
MIISサービスの状態を見てみると何故か停止していたので、手動で起動してみると、、、、
何故か起動できない状態に・・・
とりあえずイベントログを見てみると、以下のログが出力されていました。
■システムログに以下のイベント
ソース:Service Control Manager Eventlog Provider
イベントID:7024
レベル:エラー
メッセージ:Microsoft Identity Integration Server サービスは、サービス固有エラー 2149781801 (0x80231129) で終了しました。
■アプリケーションログに以下のイベント
ソース:MIIServer
イベントID:6003
レベル:エラー
メッセージ:The evaluation period for this copy of Identity Lifecycle Manager has ended. To continue using this version of Identity Lifecycle Manager, please purchase and install the complete product.
要は評価期間が終了、、ということですね。
そういえばRC0をインストールしてから180日経つんですね~。
MIISサービスの状態を見てみると何故か停止していたので、手動で起動してみると、、、、
何故か起動できない状態に・・・
とりあえずイベントログを見てみると、以下のログが出力されていました。
■システムログに以下のイベント
ソース:Service Control Manager Eventlog Provider
イベントID:7024
レベル:エラー
メッセージ:Microsoft Identity Integration Server サービスは、サービス固有エラー 2149781801 (0x80231129) で終了しました。
■アプリケーションログに以下のイベント
ソース:MIIServer
イベントID:6003
レベル:エラー
メッセージ:The evaluation period for this copy of Identity Lifecycle Manager has ended. To continue using this version of Identity Lifecycle Manager, please purchase and install the complete product.
要は評価期間が終了、、ということですね。
そういえばRC0をインストールしてから180日経つんですね~。
2009年5月14日木曜日
Geneva Beta2リリース
12日から始まっているTechEDで発表されたようです。
connectサイトもしくはhttp://msdn.microsoft.com/en-us/evalcenter/dd440951.aspxからダウンロードできます。
とりあえずGeneva Server、Geneva Frameworkをダウンロードしたので時間が作れたらセットアップしてみたいと思います。
ただ、TechnetのSTEP-BY-STEPガイドなどのドキュメントはリンクが更新されていないみたいでリンク切れになっていたりします。。。
connectサイトもしくはhttp://msdn.microsoft.com/en-us/evalcenter/dd440951.aspxからダウンロードできます。
とりあえずGeneva Server、Geneva Frameworkをダウンロードしたので時間が作れたらセットアップしてみたいと思います。
ただ、TechnetのSTEP-BY-STEPガイドなどのドキュメントはリンクが更新されていないみたいでリンク切れになっていたりします。。。
MIIS2003 Resource Tool Kit解説 その3
各ツールを順番に解説していきます。今回は「AttributeFlowViewer」を見てみます。
■使い方:コマンドラインから
AttributeFlowViewer.exe
ちなみにMIISの設定のエクスポートはIdentity ManagerのFileメニューからExportします。
実行するとウィンドウが表示されます。
うまくいくとmv.xmlおよび各MAのxmlファイルが生成されます。
■実行例
>AttributeFlowViewer.exe c:\temp\mv
Microsoft Identity Integration Server Attribute Flow Viewer v2.0
Copyright (c) 2004 Microsoft Corporation. All rights reserved.
The Attribute Flow information has been populated
You can view this information in the AttributeFlowViewer.html file
■注意点
AttributeFlowでソース側属性を指定しないRulesExtensionマッピングを定義した場合はエラーが発生します。
発生条件はこんな感じです。
エラーが発生すると以下のようなメッセージが表示されます。
>AttributeFlowViewer.exe c:\tmp\mvsetting
Microsoft Identity Integration Server Attribute Flow Viewer v2.0
Copyright (c) 2004 Microsoft Corporation. All rights reserved.
Failed to read the file c:\tmp\mvsetting
ERROR: インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。
パラメータ名: index
このエラーは、ダミーでソース属性を登録することで対応可能です。
■出力HTMLイメージ
こんな感じでHTMLファイルが出力されます。
■FIM(ILM"2")で使えるか?
・ILM MAのAttributeFlowにsync-rulesというオブジェクトタイプに関する物があるのですが、これがまさにソース属性を指定しないマッピングになっているので、上記注意点に引っ掛かってしまいエラーが出てしまいます。
■使い方:コマンドラインから
AttributeFlowViewer.exe
ちなみにMIISの設定のエクスポートはIdentity ManagerのFileメニューからExportします。
実行するとウィンドウが表示されます。
うまくいくとmv.xmlおよび各MAのxmlファイルが生成されます。
■実行例
>AttributeFlowViewer.exe c:\temp\mv
Microsoft Identity Integration Server Attribute Flow Viewer v2.0
Copyright (c) 2004 Microsoft Corporation. All rights reserved.
The Attribute Flow information has been populated
You can view this information in the AttributeFlowViewer.html file
■注意点
AttributeFlowでソース側属性を指定しないRulesExtensionマッピングを定義した場合はエラーが発生します。
発生条件はこんな感じです。
CS | Direction | MV | Type | 処理結果 |
cn | ← | RulesExtension | エラー発生 | |
userAccountControl | ← | Constant(512) | OK | |
sn | ← | accountName | Direct | OK |
エラーが発生すると以下のようなメッセージが表示されます。
>AttributeFlowViewer.exe c:\tmp\mvsetting
Microsoft Identity Integration Server Attribute Flow Viewer v2.0
Copyright (c) 2004 Microsoft Corporation. All rights reserved.
Failed to read the file c:\tmp\mvsetting
ERROR: インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。
パラメータ名: index
このエラーは、ダミーでソース属性を登録することで対応可能です。
■出力HTMLイメージ
こんな感じでHTMLファイルが出力されます。
■FIM(ILM"2")で使えるか?
・ILM MAのAttributeFlowにsync-rulesというオブジェクトタイプに関する物があるのですが、これがまさにソース属性を指定しないマッピングになっているので、上記注意点に引っ掛かってしまいエラーが出てしまいます。
2009年5月12日火曜日
MIIS2003 Resource Tool Kit解説 その2
まずは、ツールのダウンロードとセットアップを行います。
・ダウンロード方法
下記のURLからダウンロードします。
http://www.microsoft.com/downloads/details.aspx?familyid=D3C7BD7A-E8D5-43CF-AD4D-4F1F0AE00D79&displaylang=en
・インストール方法
ダウンロードしたIdentity Integration Server Resource Toolkit.msiを実行し、基本は次へ、次へでインストールは完了です。
1.セットアップファイルを実行します
2.インストール先を選択します。
3.インストールが実行されます。
4.無事インストールされました。
・ダウンロード方法
下記のURLからダウンロードします。
http://www.microsoft.com/downloads/details.aspx?familyid=D3C7BD7A-E8D5-43CF-AD4D-4F1F0AE00D79&displaylang=en
・インストール方法
ダウンロードしたIdentity Integration Server Resource Toolkit.msiを実行し、基本は次へ、次へでインストールは完了です。
1.セットアップファイルを実行します
2.インストール先を選択します。
3.インストールが実行されます。
4.無事インストールされました。
MIIS2003 Resource Tool Kit解説 その1
運用を始めると必須になるこのツールですが、意外と情報もなさそうなのでFIM(ILM"2")でも引き続き動くものなのかも試しつつ、順番に解説していきたいと思います。
※ちなみに他のResource Kitと同様にマイクロソフトは非サポートです。。。ログのクリアツールなど、これがないと実際問題運用できないと思うんですが・・・
まずは、手始めということでどんなツールが入っているのかを見てみます。(下表)
結構な数のツールが入っています。
次回よりシリーズでダウンロード/インストールから初めて各ツールの使い方を簡単に解説していきます。
※ちなみに他のResource Kitと同様にマイクロソフトは非サポートです。。。ログのクリアツールなど、これがないと実際問題運用できないと思うんですが・・・
まずは、手始めということでどんなツールが入っているのかを見てみます。(下表)
結構な数のツールが入っています。
ツール名 | 概要 |
AttributeFlowViewer | AttributeFlowViewerはMetaVerseのすべての属性情報をHTMLファイルおよびXMLファイルへエクスポートする |
Converting XML data | 例えばCSexport.exeなどを使ってMIIS2003のデータをエクスポートする際、XML形式の出力ファイルを読みやすい形式(たとえばCSVなど)に変換する。XMLデータはXSLおよびMSXSL.exeを使って変換される。MSXSL.exeはマイクロソフトのWebサイトからダウンロード可能である |
FileViewer | FileviewerはファイルベースのManagement Agentのインプットファイルを解析する。トラブル解析時にこのツールを使うとエラーが発生した行もしくはエントリを見つけることができる。Fileviewerは巨大なインプットファイルから特定の行もしくはエントリを見つけるために有用である |
GetMailAddress | 他のMIIS2003リソースツールキットの中のツールとは違い、GetMailAddressはスタンドアロンアプリケーションではない。このツールはVB.NET用のサンプルアプリケーションで、どのようにConnectorSpaceオブジェクトからmail属性を検索し取得ことができるかのデモンストレーションになっている。 |
MIIS Dynamic Help | MIISダイナミックヘルプはVisual Studio .NET 2003のダイナミックヘルプを使うために必要なDeveloper Referenceをインストールする。 Visual Studio .NET2003環境へMIIS2003のDeveloper Referenceヘルプファイルを追加することにより、MIIS2003 Rules Extensionをコーディングしたりデバッグする際にDeveloper Referenceにアクセスすることができる。 |
MIIS Provisioning Assistant | MIIS Provisioning Assistantは単純なオブジェクトのプロビジョニングおよびデプロビジョニングを行うためのMetaVerse Extensionの生成を支援する。また、MIIS Provisioning AssistantはVisual BasicやC#を使って追加コードを書くためにVisual Studioのプロジェクトファイルも生成する。 |
MAConfigurationViewer | MAConfigurationViewerはManagement Agentの設定をHTMLで表示する。このツールはManagement AgentをエクスポートしたXMLファイルを指定したXSLファイルに定義された変換ルールを適用することでHTMLファイルを生成する。 |
MASequencer | MASequencerはManagement Agentの実行順序を自動化するために使用される。このツールを使うと、Management Agentの停止、再開、一時停止操作をインタラクティブに実行することができる。MASequencerはManagement Agentの実行シーケンス情報を含むXMLファイルをインプットとして使用する。 |
MASequenceConfiguration | MASequenceConfigurationはMASequencerのインプットとして使用されるXML設定ファイルを生成する。また、このMASequencerの替わりにこのツールでManagement Agentを実行シーケンスを開始することもできる。 |
MIISClearRunHistory | MIISClearRunHistoryはMIIS2003サーバから特定の日付までのManagement Agentの実行履歴を消去する。このツールはMIIS2003サーバから実行履歴を削除する前にテキストファイルへ保存するオプションも提供している。パラメータなしで実行するとユーザに対してMIIS2003サーバからすべての実行履歴を削除するかどうかを聞いてくる。 |
MIISDCInfo | MIISDCInfoはユーザが入力した対象ドメインのドメインコントローラ名、IPアドレス、フォレスト名からドメイン内、フォレスト内の別ドメインのドメインコントローラの詳細な設定情報を検索し表示する。 |
MIISDNSearch | MIISDNSearchはActiveDirectoryドメインとその子ドメインを検索し特定のオブジェクトのDNを表示する。ドメイン名を指定しない場合、本ツールはシステムの所属するローカルドメインを検索し、指定した場合は指定したドメインを検索する。 |
MIISDSNameConverter | MIISDSNameConverterはディレクトリサービスオブジェクトの名称を指定した形式から指定した形式へ変換する。また、本ツールはドメイン名もしくはフォレスト内の別のドメイン名を指定することでドメインコントローラの名称を出力することもできる。 |
MIISInfoBackup | MIISInfoBackupはMIIS2003の設定とシステム情報を取得し特定のフォルダに保存する。ユーザはMIIS2003のどのような情報を取得し保存するかを決定する入力ファイルを設定する。本ツールを実行するユーザはMIISAdminsグループに所属する必要がある。 |
MIISLogBackup | MIISLogBackupは<MIISインストール先フォルダ>\MAData\<Management Agent名>フォルダから特定のManagement AgentもしくはManagement Agent一覧に関するすべてのファイルを特定のフォルダへアーカイブする。アーカイブ後にファイルを削除することも可能である。 |
MIISSecurityGroupInfo | MIISSecurityGroupInfoはWindows Server 2003もしくはWindows 2000が実行されているサーバ上の特定のグループのメンバシップ情報を表示する。本ツールは各メンバについてユーザ名およびSIDを表示する。 |
MIIS Service Monitor | MIIS Service Monitorは一定の間隔でMIIS2003サーバのシステム状態(サーバステータス、パフォーマンスとメモリ状態、Management Agentの動作状況、システムイベント状態)をポーリングし、表示する。MIIS Service MonitorはWindows Server 2003もしくはWindowsXPが実行されているコンピュータ上で実行される。MIIS2003サーバ情報にアクセスするためにはユーザはMIISAdminsもしくはMIISOperatorsグループに所属している必要がある。 |
MIISSQLDiag | MIISSQLDiagはMIIS2003のサービス状況(SQL Serverのステータス、MIIS2003 Serverが使用するSQL Serverの設定情報)を取得し表示する。パラメータなしで実行すると、MIISSQLDiagは以下の情報を表示する。 ・MIIS 2003サービス状態 ・SQL Server名称 ・SQL Serverインスタンス ・SQL Server上のMIIS 2003データベースの名前 |
MIISWorkflow | MIISWorkflowはWebベースのインターフェイスでアカウントの要求と承認を行うためのソリューションのサンプルである。完結したソリューションとして提供されるわけではないが、カスタムアプリケーションを構築するための開始点として利用することが可能である。MIISWorkflowはアカウントの作成、削除、無効化および名称やステータス、グループメンバシップなどのアカウント情報のライフサイクルを管理する承認ベースのプロビジョニングツールのためのフレームワークとして単純で典型的なワークフローを作成することを支援するアプリケーションである。本ツールはC#およびASP.NETを使用することで拡張とカスタマイズが可能である。 |
MVConfigurationViewer | MVConfigurationViewerはエクスポートされたMetaVerseスキーマファイルを変換用XSLファイルを使ってHTMLへ変換するために利用される。変換された情報はTransformedMVConfig.htmlというファイルに保存される。 |
PCNSLookup | PCNSLookupは指定したドメイン内のすべてのドメインコントローラから各ドメインコントローラ上のPCNSのステータスを取得し表示するためのVisual Basicスクリプトである。PCNSLookupを実行するためには対象ドメインのDomain Adminsグループに所属している必要がある。出力情報はデフォルトでは画面上に表示されるが、CSVファイルに保存することも可能である。 |
次回よりシリーズでダウンロード/インストールから初めて各ツールの使い方を簡単に解説していきます。
2009年5月1日金曜日
オブジェクト保持構造における各社アプローチ
一般的な業務アプリケーションと比べてIdM製品のデータの持ち方(構造)で一番特徴的なのが「データを縦に持つ」という点だと思います。
意味がよくわからないと思いますので具体的な例を挙げますが、通常データベースのテーブルを設計する際は、
という様にデータを横に並べて1レコードが1エントリという構造にします。
これは視覚的にもわかりやすいですし、昔からアプリケーションはレコード単位で処理を行うことが容易な形でライブラリなどが作られてきたためです。
しかし、このデータ構造の弱点としてレコードへの属性(列)の追加/削除/変更という作業が発生した場合、アプリケーションそのものへの影響がとても大きい、という点でした。
そのため、設計段階での仕様固めが非常に大切でした。
しかし、IdMやディレクトリ分野においては割と気軽に属性の追廃改が行われがちですし、製品としてあらかじめハンドリング可能な属性を固定的に決めてしまうことはできません。
特にIDライフサイクル管理という意味でのIdMに関しては接続先システムの増減により必要となる属性が変化するのは日常的な話と言えるでしょう。
その点、LDAPのデータ構造は理にかなっていて、objectClassの追加により割と自由に属性を持つことができます。ゆえにNovellやExgenなどのIdM製品はレポジトリにLDAPを選択しているのだと思います。
ただ、やはりビジネスロジックを実装する上でLDAPだと限界があるのも確かなので、RDBにこだわるベンダもいて、インテックの結人/束人やSAP(旧MaXware)はパフォーマンスに問題が出るのを承知で無理やり縦構造のテーブルを作ったりしています。
マイクロソフトのFIM(ILM)に関してMetaverseの構造は別の機会に解説するとして、FIMが新しく利用するようになったWebサービスにおいても同様の思想が継承されており、WS-TransferでハンドリングされるResourceも以下のような拡張がされています。
■一般的な形
<Person>
<displayName>Scott McNealy</displayName>
<telephoneNumber>123-456-789</telephoneNumber>
</Person>
■拡張形(Transfer Extension for Identity Management Operations/TEIMO)
<PartialAttribute>
<AttributeType>displayName</AttributeType>
<AttributeValue><rm:displayName>Scott McNealy</rm:displayName></AttributeValue>
<AttributeType>telephoneNumber</AttributeType>
<AttributeValue><rm:telephoneNumber>123-456-789</rm:telephoneNumber></AttributeValue>
</PartialAttribute>
このように各社さまざまなアプローチで製品としてはどんなデータが入るかわからない器の実装をしているようです。
さて、最近はなかなか時間がとれなくて実験らしいことができていませんので、そろそろ久しぶりにFIMを触ってみようかと思います。Webサービス周りのアーキテクチャの整理もまだできていないので、そのあたりの整理もかねて。。。
意味がよくわからないと思いますので具体的な例を挙げますが、通常データベースのテーブルを設計する際は、
ID | displayName | telephoneNumber |
001 | Scott McNealy | 123-456-789 |
という様にデータを横に並べて1レコードが1エントリという構造にします。
これは視覚的にもわかりやすいですし、昔からアプリケーションはレコード単位で処理を行うことが容易な形でライブラリなどが作られてきたためです。
しかし、このデータ構造の弱点としてレコードへの属性(列)の追加/削除/変更という作業が発生した場合、アプリケーションそのものへの影響がとても大きい、という点でした。
そのため、設計段階での仕様固めが非常に大切でした。
しかし、IdMやディレクトリ分野においては割と気軽に属性の追廃改が行われがちですし、製品としてあらかじめハンドリング可能な属性を固定的に決めてしまうことはできません。
特にIDライフサイクル管理という意味でのIdMに関しては接続先システムの増減により必要となる属性が変化するのは日常的な話と言えるでしょう。
その点、LDAPのデータ構造は理にかなっていて、objectClassの追加により割と自由に属性を持つことができます。ゆえにNovellやExgenなどのIdM製品はレポジトリにLDAPを選択しているのだと思います。
ただ、やはりビジネスロジックを実装する上でLDAPだと限界があるのも確かなので、RDBにこだわるベンダもいて、インテックの結人/束人やSAP(旧MaXware)はパフォーマンスに問題が出るのを承知で無理やり縦構造のテーブルを作ったりしています。
ID | 属性 | 値 |
001 | displayName | Scott McNealy |
001 | telephoneNumber | 123-456-789 |
マイクロソフトのFIM(ILM)に関してMetaverseの構造は別の機会に解説するとして、FIMが新しく利用するようになったWebサービスにおいても同様の思想が継承されており、WS-TransferでハンドリングされるResourceも以下のような拡張がされています。
■一般的な形
<Person>
<displayName>Scott McNealy</displayName>
<telephoneNumber>123-456-789</telephoneNumber>
</Person>
■拡張形(Transfer Extension for Identity Management Operations/TEIMO)
<PartialAttribute>
<AttributeType>displayName</AttributeType>
<AttributeValue><rm:displayName>Scott McNealy</rm:displayName></AttributeValue>
<AttributeType>telephoneNumber</AttributeType>
<AttributeValue><rm:telephoneNumber>123-456-789</rm:telephoneNumber></AttributeValue>
</PartialAttribute>
このように各社さまざまなアプローチで製品としてはどんなデータが入るかわからない器の実装をしているようです。
さて、最近はなかなか時間がとれなくて実験らしいことができていませんので、そろそろ久しぶりにFIMを触ってみようかと思います。Webサービス周りのアーキテクチャの整理もまだできていないので、そのあたりの整理もかねて。。。