我正在使用 Azure AD 作为身份提供商创建一个 Web 应用程序。我想在 Azure AD 或 Graph API 中存储每个用户的机密数据。根据文档,Azure AD 用户架构扩展和图形 API 开放扩展对于给定租户中的每个应用程序都是可见的,并且缺少细化权限来限制仅特定用户 [扩展] 属性的访问。是否有一个选项可以将机密数据存储在 Azure AD / Graph API 中,该数据只能由创建该数据的应用程序访问,或者存在专门限制访问的权限,而不限制对常用资源(如用户)的访问?例如,我希望我的应用程序能够读取和写入
/users/{Id|userPrincipalName}/extensions/myconfidentialextension
,而其他应用程序(即使在同一租户中)被禁止,同时仍然允许其他应用程序访问 /users/{Id|userPrincipalName}
资源的其他部分。
请查看使用 Azure Key Vault,因为这是满足您要求的最佳解决方案。将数据存储在 Active Directory 中使其变得(太)广泛可用。
对于 Azure Active Directory B2C:
自定义属性现在可在用户属性列表中使用,并可在您的用户流中使用。
可以通过 Azure AD Graph API 目录扩展或 Microsoft Graph 使用这些属性。您可以分别使用 Azure AD Graph Explorer 和 Microsoft Graph Explorer 查看可用属性。
Azure AD(现在是 Entra ID?)有一些非常强大的访问控制,因此您应该能够限制此应用程序的权限。我很难准确理解您想要做什么,但是this帖子可能会帮助您走上正确的轨道。您也许能够通过一些安全组和应用程序访问策略来完成您所需要的任务。