Simulated Resource を使ったワークショップの第2弾です。今回は管理権限の委譲の機能を考えます。(初級編)
前提条件
- Simulated Resource Workshop 1 を既に終了している。
Simulated Resource を使ったワークショップ(その1) を参考にしてください。
設計、計画
- ワークショップでやることを計画しましょう。Simulated Resource を使ったワークショップ(その1) で、Flat Fileからデータを読みこんで、Simulatedリソースに伝播することを実現しました。第2弾では 管理権限の委譲 の実装に関してワークショップを実施します。(何事も小さなステップの積み重ねです。)
- 管理権限の委譲 をID管理製品で実現していくことは非常に重要です。なざなら、大抵の場合、管理権限の委譲 ってのはそもそも、ID管理製品を導入する主な目的となっているからです。
- よくお客様にお話するのですが、仮に1人の管理者でID管理を実施できている会社があったらその会社にはID管理製品は必要ありません。だって、その管理者に聞けば誰がどこにどんな権限をもっているかなんでもわかるんですから。しかし、現実としてそんなことはなくて、複数名による管理が実施されています。こうなると問題が発生します。誰がどこにどんな権限をもっているかを誰に聞けばわからなくなってしまうのです。さらには「あれ、あの人消した?追加した?変更した?」などといった変更履歴も追跡できません。企業ではこういった事態を防ぐために、申請書を作成して紙ベースで処理の内容が追跡できるようにしたり(実際は追跡できていると思っても紙と実際がずれてたりすることはよくあるんですが、、)、処理する人を限定したり(限定しちゃうと、処理がたまって文句言われたりするんですが、、、)して対処してきました。でも、「もー、限界!!」ということになり、ID管理製品でなんとかしようという話になるのです。
- 管理権限の委譲 を実現していくにはどのような管理権限委譲を行なうかといった、管理権限委譲モデル を考えておかなくてはいけません。以下のような 管理権限表 を作成しましょう。(Open Document Format対応のアプリケーション でご覧下さい。)
Name Size Creator (Last Modifier) Creation Date Last Mod Date Comment 
20080613_AdminRole.ods12 kB kimi_s Jun 17, 2008 Jun 17, 2008 ベンダやSunのパートナーさんがWorkshopを実施する場合には、お客様から 管理権限委譲 に関してヒアリングを実施しましょう。
- Simulated Resource を使ったワークショップ(その1) の場合と異なりほとんどのケースにおいて 管理権限委譲 に関しての資料などは残念ながら期待できません。(元々資料にまとまったりしている場合はとてもラッキーといっていいでしょう。現実としては、「管理権限の委譲」を製品で実装する」といことがそもそもID管理製品を導入する目的だったりするので、資料やドキュメントは期待しないほうがいいでしょう。)ヒアリングしても要件が出てこない場合もあります。ID管理製品の設計・構築プロジェクトである場合にはコンサルティングフェーズを設けて、管理権限の委譲 に関してビジネス要件をヒアリングしながらシステム要件に落としこんでいくことになりますが、ワークショップではそんなまどろっこしいことはできませんので、1時間程度フリーでお客様の状況を聞き、ワークショップで実装してみる、2,3個の 管理権限の委譲 対象となる管理者種別を決めましょう。ここでも全部で2,3時間もかければ十分でしょう。やり方としては以下のような進め方がいいでしょう。
- IDの列、Admin Rolesの列、管理者種別の列、管理者種別の詳細の列、誰に対しての列、何をできるか(何をさせるか)の列をまず作ります。
- あとは適宜、管理者種別の列、管理者種別の詳細の列、誰に対しての列、何をできるか(何をさせるか)の列を埋めていきます。
- 埋め終わったら、Admin Rolesの列に管理者種別とその内容に適切だと思われるAdmin Role名をつけていきましょう。
組織(Organization)の作成
- Identity Managerでは組織を元に管理権限の委譲を行なうのが一般的です。ここでは以下のCSV中にある組織を作成します。
- 法人営業部 の作成
- アカウント タブに移動し、新規作成アクション から 新規組織 を選択
- 名前 に 法人営業部 を入力して、一番したの 保存 をクリック。
- 法務部 営業部 情報システム部 サービス本部 も同様に作成
管理者ロール(Admin Role)の作成
Identity Manager では 管理者ロール(Admin Role) を作成して、管理者ロール(Admin Role) を管理者ユーザに割り当てることで、管理権限の委譲 を容易に行なうことができます。このワークショップでは、
- 組織管理者(Organization Admin)
- リソースオーナー(Resource Owner) (それぞれのリソースに対して1つ作成)
を作成します。組織管理者(Organization Admin) の作成
- 管理する組織を決めるルール(Workshop2 - Controlled Organization Rule) を作成します。
- 組織管理者(Organization Admin) を作成する前に、組織管理者がどの組織を管理できるかを決定するためのルールを作成します。
作成した以下の 管理権限表 を見てみましょう。(Open Document Format対応のアプリケーション でご覧下さい。)Name Size Creator (Last Modifier) Creation Date Last Mod Date Comment 
20080613_AdminRole.ods12 kB kimi_s Jun 17, 2008 Jun 17, 2008 組織管理者(Organization Admin) は それぞれの組織に割り当てられる管理者 となっています。
気づいた方もいらっしゃるかもしれませんが、それぞれの組織に割り当てられる管理者 というのは非常にあいまいで、記述としてては不十分です。実際のプロジェクトのおいてのヒアリングでこの部分を聞きのがしてしまうと致命的なヒアリングミスとなってしまうので注意しましょう。ただ実際は決まってないことを確認して一緒に考えて行くといことが多いでしょう。
決めなくてはいけない(ヒアリングしなくてはいけない)ことは、- 組織管理者(Organization Admin) にどのように組織を割り当てていくか
ということです。(ちょっとわかりずらいですね。絵でもかければいいのですが、すみませんここでは絵は省きます。)
ここでは、組織管理者がどの組織を管理できるかとして、
- 自分が所属している組織を管理する。
- ControlledOrgという属性に設定された組織を管理する。
ということことにします。(実際はこの内容をお客さんからヒアリングしてり一緒に決めたりします。)
- 組織管理者(Organization Admin) にどのように組織を割り当てていくか
- コマンドプロンプトから、BPE(Business Process Editor)を起動します。
- File -> New -> Rule と進みます。
- Name に Workshop2 - Controlled Organization Rule と入力します。
- Repository タブに移動します。Authorization Type に ControlledOrganizationsRule と入力し OK をクリックします。
- 規則ソース フィールドで右クリックをして、New -> Lists -> list と選択していきます。
- 右側のドロップダウンリストから Reference を選択、waveset.organization と入力して、OK をクリックします。
- list をダブルクリックします。Argument 2 の右側のドロップダウンリストから Reference を選択、global.ControlledOrg と入力して、OK をクリックします。
- 簡単に確認します。Arguments を右クリックして、テストデータのインポート を選択します。
- 表示名 に kimimasa と入力して OK をクリックします。
- 実行 をクリックします。下のように表示されればOKです。
- File -> Save In Repository と選択して保存します。
- 組織管理者(Organization Admin) を作成する前に、組織管理者がどの組織を管理できるかを決定するためのルールを作成します。
- セキュリティ タブに進み、新規 をクリックします。
- 名前 に Organization Admin と入力します。
- Scope of Control タブに進み、管理する組織の規則 のドロップダウンリストから先ほど作成した、Workshop2 - Controlled Organization Rule を選択します。(Workshop2 - Controlled Organization Rule が表示されない場合は、保存されていないか、Authorization Type の記述が間違っている可能性があるので確認しましょう。)
- Capabilities タブに進み、機能 として、Account Administrator を 割り当てられた機能 側に移動して 保存 をクリックします。
リソースオーナー(Resource Owner) の作成 (それぞれのリソースに対して1つ作成)
- セキュリティ タブに進み、新規 をクリックします。
- 名前 に Simulated AD Resource Owner と入力します。
- Scope of Control タブに進み、管理する組織 の Top を 選択された組織 側へ移動します。動的に読み込まれた 含めるまたは除外するオブジェクトの選択 において、タイプ のドロップダウンリストから リソース を選択、操作 ドロップダウンリストから 含める を選択、選択 の下の 選択 ボタンをクリックします。
- 検索 ボタンをクリックします。
- Simulated AD のチェックボックスにチェックをいれ、Include をクリックします。
- 下のような画面になっているか確認します。
- Capabilities タブに進み、機能 として、Resource Approver Run Audit Report Run User Report を 割り当てられた機能 側に移動して 保存 をクリックします。
- Simulated Notes Simulated TAM Simulated RACF に関しても同様に リソースオーナー(Resource Owner) を作成します。
MetaViewの設定とユーザ情報の再読み込み
Simulated Resource を使ったワークショップ(その1)では、ユーザは組織Top以下にならぶような形になっていました。ここでは、作成した組織に、CSV中の属性値に基づいて割り振る設定を行ない、ユーザ情報を再読み込みします。
- メタビュー タブに移動し、waveset.organization をクリックします。
- ソース の右のドロップダウンリストから リソース を選択して、ソースを選択 から FFAS for Simulate を選択、属性を選択 から shozokuryakusyo を選択して、OK をクリックします。
- 保存 をクリックします。
- リソース タブに進みます。FFAS for Simulated にチェックをつけて、リソースアクション から、同期 - Identity Managerに対して開始 を選択します。(これで Flat File Active Sync によるCSVの読み込み(同期)処理が開始されます。)
- 以下のようにユーザがそれぞれの組織のしたに移動します。
リソースアダプターの設定
リソースアダプターがTop以外の組織からも利用可能なように設定を変更します。
- リソース タブに進み、Simulated AD リソースにチェックを入れて、リソースアクション ドロップダウンリストから 編集 の中の アイデンティティシステムのパラメーターの編集 を選択します。
- 下のほうに進み、組織 の設定で、表示されているすべての組織を 利用可能 側に移動し、保存 をクリックします。
- Simulated Notes Simulated TAM Simulated RACF に関しても同様に設定します。
管理者ロールのユーザへの割り当て、
ここでは、情報システム部 のユーザ moriya に対して、リソースオーナー(Resource Owner) ロールを割り当て、法務部 のユーザ hara に 組織管理者(Organization Admin) ロールを割り当てます。
- 情報システム部 のユーザ moriya に対して、リソースオーナー(Resource Owner) ロールを割り当てます。
- ユーザ moriya をクリックします。
- セキュリティ タブに進み、Simulated AD Resource Owner Simulated Notes Resource Owner を 割り当てられた管理者ロール 側に移動して、下のほうの 保存 をクリックします。次の画面で 保存 をクリックし、その次の画面で OK をクリックします。
- 下のように、アイコンの首周りが赤に変わり、左向きになっています。(このアイコンはそのユーザが管理者であることを示しています。)
- 法務部 のユーザ hara に 組織管理者(Organization Admin) ロールを割り当てます。
- ユーザ hara をクリックします。
- セキュリティ タブに進み、Organization Admin を 割り当てられた管理者ロール 側に移動して、下のほうの 保存 をクリックします。次の画面で 保存 をクリックし、その次の画面で OK をクリックします。
- アイコンの首周りが赤に変わり、左向きになっていることを確認しておきます。(このアイコンはそのユーザが管理者であることを示しています。)
ユーザレポートの作成
リソースオーナー(Resource Owner) がリソースに割り当てられているユーザのリストを表示するのに使用するレポートを作成します。
- レポート タブに移動します。新規 のドロップダウンリストから ユーザーレポート を選択します。
- レポートタイトル レポートの概要 に Simulated AD User Report と入力します。
- 次のリソースを割り当てられたユーザーのみをレポート: にチェックを入れ、選択 のドロップダウンリストから Simulated AD を選択し、ユーザーごとに表示する Identity Manager 属性を選択 で、Identity ManagerアカウントID 割り当てられたリソース 組織 を選択します。
- 保存 をクリックして設定を保存します。
- 次に、Simulated AD Resource Owner ロールに、作成したレポートを割り当てます。
- セキュリティ タブに進み、 管理者ロール タブで Simulated AD Resource Owner をクリックします。
- Scope of Control タブに進み、含めるまたは除外するオブジェクトの選択 で、タイプ のドロップダウンリストから タスクテンプレート を選択、操作 ドロップダウンリストから 含める を選択、選択 の下の 選択 ボタンをクリックします。
- 検索 ボタンをクリックします。
- Simulated AD User Report のチェックボックスにチェックをいれ、Include をクリックします。
- 下のような画面になっているか確認します。
- 保存 をクリックし、設定を保存します。
- Simulated Notes Simulated TAM Simulated RACF に関しても同様に レポートを作成し、ロールに割り当てます。
動作確認
ここでは、リソースオーナー(Resource Owner) 組織管理者(Organization Admin) でログインして 管理権限の委譲 が適切に行なえているか確認します。
- リソースオーナー(Resource Owner) への管理権限の委譲の確認
- ユーザ moriya でログインし、レポート タブに進みます。必要なレポートだけが表示されているのが確認できます。
- Simulated AD User Report を実行します。Simulated AD にアカウントを持っているユーザのリストが表示されます。
- Simulated Notes User Report で、CSVレポートのダウンロード を行ないます。下のようなCSVファイルがダウンロードされます。
- ユーザ moriya でログインし、レポート タブに進みます。必要なレポートだけが表示されているのが確認できます。
- 組織管理者(Organization Admin) への管理権限の委譲の確認
- ユーザ hara でログインし、アカウント タブに進みます。ユーザ hara は組織 法務部 に所属していて、自分の所属している組織の管理者なので、法務部 だけが表示されています。
- ユーザを表示させて、nishiyori をクリックします。
- ユーザの属性情報の変更などのユーザ管理を行なうことができるようになっていることが確認できます。
- ユーザ hara でログインし、アカウント タブに進みます。ユーザ hara は組織 法務部 に所属していて、自分の所属している組織の管理者なので、法務部 だけが表示されています。