在學習 如何運用零信任原則開發時,請參考本文: 取得資源存取授權 及 制定授權權限策略。 在使用 Microsoft 身份平台驗證 與授權 應用程式,以及管理 權限與同意時,請定義你的應用程式權限管理方法。
當 沒有使用者參與時,你就沒有 有效的權限模型 ,因為你的應用程式總是會收到預先分配的權限。
應用程式證明是其自身在請求權限。 您的應用程式透過以下其中一種方法 證明其自身身份 :
- 證書,這是最好的選擇。
- 一個複雜秘密管理系統中的秘密。
- 在 Azure 上開發服務時,請使用 Azure 資源的管理身份,並查看以下 「管理應用程式憑證」章節。
應用程式總是需要事先管理員同意。 你的應用程式用
.default範圍請求這個權限。 它會請求管理員指派給應用程式的權限。跨性別使用者的功能。 預設情況下,
User.ReadWrite.All允許你的應用程式更新每位使用者的個人資料。 作為應用程式權限,它允許你的應用程式讀取並更新租戶中每位使用者的個人資料。應用程式所獲得的權限,永遠就是所使用的權限。 與 委派權限不同,應用程式權限不受任何特定使用者能做的事限制。
限制應用程式權限
限制應用程式存取權低於全域有三種方法。
Microsoft Teams 應用程式具備 資源特定同意 (RSC),允許應用程式存取特定團隊,而非存取企業中所有團隊。 RSC 是 Microsoft Teams 與 Microsoft Graph API 的整合,允許你的應用程式使用 API 端點並管理特定資源。 其權限模式允許 Teams 與聊天擁有者授權您的應用程式存取及修改他們的 Teams 與聊天資料。
為了限制應用程式存取特定信箱,Microsoft Exchange 管理員可以建立 Exchange 應用程式政策。 他們可以限制特定應用程式只能存取特定信箱的
Calendar.Read或Mail.Read權限。 例如,這讓您能建立自動化程序,只能讀取一個信箱或僅從一個信箱發送郵件,而不是從整個企業的每個信箱發送。為了允許透過應用程式存取 SharePoint 的細緻權限,SharePoint 將 Sites.Selected 作為特定範圍。 預設情況下,選擇
Sites.Selected作為應用程式的權限,而不是其他權限結果,會導致應用程式無法存取 SharePoint 網站集合。 管理員會使用網站權限端點來授予您的應用程式讀取、寫入或讀寫權限。
管理應用程式憑證
憑證衛生能確保您的應用程式能迅速從潛在的外洩中恢復。 以下最佳實務將指導您開發能執行偵測與修復的應用程式,同時避免停機並影響合法使用者。 這些建議支持 零信任原則,假設違規行為 ,幫助您準備應對安全事件。
移除程式碼和設定中的所有秘密。 使用 Azure 平台時,將秘密放入 Key Vault 並透過 Azure 資源的管理身份存取。 讓你的程式碼具備韌性,以便在秘密洩露時能有效處理密鑰輪替。 IT 管理員可以移除和輪換秘密與憑證,而不會關閉你的應用程式或影響合法使用者。
除非有安全流程來管理秘密,否則請使用憑證代替用戶端秘密。 攻擊者知道客戶端秘密通常較不安全,且洩漏的秘密使用難以追蹤。憑證可以被更有效管理,若遭到入侵也能被撤銷。 使用秘密時,請建立或使用安全的無接觸部署與轉移流程。 使用有固定期限的秘密(例如一年、兩年),避免 永不過期。
定期轉移憑證和機密 資料,以建立應用程式的 韌 性,避免因緊急轉移而中斷。
後續步驟
- 取得存取資源的授權 可協助您瞭解如何在取得應用程式的資源訪問許可權時,最好確保零信任。
- 開發委派權限策略 可協助您實作在應用程式中管理權限的最佳方法,並使用零信任原則進行開發。
- 授權最佳做法 可協助您為應用程式實作最佳的授權、許可權和同意模型。
- 請求權限需要行政同意 ,描述應用程式權限需要行政同意時的權限與同意體驗。
- API 保護說明透過註冊、定義許可權和同意來保護 API 的最佳做法,以及強制執行存取以達成您的 零信任 目標。
- 當沒有使用者時提供應用程式身份憑證,說明為什麼 Azure 資源的管理身份是 Azure 服務(非使用者應用程式)最佳的客戶憑證實務。