App Service アプリをセキュリティで保護する

完了

Azure App Service によって、組み込みの認証と承認がサポートされます。 Web アプリ、API、モバイル バックエンド、さらには Azure Functions アプリでも、最小限のコードを記述するだけで、またはまったく記述せずに、ユーザーのサインインとデータへのアクセスを可能にできます。

安全な認証と認可には、フェデレーション、暗号化、JSON Web トークン (JWT) 管理、付与タイプなど、セキュリティについての深い理解が必要です。 App Service はこれらのユーティリティを備えているため、ユーザーは顧客へのビジネス価値の提供に、より多くの時間と労力を費やすことができます。

Note

認証と承認のために、必ずしも Azure App Service を使用する必要はありません。 多くの Web フレームワークにセキュリティ機能がバンドルされており、好みのサービスを使用できます。

App Service を使用したアプリのセキュリティについて知っておくべきこと

アプリのセキュリティを実現するのに App Service がどのように役立つかを詳しく見てみましょう。

  • Azure App Service の認証と承認のセキュリティ モジュールは、アプリケーション コードと同じ環境で、ただし別個に実行されます。

  • セキュリティ モジュールは、アプリ設定を使用して構成されます。 SDK、特定の言語、またはアプリケーションのコードの変更は必要ありません。

  • セキュリティ モジュールを有効にすると、受信するすべての HTTP 要求が、アプリケーション コードによって処理される前にモジュールを通過します。

  • セキュリティ モジュールによってアプリのいくつかのタスクが処理されます。

    • 指定されたプロバイダーでユーザーを認証する
    • トークンを検証、格納、更新する
    • 認証されたセッションを管理する
    • 要求ヘッダーに ID 情報を挿入する

アプリのセキュリティに App Service を使用する際の考慮事項

App Service で認証と承認のセキュリティを構成するには、Azure portal で機能を選択します。 次のオプションを確認し、ご自身の App Service アプリの実装にどのようなセキュリティが役立つかを考えてください。

  • [匿名要求を許可する (操作不要)]。 認証されていないトラフィックの承認がアプリケーション コードに委ねられます。 認証された要求について、App Service は HTTP ヘッダーで認証情報も渡します。 この機能を使用すると、匿名要求をいっそう柔軟に処理できます。 この機能により、複数のサインイン プロバイダーをユーザーに提示できます。

  • 認証された要求のみを許可する。 すべての匿名要求を、選ばれたプロバイダーの /.auth/login/<provider> にリダイレクトします。 この機能は、<プロバイダー>を使用したログインと同じです。 匿名要求がネイティブ モバイル アプリからのものである場合、返される応答は HTTP 401 Unauthorized メッセージです。 この機能を使用すると、アプリで認証コードを記述する必要はまったくありません。

    重要

    この機能により、アプリに対するすべての呼び出しへのアクセスが制限されます。 多くのシングルページ アプリの場合と同様に、ご自身のアプリでパブリック ホーム ページが必要な場合は、すべての呼び出しへのアクセスを制限することは望ましくない場合があります。

  • ログおよびトレース。 認証と承認のトレースをログ ファイルで直接確認できます。 予期しない認証エラーが発生した場合は、既存のアプリケーション ログを参照して、すべての詳細を簡単に確認できます。 失敗した要求トレースを有効にすると、失敗した要求にセキュリティ モジュールがどのように関与したかを正確に確認できます。 トレース ログでは、EasyAuthModule_32/64 という名前のモジュールへの参照を探します。