【Azure 環境】Microsoft Graph API實現對Entra ID中應用生成密碼的時間天數
問題描述
如何使用 Azure Policy 限制用戶創建 AAD 應用程序(App Registration)中的 Client Secret 的有效期,例如只允許創建最長 90 天的 Secret?

問題解答
Azure Entra ID(原 Azure AD)支持通過 App Management Policy 來限制應用程序憑據(Credential)的創建行為,包括密碼(Client Secret)和密鑰(Key Credential)的添加及其生命周期。
要實現“只允許用戶創建最長90天的 Client Secret”的目標,可以通過 Microsoft Graph API 設置 defaultAppManagementPolicy,具體步驟如下:
1. 設置策略內容
使用 Microsoft Graph API 的 PATCH 方法更新默認策略:
PATCH https://microsoftgraph.chinacloudapi.cn/v1.0/policies/defaultAppManagementPolicy
Content-Type: application/json { "isEnabled": true, "applicationRestrictions": { "passwordCredentials": [ { "restrictionType": "passwordLifetime", "state": "enabled", "maxLifetime": "P90D", "restrictForAppsCreatedAfterDateTime": "2014-10-19T10:37:00Z" } ] } }
- restrictionType: passwordLifetime 表示限制密碼憑據的生命周期。
- maxLifetime: P90D 表示最大有效期為 90 天。
- restrictForAppsCreatedAfterDateTime 可設置策略生效的應用創建時間門檻。
2. 驗證策略效果
部署策略后,若用戶嘗試創建超過90天有效期的 Secret,將會被系統阻止。
3. 限制其他類型憑據(可選)
除了 passwordLifetime,還可以設置以下限制:
| 限制類型 | 描述 |
|---|---|
| passwordAddition | 控制是否允許添加新的密碼憑據 |
| symmetricKeyAddition | 控制是否允許添加對稱密鑰憑據 |
| symmetricKeyLifetime | 設置對稱密鑰的最大有效期 |
| customPasswordAddition | 禁止使用 PowerShell 或 API 添加自定義密碼憑據 |
參考資料
Microsoft Graph API to Create appManagementPolicy: https://learn.microsoft.com/en-us/graph/api/appmanagementpolicy-post?view=graph-rest-1.0&tabs=http
當在復雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 云中,恰是如此!

浙公網安備 33010602011771號