Microsoftでシニア プログラム マネージャーを務めるJustin Smith氏(リンク)がAzure Access Control Servicesのプレゼンテーションを行った(リンク)。ACSは「IDの拡散」(identity proliferation)問題に照準を合わせている。Smith氏の説明では、氏はWeb上に約300のIDを持っている。氏が思うには、
デジタルIDを再利用する需要が増えています。
この問題に対するソリューションの重要要素は、(プロファイルデータの)フェデレーション、プロビジョニング、同期化、そして認証である、と氏は主張した。
ACSはMicrosoftがホスティングするサービスで、フェデレートされたユーザー向けの認証ポリシーを外部に任せる(リンク)。ACSはMicrosoftの Identity and Access Control Servicesの一部をなす。しかし、ACSは独立型のサービスで、「claimが入力されれば、claimが出力される」(claims in, claims out)モードで機能する。さらに、ACSは「Geneva」ブランドを介して、自社設置型ソフトウェアやサーバーと統合する。Genevaはとりわけ、 自社設置型のフェデレーションと承認をターゲットにしている。ACSとの大きな違いは、完全に「ターンキー」式のACSはスケーラブルで、 Microsoftがそのアップタイムを保証するということである。ACSがサポートするのはGenevaの一部の機能のみである。
ACSはMicrosoftのCloud Servicesの一部だが、Cloud ServicesにはWindows LiveIDとMicrosoftのFederation Gatewayが含まれる。もちろん、AzureプラットフォームでGenevaサーバーをホスティングすることが可能になる。
ACSプロジェクトはスコープで構成されていて、スコープはルールの明示に使われる。ルールは連鎖させることが可能である。ACSは基本的にホスティング されたセキュアトークンサービス(STS)であり、そうした性質上、署名キーと暗号キーを管理する。ACSのルールは簡単なWebインタフェースを使って 設定できる。ルールをプログラム的に管理するために、現在AtomPub APIに取り組んでいる。
このサービスは最小のコーディングで、Active Directory(アクティブディレクトリ)やその他のIDインフラを直接統合する。
ACSは以下の信用証明をサポートする。
- Windows Live IDs
- X.509証明書
- 従来のユーザー名およびパスワード
- マネージカード(Managed card)およびパーソナルカード
ACSは、対象がどのようなIDでも、どのようにでも取り扱うことができる。Microsoftのテクニカルフェローを務めるJohn Shewchuck氏が、Smith氏のプレゼンテーションに先駆けて同じ日にプレゼンを行ったが(リンク)、その中でShewchuck氏は、Microsoft 以外の技術、すなわちAJAXのフロントエンドにJQueryを用い、Google App Engine上にデプロイされたPythonから構築したWebアプリケーションで.NETサービスを使って見せた。このデモでShewchuck氏は、 ACSを使ってGoogleやYahoo!、Facebook、LiveIDのIDでログインし、このアプリケーションを使えることを披露した。
Smith氏はプレゼンの結びに、ACSを使って実行可能な「アクセス制御のクールな裏技」5つを話した。
- FacebookやYahoo!でコード2行を使って、友人と私的なWarcraftギルドページを共有する
- ゲームでは広告スペースを販売し、又貸しをできないようにする
- 企業ユーザーは、自分たちのpythonベースのトレーニングアプリケーションに自動的にアクセスできるようにする
- 複数のアプリケーションと役割を横断して、アクセス制御のレポートを生成する
- 友人に許可を与えて、友人のそのまた友人が自分のパーティー写真にアクセスできるようにする