保護 App Service 應用程式

已完成

Azure App Service 提供內建驗證和授權支援。 您可以在 Web 應用程式、API 和行動後端以及 Azure Functions 應用程式中撰寫最少的程式碼或完全不撰寫程式碼,以登入使用者並存取資料。

安全的驗證和授權需要對安全性有深入的了解,包括同盟、加密、JSON Web 權杖 (JWT) 管理、授與類型等等。 App Service 會提供這些公用程式,讓您可以將更多的時間和精力花在為客戶提供商務價值上。

注意

您不必使用 Azure App Service 進行驗證及授權。 許多 Web 架構都有附帶安全性功能,您可以使用您偏好的服務。

使用 App Service 的應用程式安全性的須知事項

讓我們進一步瞭解 App Service 如何協助您為應用程式提供安全性。

  • Azure App Service 中的驗證和授權安全性模組會分別在與應用程式程式碼相同的環境中執行。

  • 安全性模組使用應用程式設定來設定。 無需 SDK、特定語言或變更應用程式程式碼。

  • 當您啟用安全性模組時,每個傳入的 HTTP 要求都會通過模組,再由應用程式程式碼處理。

  • 安全性模組會處理您應用程式的數個工作:

    • 向指定提供者驗證使用者
    • 驗證、儲存和重新整理權杖
    • 管理已驗證的工作階段
    • 將身分識別資訊插入要求標頭

針對應用程式安全性使用 App Service 時應考量的事項

在 Azure 入口網站中選取功能,即可在 App Service 中設定驗證和授權安全性。 檢閱下列選項,並思考哪些安全性可讓 App Service 應用程式實作獲益。

  • 允許匿名要求 (無動作)。 延遲對您應用程式程式碼之未經驗證流量的授權。 針對已驗證的要求,App Service 也會在 HTTP 標頭中傳遞驗證資訊。 此功能會針對處理匿名要求提供更大的彈性。 透過這項功能,您可以向使用者呈現多個登入提供者。

  • 僅允許已驗證的要求。 將所有匿名要求重新導向至您所選提供者的 /.auth/login/<provider>。 此功能相當於 使用 < 提供者 > 登入。 如果匿名要求來自原生行動應用程式,則傳回的回應會是 HTTP 401 Unauthorized 訊息。 透過此功能,您便不需要在應用程式中撰寫任何驗證程式碼。

    重要

    此功能會限制對應用程式的 所有 呼叫的存取權。 如果您的應用程式需要公用首頁,則限制對所有呼叫的存取權可能不適用,如同許多單頁應用程式的情況一樣。

  • 記錄和追蹤。 直接在記錄檔案中檢視驗證和授權追蹤。 如果您看到未預期的驗證錯誤,您可以在現有的應用程式記錄檔中尋找所有詳細資料。 如果您啟用失敗的要求追蹤,您可以看到安全性模組如何參與失敗的要求。 在追蹤記錄中,尋找名為 EasyAuthModule_32/64 的模組參考。