アーキテクチャ・ジャーナル クレーム ベースのアイデンティティ管理 2009/07/06 |
|
|
■処理の代行
旧式化したシステムやディレクトリ レベルで直接管理されるリソースなど、クレームに対応しないリソースは数多く存在します。こうしたリソースへのアクセスを管理するため、これまでにアクセス制御リストの割り当てやグループの作成など、さまざまな手法が講じられてきました。クレーム ベースのセキュリティ システムを介してフロントエンド アプリケーションを呼び出すサブジェクトのアイデンティティに対しては、そうした手法は向かないように思われますが、ここで、フロントエンド アプリケーションが呼び出しを代行してディレクトリ アイデンティティを取得できれば、問題は解決します。実際、代行によってトークンを取得するメリットは明白であり、クレームを処理できないために発行できないトークンが多数発生しているような場合にもこの手法は有効です。
■クレームとクラウド
これまで説明してきたコンセプトの特長は、疎結合型のあらゆるシステムに適合するという点です。そうなると、クラウドは、必ずしも分散システムの究極の姿ではないということになります。そこで、クラウドに固有のメリットについて指摘しておきます。クラウドでは、すべてのエンティティは独立して管理されます。そのため、取り扱う対象間の関係についての情報をわずかしか持たない場合でも、クレーム、トークン、信頼、アイデンティティ メタ システムによって、手元の情報を最大限に活用できます。クレーム ベースのソリューションは、そのクラウドにもオンプレミスにも等しく適用できる、まさに一石二鳥のツールであると言えます。
クラウドのシナリオに対する詳細な指針を述べるまでには至りませんが、今回は、いくつかの作業仮説を立て、クレーム対応型のアイデンティティ管理ソリューションが特にクラウドに対して寄与する面を明らかにします。
■クレーム変換によるアクセス制御
クラウド プロバイダーは、ストレージ/コンピューティング、メッセージング、統合などをサービスとして提供します。クレーム変換についての説明時に触れましたが、こうしたクラウド プロバイダーにとっては、R-STS を提供し、リソースにそれを信頼させることがアクセス制御のための有効な手法であると言えます。ここでは、すべての利用者が R-STS のクレーム変換規則を調整するだけで、アクセス制御を管理することができます。
たとえば、ある ISV が、特定のクラウド プロバイダーを利用してサービス展開を計画しているとします。ここで ISV は、サービスで受け入れる一連のクレームを規定し、クラウド プロバイダーの R-STS を信頼するようにサービスを設定すれば、アクセス制御の設定が完了します。サービスを呼び出す相手を考慮に入れる必要はありません。新しい顧客を加える際は、単に R-STS レベルで規則を設定して、顧客のクレームを ISV のクレームにマッピングする方法を定義するだけです。この手法は非常に即応性があり、管理も容易です(図 5 参照)。
図 5: クラウドにおいて、R-STS はアクセス制御を管理するうえで非常に優れたツールとなる。リソースは常に信頼された同一のソースから取得される適切なフォーマットのトークンとクレームを処理できる。R-STS は、さまざまなソースの信頼の管理および資格情報の確認を担い、規則を使用してしかるべき変換を実行し、変更や余計な複雑さによってリソースが影響を受けないようにする |
■承認処理の外部化
前のセクションで R-STS によって承認の判断を外部化および一元化できることを説明しましたが、これはもちろん、クラウドのシナリオでも有効です。このシナリオをさらに拡張して承認の実行までを対象に含むケースもあります。再び ISV を例にして説明します。
ISV が、クラウド プロバイダーのメッセージ機能を利用してサービスを提供している場合、メッセージが送信先にルーティングされる前であっても、メッセージのディスパッチ インフラストラクチャ自体で承認クレームを確認して承認の判断を下すことができます。これにより、ISV の負担はさらに軽減されます。クラウド プロバイダーのメッセージ機能を利用しないサービスでは、リソース側にパイプライン処理を追加して、承認判断のクレームを実行する必要があります。詳細については、私のブログ内の記事「Claim types」を参照してください(URL は「参考資料」セクションに記載。
■顧客関係の管理
上述のようなモデルを使用すると、ISV は顧客関係を一連の規則として表現できます。この手法では、ディレクトリ間でフェデレーションを作成する従来の手法に比べ、即応性がかなり高くなります。管理はやや大まかになりますが、ピア パートナーとの関係上は必要なものの、ベンダー - 顧客という関係にとっては過剰になりがちな、余分な管理の手間を回避できます。
また、このモデルでは、高度なアイデンティティ機能を利用していない個人や顧客にも対応することもできます。ISV のサービスでは常に R-STS が発行したトークンを処理の対象にするため、顧客の認証が独自の IP で発行されたトークンによるものか、単純な 1 回限りのユーザー名とパスワードによるものかは問題になりません。
■今後の展望
クラウドへの移行は現実味を帯びてきており、“起こるかどうか”ではなく、“いつ起こるか”の問題であるという認識が業界では急速に広まっています。将来を予言することには常に何らかのリスクが伴いますが、クラウドの魅力はあまりにも大きく、私たちは発展の可能性に賭けざるを得ません。アイデンティティがはんらんする現在の状況にあっても、これまで説明した原則から明らかなように、その実現の見込みは確実なものとなっています。
従来、アクセス制御は組織構造の条件によって制約を受ける場合が多く、権限は、職能ではなく職位を反映したものになっていました。しかしながら、アイデンティティ管理の相互運用性に関する RSA Conference 2008 のイベント OSIS Interops(詳細は「参考資料」セクションに記載)にはさまざまな優良企業が参加し、多数の優れたオープンソース イニシアチブが提示されました。また、各社の主要製品におけるクレームのサポートも進んでいます。こうした状況から判断して、現在、クレーム ベースのプログラミングへの移行が進んでいることが伺えます。これが主流になれば、組織ではなくタスクを基準としたアイデンティティ管理とアクセス制御の体系を容易に検討できるようになるでしょう。さまざまな企業のすべてのサブジェクト、リソース、役割、オーソリティが特定プロジェクトの観点から表現され、組織の職位ではなく、プロジェクトの中で果たす職能に基づいて権限が割り当てられます。タスクの実行中は仮想組織が出現し、目的が達成されると消滅します。これにより、企業の境界を超えたビジネスのフレームワークを構築でき、ベスト プラクティスを実施して、予測可能性を向上させることが可能になります(図 6 参照)。
図 6: ポリシー、クレーム交換、仮想ディレクトリ管理により、半自発的に仮想組織(図の中央の領域)が生み出される |
これを実現するにはクレームの存在が必須ですが、それだけでは不十分で、仮想ディレクトリのような新しいテクノロジも重要な役割を果たすでしょう(詳細については、Kim Cameron のブログ www.identityblog.com を参照してください)。
■次のステップ
クレーム ベースのアプローチは、従来のシナリオにもクラウドのシナリオにもメリットをもたらします。ただし、従来のシナリオでは不適切な手法が紛れ込んだ場合に大量のリソースを追加してそれを排除することが可能ですが、クラウドのシナリオではそう簡単にはいきません。クラウドへの移行を進めるにあたっては、次のような準備が必要です。
- Web サービスと Web セキュリティを試行する(既に利用している場合は除く)
- 開発者向けのアイデンティティ管理フレームワーク“Zermatt”のベータ版を利用して、クレーム ベースのプログラミングを試行する
- 組織内でのパイロット運用を検討する(例: 社員向けの IP の作成)
今回の私の説明は“上っ面をなでる”水準にとどまったかもしれませんが、それでも、クレームが、従来型とクラウドのシナリオの双方でアイデンティティ管理を飛躍的に発展させる基盤となることは断言できます。このテクノロジを十分に堪能したいとお考えの皆様は、各エンティティのかかわり合いが明らかにわかるこの貴重な移行期間をぜひ楽しんでください。それ以外の方には、今後、ほとんどのエンティティはインフラストラクチャ内部に組み込まれ、新しいツールの出現によってシームレスに利用できるようになることを、私が保証します。
■参考資料
- Vittorio Bertocci のブログ
- Kim Cameron のブログ
- 『Understanding Windows CardSpace』(Addison Wesley 2008)の第 2 章(MSDN コンテンツとして配布)
- アイデンティティ管理の相互運用性に関する RSA Conference 2008 でのイベント OSIS Interops
- 参加企業のロゴ(※リンク切れ)
- OSIS Interops について
- WS-Security
- WS-Trust
著者について Vittorio Bertocci は、マイクロソフトのクラウド サービス エバンジェリズム部門のシニア アーキテクト エバンジェリストで、新しいテクノロジの活用を図るエンタープライズ企業の支援に携わっています。イタリアで数年間 Microsoft Services の業務に従事した後、米国本社に異動し、過去 3 年間、アイデンティティ/アクセス管理、SOA、サービスをベースにしたソリューションを展開する顧客をサポートしてきました。現在は、クラウド コンピューティングでのアイデンティティ/アクセス管理に重点的に取り組んでおり、2008 年 1 月には、ユーザー指向のアイデンティティ管理について論じた書籍『Understanding Windows CardSpace』(共著)を出版しています。彼が運営するブログ には常に数多くのアクセスがあります。 |
INDEX | ||
[アーキテクチャ・ジャーナル] | ||
クレーム ベースのアイデンティティ管理 | ||
1.クラウドの無限の可能性とクレーム・ベースのソリューション | ||
2.クレーム・ベースのアイデンティティ管理を理解するための基礎知識 | ||
3.クレーム・ベースのアイデンティティ管理のアーキテクチャ・パターン | ||
4.クレーム・ベースのアイデンティティ管理をクラウドで利用する利点 | ||
「アーキテクチャ・ジャーナル」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|