GAE開発の落とし穴
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Abel Avram , 翻訳者 能仁 信亮 投稿日 2010年2月7日
Chappell & Associatesの代表であるDavid Chappell氏が、WindowsドメインからAmazon EC2にデプロイされたアプリケーションに対して、シングル・サイン・オン(SSO)でアクセスするいくつかの解決策をまとめたホワイトペーパーを発表した。InfoQは、それぞれのソリューションを詳細に調べ、各々の利点とトレードオフを探った。
Providing Single Sign-On To Amazon EC2 Applications From An On-Premises Windows Domain(オンプレミスのWindowsドメインからAmazon EC2アプリケーションへシングル・サイン・オンを提供する方法)(PDF)というタイトルのChappell氏のホワイトペーパーは、WindowsドメインからAmazon EC2にデプロイされたアプリケーションに対してSSOアクセスを行う際に、取り得る方式をいくつか取り上げている。
企業が独自のアプリケーションをAmzon EC2にデプロイし、VPNが利用可能なときには、Chappell氏はそのアプリケーションをAmazon VPCにデプロイするように推奨している。VPC内のAMIはオンプレミスで所有しているのと同様に振る舞い、SSOを提供するためにActive Directory Domain Services (ADDS)と連携する3つの取り得る方式がある。
- VPC内部のAmazon EC2インスタンスを既存のオンプレミスのWindowsドメインおよびサイトの一部に設定する。この選択肢では、VPCの中でドメイン・コントローラを実行させる必要がない。
- VPC内部のAmazon EC2インスタンスを既存のオンプレミスのWindowsドメインの新しいサイトとして設定する。この選択肢では、Amazon EC2内でADDSを実行させる必要がある。
- VPC内部のAmazon EC2インスタンスを既存のオンプレミスのWindowsフォレストの新しいドメインとして設定する。この選択肢でも、Amazon EC2内でADDSを実行させる必要がある。
これらのすべての場合で、認証および認可はオンプレミスでのアプリケーションへのアクセスと同様に動作する。ユーザはADDSサーバにアクセスし、認証をうけ、Kerberosチケットを受け取る。そのチケットはクラウド上のアプリケーションに転送され、チケットに含まれる証明書に基づいてアクセスが許可される。
VPNが望ましくない状況では、企業はAFDSを使ってWindowsドメインからAMIにSSOアクセスをするように設定することができる。Chappell氏は、使用するバージョンがAFDS 1.1なのかAFDS1.2かに応じて2つのソリューションを提案している。それらは大部分共通なのだが、いくつかの違いがある。
この場合、ADFS 1.1サーバーはWindowsドメインのなかでオンプレミスで実行させる必要がある。AMIには、ADFS 1.1 Web Agentを載せる必要がある。ユーザがブラウザ経由でクラウド・アプリケーションにアクセスしようとした際に、リクエストはWeb Agentで受信され、ADFS 1.1サーバにリダイレクトされる。ADFS 1.1サーバでは、ユーザを認証し、Web Agentにブラウザが戻すトークンを生成する。Web Agentはトークンに含まれるクレームに基づいてアプリケーションへのアクセスを許可する。一連の認証と認可の操作はカーテンの裏側で行われ、ユーザが関わることはない。
このアプローチはAMIがWindowsを実行していない場合でもうまく動作する。必要なのは、WS-Federationプロトコルを実装したWeb Agentだけだ。ホワイトペーパーでは、Linux用のWS-Federationエージェントを提供している会社として、Quest Software社とCentrify社をあげている。
このアプローチには、いくつかの難点がある。ひとつは、ブラウザにしか適合しないという点だ。その他に、MicrosoftやIBMなどが推進している、より一般的なアプローチであるクレームベースの認証の信頼できる基盤として求められるもののいくつかがADFS 1.1には欠けているという点があげられる。
ADFS 1.1に対して言及した難点は、ADFS 2.0では解消されている。ADFSサーバは2.0サーバであり、Web AgentはWindows Identity Foundation (WIF)エージェントで置き換えられる。SSOアクセスは1.1を使ったときと同様に機能する。
上で述べた内容は、クラウド上のAMIがWindowsドメインの同一エンティティに属している時に機能する。AMIが同一条件でオペレーションしていないサードパーティのものであるときには、状況は変わってくる。AMIがユーザのものとは異なった独自のADFSサーバをもったWindowsドメインに属している場合だ。この場合も、利用しているADFSのバージョンが1.1なのか2.0なのかによって、2つの取り得るソリューションがある。
ブラウザがクラウド上のアプリケーションに接続しようとする際、リクエストはクラウド上のWindowsドメインADFSサーバにリダイレクトされ、SAMLトークンが生成されブラウザ経由で、企業内のドメインに属するADFSサーバにリダイレクトされる。サーバは、別のトークンを生成し、リモートのADFSサーバにリダイレクトされ、そのトークンが示される。次にリモートADFSサーバがブラウザがアプリケーションにアクセスするために利用するトークンを発行する。
このケースは、ADFS1.1を利用した場合と似ているが、WebエージェントがWIFで、1.1サーバが新しいバージョン2.0でそれぞれ置き換えられる。
ユーザによって作成されたオンプレミスおよびインターネットのアカウントの数が増大し、それらを管理することが難しなってくると、SSOは重要な機能となる。SSOによりユーザは作業がより単純になり、管理コストを削減できるので、ソフトウェアベンダは、SSOサポート/ソリューションをより求められるようになってくるであろう。
【ネクストスケープ】.NET、C#のアプリケーション開発者募集
【豆蔵】「オブジェクト指向を現場で活かすリファクタリング入門」新規講座キャンペーン中
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式
本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。
前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。
Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。
スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。
No comments
スレッド表示 返信