認証プロトコルの選択

更新日: 2014年2月

 

DataMarket ロゴ

アプリケーションを作成し、Marketplace の広範な消費者に販売します。アプリケーションが Marketplace データを使用するかどうかにかかわらず、Marketplace を利用してアプリケーションを販売するコミュニティのメンバーになることができます。Marketplace がプロビジョニングと課金を行い、開発者は成果を手にします。アプリケーションが Marketplace データを使用する場合、ユーザーはデータセットへのアクセスを認証および承認される必要があります。

Windows Azure Marketplace (WAM) は、HTTP 基本認証と OAuth の 2 つの認証プロトコルをサポートします。どのプロトコルを使用するかは、アプリケーションを使用するユーザーと使用方法によって決まります。

HTTP 基本認証も OAuth 認証も、ユーザーを認証し、保護されたリソースへのアクセスを許可または拒否できます。

アプリケーションに関する次の質問に答えることで、どちらを使用するのがよいか決定できます。

  • Marketplace でこのアプリケーションを販売しますか?

  • ユーザーは 1 つまたは複数の Marketplace データセットにアクセスしますか?

どちらかまたは両方の質問に “はい” と答えた場合は、OAuth が必要な認証プロトコルです。

HTTP 基本認証の Marketplace の実装では、ユーザー ID は無視され、パスワードとして有効なシークレット アカウント キーだけが必要です。ユーザーの ID は無視できます。または、使用状況と課金を自分で管理したい場合は、特定のユーザーを識別するために ID を使用できます。アプリケーションが HTTP 基本認証プロトコルを使用して Marketplace にアクセスする場合:

  • すべてのアクセスは 1 つのアカウントを使用して行われます。

  • すべてのユーザーが 1 つのパスワードを共有して使用します (Marketplace アカウント キー)。
    アカウント キーがコードに組み込まれるか、またはユーザーによって入力される場合、アカウント キーのプライベート性およびシークレット性は低下します。そのため、不正使用に対する脆弱性が生じる場合があります。

  • Marketplace は、すべてのアクセスを単一のアカウント (アカウント キーの所有者) に請求します。

  • 1 人のユーザーのアクセスを (アカウント キーを変更することによって) 削除すると、すべてのユーザーのアクセスが削除されます。

  • アカウント キーの所有者がサブスクライブするデータセットのみをユーザーは利用できます。

  • ユーザーごとに使用量を支払う場合は、個々の使用を管理して請求する必要があります。

Marketplace アプリでの HTTP 基本認証の実装」を参照してください。

OAuth の Marketplace の実装は、ユーザーの Windows Live ID とパスワードおよびアプリケーションの登録キー (client_id) を使用して認証を行い、データセットへのアクセスを許可します。OAuth を使用すると、クライアントとユーザーを認証して、リソース所有者を含む他のユーザーに公開することなく直接クライアントにアクセス トークンを発行する機能など、セキュリティが向上します。

アプリケーションが OAuth プロトコルを使用して Marketplace にアクセスする場合:

  • アプリケーションは Marketplace に登録する必要があります。

  • 各ユーザーに Windows Live ID が必要です。

  • すべてのアクセスはユーザーの個々のアカウントを使用して行われます。

  • 課金は、個々のユーザーのアカウントに対して行われます。

  • 1 人のユーザーのアクセスを削除しても、他のユーザーは影響を受けません。

  • ユーザーがサブスクライブする任意のデータセットにアクセスできます (アプリケーションがこのシナリオをサポートしている場合)。

  • Marketplace がユーザーのアカウントと請求を管理します。

Marketplace アプリケーションでの OAuth の実装」を参照してください。

以上のことから、HTTP 基本認証を使用するのが妥当です。2 つの理由があります。1) HTTP 基本認証の実装に必要なコードは、OAuth を実装するためのコードより短くて簡単です。2) アプリケーションのユーザーが 1 人の場合、OAuth の柔軟性や複雑さは必要ありません。

関連項目

表示: