使用最低權限原則加強安全性

最低許可權的資訊安全性原則判斷提示使用者和應用程式應該只授與他們執行作業所需的數據和作業的存取權。 請遵循這裡的指引,協助減少應用程式的受攻擊面,以及在 Microsoft 身分識別平台 整合式應用程式中發生安全性缺口(爆破半徑)的影響。

建議 一目了然

  • 藉由撤銷未使用減少的許可權,防止過度使用的應用程式。
  • 使用身分識別平臺的 同意 架構,要求使用者同意應用程式的要求,才能存取受保護的數據。
  • 在開發的所有階段中,以最低許可權建 置應用程式。
  • 定期稽 核已部署的應用程式,以識別過度許可權的應用程式。

過度許可權的應用程式

已授 與未使用 減少許可權的任何應用程式,都會被視為過度許可權。 未使用且可減少的許可權可能會提供應用程式或其使用者執行其工作所需的數據或作業未經授權的或非預期存取權。 只授與適當的許可權,以避免因未使用和可降低的許可權所造成的安全性風險。 適當的許可權是應用程式或使用者執行其必要工作所需的最寬鬆存取權。

未使用的許可權

未使用的許可權是已授與應用程式的許可權,但當應用程式如預期使用時,應用程式不會呼叫該應用程式所公開的 API 或作業。

  • 範例:應用程式會使用 Files.Read 許可權呼叫 Microsoft Graph API,以顯示儲存在已登入使用者的 OneDrive 中的檔案清單。 不過,應用程式也已獲得 Calendars.Read 許可權,但未提供行事曆功能,而且不會呼叫 Calendars API。

  • 安全性風險:未使用的許可權會造成 水平許可權提升 安全性風險。 利用應用程式中安全性弱點的實體可以使用未使用的許可權,在應用程式如預期般使用時,取得應用程式通常不支援或允許的 API 或作業存取權。

  • 風險降低:移除應用程式在 API 呼叫中未使用的任何許可權。

可減少的許可權

可減少的許可權是具有較低許可權的對應許可權,該許可權仍會提供應用程式及其使用者執行其必要工作所需的存取權。

  • 範例:應用程式會藉由呼叫 Microsoft Graph API 來顯示已登入使用者的配置檔資訊,但不支援配置檔編輯。 不過,應用程式已獲得 User.ReadWrite.All 許可權。 User.ReadWrite.All 許可權在這裡被視為可減少,因為較寬鬆的 User.Read.All 許可權會授與足夠的使用者配置檔數據的只讀存取權。

  • 安全性風險:可降低的許可權會造成 垂直許可權提升 安全性風險。 利用應用程式中安全性弱點的實體,可以使用可減少的許可權來未經授權存取數據,或執行實體角色通常不允許的作業。

  • 風險降低:將應用程式中每個可減少的許可權取代為其最不寬鬆的對應專案,但仍啟用應用程式的預期功能。

大部分的應用程式都需要存取受保護的數據,而該數據的擁有者必須 同意 該存取權。 您可以透過數種方式來授與同意,包括可同意 Microsoft Entra 租使用者中所有使用者 的租用戶系統管理員,或可授與存取權的應用程式使用者。

每當在裝置中執行的應用程式要求存取受保護的數據時,應用程式應該要求使用者同意,再授與受保護數據的存取權。 用戶必須先授與或拒絕要求許可權的同意,應用程式才能進行。

應用程式開發期間的最低許可權

應用程式的安全性及其存取的用戶數據是開發人員的責任。

在應用程式開發期間遵循這些指導方針,以協助避免過度使用:

  • 完全瞭解應用程式需要呼叫 API 所需的許可權。
  • 瞭解應用程式使用 Graph 總管進行的每個 API 呼叫的最低特殊許可權。
  • 尋找從最低許可權到最高許可權的對應 許可權
  • 如果應用程式進行具有重疊許可權的 API 呼叫,請移除任何重複的許可權集。
  • 藉由在許可權清單中選擇最低許可權許可權,將最低許可權集套用至應用程式。

已部署應用程式的最低許可權

組織通常會猶豫修改執行中的應用程式,以避免影響其正常商務作業。 不過,組織應該考慮降低安全性事件的風險,可能或更嚴重,方法是使用過度許可權來值得排程的應用程式更新。

在組織中制定這些標準做法,以協助確保已部署的應用程式不會過度使用,而且不會隨著時間而變得過度許可權:

  • 評估從應用程式進行的 API 呼叫。
  • 針對必要和最低許可權使用 Graph 總 管和 Microsoft Graph 檔。
  • 稽核授與使用者或應用程式的許可權。
  • 使用最低許可權許可權集合更新應用程式。
  • 定期檢閱許可權,以確定所有授權的許可權仍然相關。

下一步