sidebarIdM実験室いろんなアイデンティティ管理系製品やサービスの実験の記録をしていきます。後は、関連するニュースなどを徒然と。Appsへのプロビジョニングについてです。今回は実際の動作およびソースコードを紹介します。■試すでは、早速動作を確認してみます。今回は以下のような構成です。Apps上にアカウントを作成します。Directoryのメールアドレス属性にセットすることです。FS2.0の属性マッピングで同様の設定を行うことも可能ですが、ここではFIM2010側で実施しました。Appsへ渡してシングル・サインオンが成立します。実際にCSVにユーザ情報を記載して、以下の手順で実行プロファイルを実行します。Appsの管理画面を見ると確かにユーザが作成されていることがわかります。Appsへのプロビジョニングを行う上で何点か注意点があります。Appsの仕様)・購入ユーザ数を超えてユーザを作成することはできない当たり前ですが、サービスを契約しているユーザ数以上はプロビジョニングできません。プロビジョニングしようとするとDomainUserLimitExceededという例外が発生します。・削除したユーザと同じユーザ名のユーザは削除後5日間は作成できないユーザの再作成を5日以内に実行するとUserDeletedRecentlyという例外が発生します。今回作成したMAには入れていませんが、削除ではなくサスペンドという対応にした方が良いかもしれません。(ユーザ数の増加になるので課金が増えますが)また、プロビジョニングとは直接関係ありませんが実環境で使うためには以下の点にも留意が必要です。Appsなどのクラウド上のサービスは性質上インターネットに接続できる環境であれば直接ログオンしようと思えばログオンできてしまいます。実際に企業から使おうと思うと自宅PCから制限なくアクセスさせてしまうのは避けたいところなので、一般的に以下のような手段をとります。Apps自身が持っている認証システムでの認証となるので、パスワードさえ合致すればインターネットからでも接続できてしまいます。Appsへプロビジョニングを行う際に設定するユーザのパスワードはランダム文字列にし、且つ定期的に自動変更されるような仕組みを作ります。■今回のソースコード最後に今回作成したMAのソースコードを張り付けておきます。洋書ですが要チェックな本を紹介します。Lundellさんの作です。2010分散でのFIMの構成方法など非常に詳しく記載されているので、実際の業務環境にFIMを導入する際には非常に役に立つ本だと思います。オンデマンド印刷の形で販売されているので一般書店やAmazonには流通しないと思いますので、ここで購入する形になります。オーダーしてから2週間程度で届きました。日本語なら青本も必携ですが。Bertocciさんの作でAmazon.co.jpでも購入できます。AzureやWCFへの組み込みの話まで非常に有用な内容が目白押しです。ちなみに9月初旬に発売されているのですが、まだ手元には届いていません。Directoryやデータベースなど)との同期やプロビジョニングを行っています。用意されているMAでもある程度のシステムはカバーしているのですが、カスタムのMAを作成して対応していないシステムとの同期をさせることもできます。Connectivity(XMA)です。このタイプのMAを使うとコーディングは必要ですが同期先システムに合わせてカスタムMAを作成することができます。Appsへのユーザの作成・更新・削除を行うMAを作ってみたいと思います。Apps上のユーザのライフサイクル管理と認証を完全に管理することができます。APIを使う必要があります。Editiononのどちらかが必要になりますので予め契約をしておく必要があります。Editionには30日間の試用期間あり)※ちなみに1ユーザから契約ができますが、1ユーザだけではユーザの追加ができないので、最低2ユーザは契約しておく必要があります。APIを有効にする]にチェックを入れます。Apps側の準備は完了です。次に開発を行うための準備をします。2008がデフォルトなので当然2008でも構いません。APIを利用するためのクラスライブラリがGoogleから提供されているので、以下のURLからダウンロードしセットアップしておきます。ServiceのコンソールでMAを作成します。先にMAを作成することでFIMがあらかじめ用意しているカスタムMAのプロジェクトテンプレートを使うことができるようになります。以下の通り、MAを作成します。Constant[P@ssw0rd]※テンプレートファイルは以下の文字列を保存したテキストファイルをあらかじめ用意しておきます。Provisioningを使う場合は不要です。Projects]をクリックします。Extension]を選択し、プロジェクトを作成します。プログラム言語は任意ですがここではC#を選んでいます。IDEのチェックを外しています。カスタムMAの中身のロジックを実装していきます。Studioで開くとあらかじめ定義されたテンプレートが出来ているので、各メソッドを実装していきます。APIを使うので先にダウンロードしたライブラリへの参照設定を行います。・Google.GData.Apps.dll・Google.GData.Client.dll・Google.GData.Extensions.dllへの参照です。同様にusingでそれらライブラリへの参照を宣言します。Google.GData.Extensions;いよいよロジックの実装ですが、あらかじめ用意されているメソッドの中で今回必要となるのは以下のメソッドです。Appsに接続するためにAppsServiceというオブジェクトを使うので変数の宣言をしておきます。ここ次にBeginExportの実装です。ここでは先ほど宣言したAppsServiceのオブジェクトを生成します。Appsへ接続します。password);次に実際のExport時に呼び出されるExportEntryメソッドです。ここでは引数としてわたってくるmodificationTypeを見て処理が分かれます。APIでCreateUserというメソッドを利用します。引数には同じくExportEntryメソッドの引数としてわたってくるcsentryの各属性値を渡します。パスワード);次はエントリの更新(modificationType=Replace)です。ここではUpdateUserメソッドを使います。ユーザを更新するservice.UpdateUser(user);最後にエントリの削除(modificationType=Delete)です。ここではDeleteUserメソッドを使います。service.DeleteUser(csentry["Name"].Value.ToString());これらをswitch分で振り分けて各処理を実行させます。エントリの削除break;}尚、EndExportメソッドでは他にオブジェクトを生成した場合はオブジェクトの廃棄を行います。(今回は特に何も書きませんが)長くなってしまいましたので、詳細なコードの解説、実際の使い方は次回解説をしたいと思います。※コードはsourceforge.netにアップロードしてあるので解説不要の方はどうぞ。FS2.0を使ったクラウド・サービスとのシングル・サインオンを中心としてアイデンティティ管理関連の記事を連載中です。それなりにページビューもあるそうなので、皆様興味やニーズはあるんでしょうね。SSO」と検索したらその記事とこのblogが上位に来ていました。某社のプレス発表も見えてますが。ちなみに現段階で公開されている記事の内容とURLは以下の通りです。FS2.0を使って各種クラウド・サービスとのシングル・サインオンを実装する手順を紹介する予定です。Azure上にデプロイしたWIFを使ったASP.NETアプリケーション・force.com良ければ見てやってください。よりアクセス解析を行っています。品質向上のみを目的とし、個人の特定などを目的とはしておりません。中で公開されることはあります。問い合わせ不明点等は管理人までご連絡ください。本プライバシーポリシーは予告なく変更/削除することがあります。プライバシーに関するトラブルについては一切の責任を負いかねますのでご了承ください。