IaaS クラウドで重要なProgrammable Infrastructure

2011年9月29日(木)
田中 智文(TANAKA TOMOFUMI)

Query API の認証

Query API を利用した場合、Eucalyptus に渡される情報はリクエストパラメータのみとなります。このため、リクエストパラメータにユーザーID に相当する情報を付与しています。これが「AccessKey」です。ユーザーごとに対応するAccessKey がEucalyptus のデータベースに保存されているので、AccessKey を送付することでそのリクエストが誰から発行されたものなのかを特定できます。

ただし、そのままでは、AccessKey が盗まれてしまうと誰でもそのユーザーになり済ますことができてしまいます。そのため、そのメッセージを送付したユーザーが正当であることを保証するためにAccessKey と対になるSecretKey を利用します。

HTTP POST でリクエストを発行する際、AccessKey とともにSecretKey を用いて生成したSignature をパラメータに追加して、リクエストを送付します。リクエストを受け取ったEucalyptus はデータベース内に保持されている対応するSecretKey を同じ手順で暗号化し、同じSignature が生成されるかどうかで認証を行います( 図3 )。これにより、正しいSecretKey を知るユーザーからのメッセージか、不正なメッセージかを判断できます。

図3:Query API の真正性(クリックで拡大)

Query API ではSignature を生成する方式を「SignatureVersion」というバージョンで指定できます( 表2 )。Query API では実際に利用するAPI 名のほかに、どのバージョンのSignature 生成方式を利用したか、暗号化のアルゴリズムとして何を利用したかをそれぞれサーバに送信します。

表2:Signature のバージョン

クリックで拡大

◆◇◆◇ NOTE SOAP API とQuery API の使い分け ◆◇◆◇

本節で述べたように、Eucalyptus では2 つのAPI を提供していますが、どのように使い分ければよいのか判断に迷うかもしれません。それぞれの特徴として、SOAP API は非常に強固なセキュリティレベルを確保できること、Query API はリクエストパラメータのみで構成されるため非常にシンプルなAPI 方式であることが挙げられます。Amazon のように全世界に公開されているパブリッククラウドである場合、SOAP API のようなセキュリティレベルが求められるかもしれませんが、プライベートクラウドのように限られた範囲の利用である場合は、利用が簡単なQuery API を利用するのがよいでしょう。なお、本書で紹介するAmazon EC2 に対応したGUI/CUI クライアントはすべてQuery API を利用しています。

この記事のもとになった書籍
ストレージ運用管理実践ガイド

Eucalyptusではじめるプライベートクラウド構築

Eucalyptusのインストールから設定、APIの利用方法やマシンイメージの作成方法などを丁寧に解説。AWSとの連携など、今後のトレンドであるハイブリッドクラウドやインタークラウド(クラウド相互互換)についても言及。GoogleやAmazonなどが提供するクラウド環境を社内インフラを用いて独自に構築できる。

羽深 修/志田 隆弘/田中 智文
(NTTデータ先端技術株式会社)著
価格:3,990円 (本体 3,800円+税)
発売日:2011年5月25日発売
ISBN:978-4-8443-3025-7
発行:インプレスジャパン

著者
田中 智文(TANAKA TOMOFUMI)
NTTデータ先端技術株式会社

2008 年に高知から上京し、NTTデータ先端技術株式会社に入社。業務ではWebアプリケーションの開発やOSSクラウド基盤の調査、検証に従事。志田の作成したGUIクライアント「tAWS」のメンテナンスと機能拡張を行っている。
Twitter:@tanacasino

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています