Microsoft Entra应用程序管理策略 API 概述
命名空间:microsoft.graph
重要
Microsoft Graph /beta
版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
应用程序管理策略允许 IT 管理员强制实施有关如何配置其组织中的应用的最佳做法。 例如,管理员可以配置策略来阻止使用或限制密码机密的生存期,并使用对象的创建日期来强制实施策略。
这些策略允许组织利用新的应用安全强化功能。 通过强制实施基于应用程序或服务主体创建日期的限制,组织可以查看其当前的应用安全状况、清点应用,并根据其资源计划和需求强制实施控制。 使用创建日期的此方法允许组织对新应用程序强制实施策略,并将其应用于现有应用程序。
有两种类型的策略控制:
- 适用于所有应用程序或服务主体的租户默认策略。
- 应用 (应用程序或服务主体) 管理策略,这些策略允许从租户默认策略中包括或排除单个应用程序。
租户默认应用管理策略
租户默认策略是始终存在的单个对象,默认情况下处于禁用状态。 它由 tenantAppManagementPolicy 资源定义,对应用程序与服务主体对象强制实施限制。 它包含以下两个属性:
- applicationRestrictions 允许将租户拥有的应用程序 (应用程序对象) 。
- servicePrincipalRestrictions 允许从另一个租户预配的目标 (服务主体对象) 。
这些属性使组织能够单独控制源自其租户的应用的配置,以及其租户外部拥有的应用程序实例的配置。
应用程序和服务主体的应用管理策略
应用管理策略在 appManagementPolicy 资源中定义,其中包含一组策略,这些策略具有与租户默认策略中定义的不同限制或不同的实施日期。 可将其中一个策略分配给应用程序或服务主体,以替代租户默认策略。
当租户默认策略和应用管理策略定义相同的限制时,应用管理策略优先。 如果对处于某个 disabled
状态的应用管理策略设置了限制,则无论租户默认策略通常强制实施什么,该限制都不适用于该策略链接到的应用。 同样,如果对处于某个状态的应用管理策略 enabled
设置了限制,该限制将应用于该策略链接到的应用。 但是,如果应用管理策略未定义特定限制的任何行为,则会回退到租户默认策略的行为。 只能将一个应用管理策略分配给应用程序或服务主体。
注意
租户默认策略和应用管理策略都不会阻止现有应用程序的令牌颁发。 不符合策略要求的应用程序将继续工作;仅阻止违反策略的应用创建/更新操作。
可以在 Microsoft Graph 中管理哪些限制?
应用程序身份验证方法策略 API 提供以下限制:
限制名称 | 说明 | 示例 |
---|---|---|
passwordAddition | 完全限制应用程序的密码机密。 | 在“01/01/2019”或之后创建的应用程序上阻止新密码。 |
passwordLifetime | 为密码机密强制实施最大生存期范围。 | 对于 2015 年 1 月 1 日之后创建的应用程序,将所有新密码机密限制为最多 30 天。 |
customPasswordAddition | 限制应用程序或服务主体上的自定义密码机密。 | 限制在 2015 年 1 月 1 日之后创建的应用程序上生成) 密码机密生成的所有新的自定义 (非 Azure AD。 |
symmetricKeyAddition | 限制应用程序上的对称密钥。 | 阻止在 2019 年 1 月 1 日或之后创建的应用程序上的新对称密钥。 |
symmetricKeyLifetime | 为对称密钥强制实施最大生存期范围。 | 对于 2019/01/01 之后创建的应用程序,将所有新的对称密钥限制为最多 30 天。 |
asymmetricKeyLifetime | 为非对称密钥 (证书) 强制实施最大生存期范围。 | 对于 2019/01/01 之后创建的应用程序,将所有新的非对称密钥凭据限制为最多 30 天。 |
trustedCertificateAuthority | 强制实施受信任的证书颁发机构列表。 | 如果受信任的证书颁发机构列表中未列出颁发者,则阻止所有新的非对称密钥凭据。 |
nonDefaultUriAddition | 阻止应用的新标识符 URI,“默认”URI 格式除外。 | 阻止应用的新标识符 URI,除非它们的格式 api://{appId} 为 或 api://{tenantId}/{appId} 。 |
注意
所有生存期限制都以 ISO-8601 持续时间格式表示 (例如:P4DT12H30M5S) 。
应用 customPasswordAddition 限制将阻止向应用程序或服务主体添加客户端生成的密码机密的任何旧版 PowerShell 模块。 此限制不会阻止Microsoft Entra ID生成的应用程序或服务主体密码机密。
单租户与多租户应用
根据应用是单租户应用还是多租户应用,可在应用程序或服务主体对象上应用策略,如下所示:
- 对于单租户应用,请将策略应用于应用程序对象。
- 若要限制驻留在客户租户中的多租户应用,请将策略应用于应用程序对象。
- 若要限制从另一个租户预配的多租户应用,请将策略应用于服务主体对象。
租户默认策略与应用管理策略之间的主要差异摘要
租户默认策略 | 应用管理策略 |
---|---|
策略始终存在。 | 可以创建或更新策略对象以替代默认策略。 |
仅允许所有资源的单个限制对象定义。 | 允许定义多个策略对象,但只能将一个策略对象应用于资源。 |
允许区分应用程序对象和服务主体的限制。 | 策略可以应用于应用程序或服务主体对象。 |
将配置的所有限制应用于所有应用或服务主体。 | 将资源策略中配置的限制应用于指定的应用或服务主体。 未定义的任何内容都继承自默认策略。 |
要求
- 用于管理应用程序身份验证方法策略的最低特权Microsoft Entra角色是应用程序管理员和云应用程序管理员。