【Azure 环境】Microsoft Graph API实现对Entra ID中应用生成密码的时间天数

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 本文介绍如何通过 Azure 的 App Management Policy 限制用户在创建 AAD 应用程序的 Client Secret 时设置最长 90 天的有效期。通过 Microsoft Graph API 配置 defaultAppManagementPolicy,可有效控制密码凭据的生命周期,增强安全管理。

问题描述

如何使用 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

 


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
18天前
|
人工智能 JavaScript 前端开发
实战使用 Qwen3-coder 低代码开发 HTML 个人网站
阿里巴巴开源的Qwen3-coder模型,凭借强大性能和低代码能力,助力用户快速搭建个人网站。本文详解环境配置、提示词设计与部署流程,适合编程新手快速上手,掌握AI辅助开发技能。
1216 8
|
3天前
|
自然语言处理 前端开发 JavaScript
js异步
js异步
198 108