共用方式為


ASP.NET Core 安全性主題

ASP.NET Core 可讓開發人員設定安全性並進行管理。 下列清單提供安全性主題的連結:

這些安全性功能可讓您打造強固且安全的 ASP.NET Core 應用程式。

如需新增或取代此節點中指引的 Blazor 安全性涵蓋範圍,請參閱 ASP.NET Core Blazor 驗證與授權,以及 Blazor 的「安全性與Identity」節點中的其他文章。

ASP.NET Core 安全性功能

ASP.NET Core 提供許多工具和連結庫,以保護 ASP.NET 核心應用程式,例如內建的身分識別提供者和第三方身分識別服務,例如 Facebook、Twitter 和LinkedIn。 ASP.NET Core 提供數種方法可儲存應用程式秘密。

驗證與授權

驗證是一道程序,其會將使用者提供的認證與作業系統、資料庫、應用程式或資源中儲存的認證進行比對。 如果相符的話,使用者就能成功通過驗證,並可執行他們在授權程序期間取得授權的動作。 授權則是決定使用者得以執行哪些動作的程序。

您也可以將驗證想成是進入伺服器、資料庫、應用程式或資源這類空間的方法,而授權則表示使用者得以針對空間 (伺服器、資料庫或應用程式) 內哪些物件執行哪些動作。

軟體的常見弱點

ASP.NET Core 和 EF 包含的功能有助您保護應用程式的安全,並防範安全性缺口的發生。 下列連結清單可帶您前往如何避免 Web 應用程式中最常見資訊安全漏洞的技術詳細文件:

除此之外,還有許多弱點是您必須提防的。 如需詳細資訊,請參閱目錄安全性與 Identity 一節中的其他文章。

安全驗證流程

我們建議使用最安全的驗證選項。 針對 Azure 服務,最安全的驗證是 受控身分識別

避免資源擁有者密碼認證授與,因為它:

  • 將使用者的密碼公開給用戶端。
  • 這是個重大的安全性風險。
  • 只有在無法執行其他驗證流程時,才應該使用。

受控身分識別是一種對服務進行驗證的安全方式,不需要將認證儲存在程式碼、環境變數或設定檔中。 受控身分識別適用於 Azure 服務,並可搭配 Azure SQL、Azure 儲存體以及其他 Azure 服務使用:

將應用程式部署到測試伺服器時,可以使用環境變數將連接字串設定為測試資料庫伺服器。 如需詳細資訊,請參閱組態。 環境變數通常會以純文字、未加密的文字儲存。 如果電腦或流程遭到入侵,則不受信任的合作對象可以存取環境變數。 建議您不要使用環境變數來儲存生產 連接字串,因為它不是最安全的方法。

設定資料方針:

  • 永遠不要將密碼或其他敏感性資料儲存在設定提供者程式碼或純文字設定檔中。 祕密管理員工具可以用來儲存開發環境中的密碼。
  • 不要在開發或測試環境中使用生產環境祕密。
  • 請在專案外部指定祕密,以防止其意外認可至開放原始碼存放庫。

如需詳細資訊,請參閱

如需其他雲端提供者的資訊,請參閱:

企業 Web 應用程式模式

如需建立可靠、安全、高效能、可測試且可調整 ASP.NET Core 應用程式的指引,請參閱 Enterprise Web 應用程式模式。 提供可實作模式的完整生產品質範例 Web 應用程式。

其他資源