基本的に、ネイティブ モバイル アプリケーションのアーキテクチャは、デバイスにインストールされる「クライアントアプリケーション」とアプリケーションのビジネス論理を解決する
REST Web サービスを使って実装される「サーバーアプリケーション」で構成されます。詳しくは、「
安全なネイティブ モバイル アプリケーションのアーキテクチャ」を参照してください。
このアーキテクチャは、そのままでは、あらゆる HTTP クライアントがアプリケーションサーバーでホストされている REST サービスにアクセスできます。
そのため、必要とするセキュリティにもよりますが、多くの場合、デバイスからのみ
REST Web サービスにアクセスできるようにし、ほかの HTTP クライアントからのアクセス (少なくとも POST、PUT、DELETE アクションの場合) を拒否するよう検討することが重要になります。
GAM はこのセキュリティ上の問題を解決します。GAM には、OAuth をベースにしたセキュリティメカニズムが実装されているため、認証およびオーソライズされたユーザーのみがアプリケーションサーバー内の REST サービスとして公開されたリソースにアクセスできます。
次に、アプリケーションに対して統合セキュリティを有効にした場合 (
[ Enable Integrated Security ] プロパティ) の仕組みを説明します。
ユーザーがアプリケーションにログインすると、
GAM と同じサーバーに格納されている OAuth サーバーにトークンが送信されます。
ユーザーが入力したユーザー名とパスワードを検証して、アクセストークン (各入力で生成された値) を返します。アクセストークンは、ユーザーが接続している間は変更されないか、
GAM バックエンドのオプションとして使用できる [
OAuth token expire ] プロパティの値に応じて定期的にリセットされます。管理者ユーザーはこのプロパティを
GAM のセキュリティポリシーに基づいて設定できます。
承認後に、ダッシュボード (またはアプリケーションのエントリーポイント) が開き、REST Web サービスのリクエストごとにアクセストークンが検証されます。この検証はセッション全体を通して継続的に行われます。
安全なネイティブ モバイル アプリケーションのアーキテクチャ
オンライン ネイティブ モバイル アプリケーションのアーキテクチャ