【问题标题】:Auditing SQL tables when using Azure AD使用 Azure AD 时审核 SQL 表
【发布时间】:2020-06-10 20:52:12
【问题描述】:

在我们的 SQL 表中,我们有诸如 UpdatedByCreatedBy 之类的列,它们带有指向 User 表的 ref 键。这对于跟踪谁创建/更新了业务实体很有用。

但是,我们正在从这个本地用户表迁移到使用 Azure AD。我们将在我们的客户端应用程序中使用 Azure AD 进行身份验证和授权。

应该不需要本地用户表(或任何其他与身份相关的表,例如角色等),但是如何将 Azure AD 中的用户 ID 引用到我的审核列中?显然我不能再有一个带约束的引用键。

通常的方法是什么?

【问题讨论】:

  • 你仍然是一个本地用户表......它只是必须有一种识别 AD 用户的方法,你可能会自动填充它。
  • 不确定我是否关注你。你的意思是我可以保留一个用户表并引用 Azure AD 用户 ID 吗?
  • 是的,虽然我上次使用的是 AD 用户名。
  • 所以如果我没听错的话,您可以在 azure ad 中进行所有身份验证/授权,但是您保留一个本地用户表,其中包含对广告用户名的引用,以便在您的模型/数据库中拥有一个参考用户?但是除了加入它来查看谁创建/更新了什么之外,您不使用本地表?
  • 我会这样做。还要考虑如果 AD 用户在某个时候被删除,但您不希望您的用户被删除,并且它需要有足够的信息,即使在 AD 用户被删除后您仍然可以执行任何操作。

标签: sql-server azure azure-active-directory


【解决方案1】:

您是否阅读过有关跨域身份管理系统 (SCIM) 的信息?您可以提供开箱即用的机制来同步在 Azure AD 中创建的用户和组。

有一个完整的教程介绍如何做到这一点:
https://docs.microsoft.com/en-gb/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups#step-4-integrate-your-scim-endpoint-with-the-azure-ad-scim-client

有一个由 Microsoft https://github.com/AzureAD/SCIMReferenceCode 创建的 C# 中基于 CRUD 和 SCIM 的现成应用程序

这将为您提供解决方案,例如当 Azure AD 删除用户但您想保留它时该怎么做。

【讨论】:

    猜你喜欢
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-29
    • 2018-01-13
    • 1970-01-01
    相关资源
    最近更新 更多