Microsoft Entra 建议 是一项功能,提供个性化洞察和可操作的指导,帮助租户采用建议的最佳实践。
本文介绍从应用中删除未使用的凭据的建议。 此建议在 Microsoft Graph 的建议 API 中称为 staleAppCreds。
先决条件
查看或更新建议有不同的角色要求。 对所需的访问类型使用最低特权角色。 有关角色的完整列表,请参阅 按任务列出的最低特权角色。
| Microsoft Entra 角色 |
访问类型 |
| 报告读取者 |
只读 |
| 安全读取者 |
只读 |
| 全球阅读器 |
只读 |
| 身份验证策略管理员 |
更新和读取 |
| Exchange 管理员 |
更新和读取 |
| 安全管理员 |
更新和读取 |
DirectoryRecommendations.Read.All |
在 Microsoft Graph 中为只读 |
DirectoryRecommendations.ReadWrite.All |
在 Microsoft Graph 中更新和读取 |
某些建议可能需要 P2 或其他许可证。 有关详细信息,请参阅 “建议”概述表。
说明
应用程序凭据可以包括需要向该应用程序注册的证书和其他类型的机密。 这些凭据用于证明应用程序的身份。 只有应用程序当前正在使用的凭据才应继续保持在应用程序中的注册状态。
如果出现以下情况,则认为凭证未使用:
- 过去 30 天内未使用它。
- 该凭证被添加到应用程序中,用于 OAuth/OIDC 流,或添加到服务主体中,用于 SAML 流。
以下凭证不受建议的约束:
- “受影响的资源”列表中未显示过期凭证。
- 标识为未使用,但自标记以来已过期的凭证在“受影响资源”列表中显示为“已完成”。
价值
移除未使用的应用程序凭证有助于减少攻击面,并有助于清理租户的应用组合。
操作计划
此建议在 Microsoft Entra 管理中心内提供,并使用 Microsoft Graph API。
建议标识的应用程序显示在建议底部 受影响的资源 列表中。
以至少安全管理员身份登录到 Microsoft Entra 管理中心。
浏览到 Entra ID>概述。
选择“建议”选项卡,然后选择“移除未使用的应用程序凭证”建议。
记下“受影响的资源”表中的以下详细信息。
- “资源”列显示应用程序名称
- “ID”列显示应用程序 ID
从“操作”列中选择“更多详细信息”以查看更多详细信息。
注意
如果凭据的来源为服务主体,请按照服务主体部分中的指导进行操作。
在打开的面板中,选择“更新凭证”以直接导航到应用注册的“证书和机密”区域,以删除未使用的凭证。
或者,浏览到 Entra ID>应用注册 并选择作为此建议的一部分显示的应用程序。
然后,导航到应用注册的“证书和机密”部分。
找到未使用的凭据并将其删除。
以下请求可用于使用 Microsoft Graph API 检索建议和受影响的资源。 若要使用 Microsoft Graph API,你需要 DirectoryRecommendations.Read.All 和 DirectoryRecommendations.ReadWrite.All 权限。 有关详细信息,请参阅 如何使用标识建议。
- 登录到 Graph 资源管理器。
- 从下拉列表中选择 GET 作为 HTTP 方法。
若要检索针对你的租户的所有建议:
GET https://graph.microsoft.com/beta/directory/recommendations
在响应中,找到与以下模式匹配的建议的 ID:{tenantId}_staleAppCreds。
若要确认受影响的资源:
GET https://graph.microsoft.com/beta/directory/recommendations/{tenantId}_staleAppCreds
若要根据资源的状态筛选资源(例如,“活动”资源):
GET https://graph.microsoft.com/eta/directory/recommendations/{tenantId}_staleAppCreds/impactedResources?$filter=status eq Microsoft.Graph.recommendationStatus'active'
- 记下
AppId、CredentialId 和要删除的源和凭据。
- 使用这些 Microsoft 图形 API 添加新的密码或密钥凭据:
示例响应
{
"id": "aaaabbbb-0000-cccc-1111-dddd2222eeee_staleAppCreds",
"recommendationType": "staleAppCreds",
"createdDateTime": "2022-09-07T21:25:36Z",
"impactStartDateTime": "2022-09-07T21:25:36Z",
"postponeUntilDateTime": null,
"lastModifiedDateTime": "2024-07-22T15:23:29Z",
"lastModifiedBy": "System",
"displayName": "Remove unused credentials from applications",
"featureAreas": [
"applications"
],
"insights": "Your tenant has applications with credentials which have not been used in more than 30 days.",
"benefits": "An application credential is used to get a token that grants access to a resource or another service.",
"category": "identityBestPractice",
"status": "active",
"priority": "medium",
"releaseType": "preview",
"requiredLicenses": "microsoftEntraWorkloadId",
"impactType": "apps",
"actionSteps": [
{
"stepNumber": 1,
"text": "1. For application resources, navigate to the app registration section in your tenant."
},
{
"stepNumber": 2,
"text": "2. In the ‘Certificate and Secrets’ blade, find the credential and remove it."
},
{
"stepNumber": 3,
"text": "3. To remove a credential from a service principal resource, use the MS Graph Service Principal API service action ",
"actionUrl": {
"displayName": "`removePassword`",
"url": "https://docs.microsoft.com/graph/api/serviceprincipal-removepassword?view=graph-rest-1.0&tabs=http"
}
}
]
}
服务主体
如果凭据的来源是 服务主体,则需注意一些注意事项和额外的步骤。
由于单个应用程序通常有多个服务主体,因此导航到企业应用程序以便在一个位置查看所有内容,这可能更容易。
在 Microsoft Entra 管理中心,浏览到 Entra ID>Enterprise 应用。
搜索并打开作为此建议的一部分显示的应用程序。
从侧边菜单中选择“单一登录”。
如果凭据是服务主体,但正在使用 SAML 证书,则可以使用 Microsoft 图形 API 标识凭据的详细信息。 若要使用 Microsoft Graph API,你需要 DirectoryRecommendations.Read.All 和 DirectoryRecommendations.ReadWrite.All 权限。 有关详细信息,请参阅 如何使用标识建议。
登录到 Graph 资源管理器。
从下拉列表中选择 GET 作为 HTTP 方法。
将 API 版本设置为 beta 版。
查询 keyCredential 和 passwordCredential 终结点。
使用 removePassword 或 removeKey 终结点从服务主体中删除凭据。
相关内容