控管 Microsoft Entra 服務帳戶
Microsoft Entra ID 中有三種類型的服務帳戶:受控識別、服務主體,以及作為服務帳戶使用的用戶帳戶。 當您建立服務帳戶以進行自動化使用時,系統會獲得存取 Azure 和 Microsoft Entra 標識符中資源的許可權。 資源可以包括 Microsoft 365 服務、軟體即服務 (SaaS) 應用程式、自定義應用程式、資料庫、HR 系統等等。 控管 Microsoft Entra 服務帳戶是管理建立、許可權和生命週期,以確保安全性和持續性。
深入了解:
注意
不建議使用者帳戶作為服務帳戶,因為它們較不安全。 這包括同步至 Microsoft Entra ID 的內部部署服務帳戶,因為它們不會轉換成服務主體。 相反地,我們建議使用受控識別或服務主體,以及使用條件式存取。
深入了解: 什麼是條件式存取?
規劃您的服務帳戶
建立服務帳戶或註冊應用程式之前,請先記載服務帳戶密鑰資訊。 使用資訊來監視及控管帳戶。 建議您在集中式組態管理資料庫 (CMDB) 中收集下列數據並加以追蹤。
資料 | 描述 | 詳細資料 |
---|---|---|
負責人 | 負責管理和監視服務帳戶的使用者或群組 | 授與擁有者許可權以監視帳戶,並實作減輕問題的方法。 問題風險降低是由擁有者或IT小組的要求所完成。 |
目的 | 帳戶的使用方式 | 將服務帳戶對應至服務、應用程式或腳本。 避免建立多使用服務帳戶。 |
權限 (範圍) | 預期的許可權集 | 記錄其存取的資源,以及這些資源的許可權 |
CMDB 連結 | 連結至存取的資源,以及使用服務帳戶的腳本 | 記錄資源和腳本擁有者以傳達變更的效果 |
風險評估 | 如果帳戶遭到入侵,風險和業務效果 | 使用資訊縮小許可權範圍,並判斷資訊存取權 |
檢閱期間 | 由擁有者檢閱服務帳戶的步調 | 檢閱通訊和評論。 記錄在排程檢閱期間之後執行檢閱時會發生什麼情況。 |
存留期 | 預期的帳戶存留期上限 | 使用此度量來排程與擁有者的通訊、停用,然後刪除帳戶。 設定認證到期日,以防止認證自動變換。 |
名稱 | 標準化帳戶名稱 | 建立服務帳戶的命名慣例,以搜尋、排序和篩選它們 |
最低許可權原則
授與執行工作所需的服務帳戶許可權,而不再授與。 如果服務帳戶需要高階許可權,請評估原因並嘗試減少許可權。
我們建議下列服務帳戶許可權的做法。
權限
- 請勿將內建角色指派給服務帳戶
- 請參閱資源
oAuth2PermissionGrant
類型
- 請參閱資源
- 服務主體已獲指派特殊許可權角色
- 請勿將服務帳戶納入為具有更高許可權之任何群組的成員
Get-MgDirectoryRoleMember
和 objectType “Service Principal” 的篩選條件,或使用Get-MgServicePrincipal | % { Get-MgServicePrincipalAppRoleAssignment -ObjectId $_ }
- 請參閱許可權簡介和同意,以限制服務帳戶可在資源上存取的功能
- 服務主體和受控識別可以在委派內容中使用 Open Authorization (OAuth) 2.0 範圍,模擬登入使用者,或作為應用程式內容中的服務帳戶。 在應用程式內容中,沒有人登入。
- 確認資源的範圍服務帳戶要求
- 如果帳戶要求 Files.ReadWrite.All,請評估它是否需要 File.Read.All
- Microsoft Graph 權限參考
- 請確定您信任具有要求存取權的應用程式開發人員或 API
期間
- 將服務帳戶認證(用戶端密碼、憑證)限制為預期的使用期間
- 排程服務帳戶使用量和用途的定期檢閱
- 確定檢閱會在帳戶到期前發生
瞭解目的、範圍和許可權之後,請建立您的服務帳戶,請使用下列文章中的指示。
盡可能使用受控識別。 如果您無法使用受控識別,請使用服務主體。 如果您無法使用服務主體,請使用 Microsoft Entra 用戶帳戶。
建置生命週期程式
服務帳戶生命週期從規劃開始,並以永久刪除結尾。 下列各節涵蓋如何監視、檢閱許可權、判斷持續帳戶使用量,最後取消布建帳戶。
監視服務帳戶
監視您的服務帳戶,以確保使用模式正確,且使用服務帳戶。
收集及監視服務帳戶登入
使用下列其中一個監視方法:
- Azure 入口網站 中的 Microsoft Entra 登入記錄
- 將 Microsoft Entra 登入記錄導出至
- Azure 儲存體文件
- Azure 事件中樞 檔或
- Azure 監視器記錄概觀 (機器翻譯)
使用下列螢幕快照來查看服務主體登入。
登入記錄詳細數據
在登入記錄中尋找下列詳細數據。
- 服務帳戶未登入租使用者
- 登入服務帳戶模式中的變更
建議您匯出 Microsoft Entra 登入記錄,然後將其匯入安全性資訊和事件管理 (SIEM) 工具,例如 Microsoft Sentinel。 使用 SIEM 工具來建置警示和儀錶板。
檢閱服務帳戶許可權
定期檢閱服務帳戶許可權和存取範圍,以查看其是否可以減少或消除。
- 請參閱 Get-MgServicePrincipalOauth2PermissionGrant
- 請參閱並
AzureADAssessment
確認有效性 - 請勿將服務主體認證設定為 永不過期
- 盡可能使用儲存在 Azure 金鑰保存庫 中的憑證或認證
重新認證服務帳戶使用
建立定期檢閱程式,以確保由擁有者、安全性小組或 IT 小組定期檢閱服務帳戶。
此程式包括:
- 判斷服務帳戶檢閱週期,並將其記錄在您的 CMDB 中
- 檢閱之前,與擁有者、安全性小組、IT 小組的通訊
- 如果遺漏檢閱,請判斷警告通訊及其時機
- 如果擁有者無法檢閱或回應的指示
- 停用但不要刪除帳戶,直到檢閱完成
- 判斷相依性的指示。 通知資源擁有者效果
檢閱包括擁有者和IT合作夥伴,並認證:
- 帳戶是必要的
- 帳戶的許可權已足夠且必要,或要求變更
- 帳戶的存取權及其認證會受到控制
- 帳戶認證正確:認證類型和存留期
- 帳戶風險分數自先前的重新認證后尚未變更
- 更新預期的帳戶存留期,以及下一個重新認證日期
取消布建服務帳戶
在下列情況下取消布建服務帳戶:
- 帳戶腳本或應用程式已淘汰
- 帳戶文稿或應用程式函式已淘汰。 例如,存取資源。
- 服務帳戶會由另一個服務帳戶取代
- 認證已過期,或帳戶無法運作,且沒有投訴
取消布建包含下列工作:
取消布建相關聯的應用程式或腳本之後:
- 服務帳戶在 Microsoft Entra 識別碼 和資源存取中的登入記錄
- 如果帳戶處於作用中狀態,請先判斷其使用方式,然後再繼續
- 針對受控服務識別,請停用服務帳戶登入,但不要從目錄移除它
- 撤銷服務帳戶角色指派和 OAuth2 同意授與
- 在定義的期間之後,並警告擁有者,請從目錄刪除服務帳戶