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

问题描述

如何使用 Azure Policy 限制用户创建 AAD 应用程序(App Registration)中的 Client Secret 的有效期,例如只允许创建最长 90 天的 Secret?

[图片上传失败...(image-300f73-1756819601585)]

问题解答

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • """1.个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello ...
    她即我命阅读 3,314评论 0 5
  • 为了让我有一个更快速、更精彩、更辉煌的成长,我将开始这段刻骨铭心的自我蜕变之旅!从今天开始,我将每天坚持阅...
    李薇帆阅读 1,958评论 0 3
  • 似乎最近一直都在路上,每次出来走的时候感受都会很不一样。 1、感恩一直遇到好心人,很幸运。在路上总是...
    时间里的花Lily阅读 1,411评论 0 2
  • 1、expected an indented block 冒号后面是要写上一定的内容的(新手容易遗忘这一点); 缩...
    庵下桃花仙阅读 548评论 0 1
  • 一、工具箱(多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取)矩形、椭圆选框工具 【M】移动工具 【V...
    墨雅丫阅读 547评论 0 0