ニュース
web apps
cross scripting attacks
cors
Amazon Web Services / AWS(製品・サービス)

AWSがデベロッパ待望のCORSをやっとサポート

次の記事

Atariが月面着陸などクラシックゲームを続々HTML5化, ツールと開発過程ドキュメントも公開

Amazon-Web-Services

Amazon Web Services(AWS)に今日(米国時間8/31)、Webアプリケーションがブラウザに対して、自分のリソースにアクセスしてもよいページのドメインを指定する方法のサポートが加わった。この方法はCross Origin Resource Sharing(CORS)*と呼ばれ、数年前からAWSのユーザが要望していた。〔*: Cross Origin Resource Sharing, そのアプリケーションのドメイン以外のどのドメインのページならアプリケーションのリソースにアクセスしてもよいか、を指定する方法。ヘッダの記入例が、ここにある。〕

このサービスでAWSには、デベロッパが手作業でやっていた仕事を自動化する仕組みが、また一つ増えたことになる。AWSにはこれまで何度も、このような機能追加があった。面倒な仕事を引き受けて、デベロッパにはアプリケーションの構築に専念させるのだ。

Jeff BarrがAWSのブログに書いているところによると、デベロッパはCORSの指定をすることによって、自分が作るアプリケーションのJavaScriptやHTML5が、Amazon S3のリソースと直接対話できるようになる。プロキシサーバが要らなくなる。

クライアントサイドのJavaScriptを、ほかのユーザが見ているWebページに注入するクロススクリプティング攻撃という悪行は、長い歴史を誇っている。しかし、Wikipediaによると、“CORSによって、クロスオリジンリクエスト*を許容するか否かを指定できるようになる。これは柔軟性の大きい妥協策だが、しかし単純にそんなリクエストを許容するよりはセキュアだ”。〔*: cross origin request, そのJavaScriptの起点(origin)以外の(cross)ドメインのページ上でのスクリプトの実行リクエスト(==危険!!)。安全策は、そのアプリ内のページにしか実行を許容しないこと!〕

Barrのブログ記事では:

HTML5ではAmazon S3へのアップロードをドラッグ&ドロップでできるようになります。アップロードの進捗を表示したり、Webアプリケーションから直接、コンテンツをアップデートしたりもできます。さまざまなドメインでホストされている外部的なWebページやスタイルシートやHTML5アプリケーションが、S3のバケットに保存されているWebフォントや画像などの資産を参照できるようになり、それらの資産を複数のWebサイトに亘って共有可能にできてしまいます。

このニュースに関するHacker News上のスレッドを見ると、AWSがデベロッパコミュニティでどの程度信頼されていたかが分かる:

これでやっと、S3のリクエストをnginxでプロキシしなくてすむね。

AWSのフォーラムでこの機能を何度もお願いした。これを要望したいからわざわざ、有料サポートに変えたんだ。Werner Vogels〔Amazon CTO〕に直接メールしたこともあるよ。

CORSとAWSに関する詳しい情報は、ここに。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))