【问题标题】:How to connect to on-prem AD from Azure app如何从 Azure 应用连接到本地 AD
【发布时间】:2021-05-05 19:39:32
【问题描述】:

我正在尝试将我们的本地 AD 与 Azure 函数应用程序集成。我需要能够获取用户并更新他们。

我们同时拥有 Azure AD 和本地 AD,它们通过 Azure AD Connect 同步,后者仅同步一种方式(从 AD 到 AAD)。所以我想更新本地 AD 中的用户,这将同步到 Azure AD。 为此,我正在使用 System.DirectoryServices.AccountManagement,它可以在我的本地计算机上正常工作。 但是,它在我的 Azure 应用中不起作用。

我们已设置到 AD 的混合连接以拥有网关,但我们无法使其工作。我们还创建了一个对该域具有读取权限的用户。

代码:

public Principal GetPrincipalUser(string employeeID)
    {

        var context = new PrincipalContext(ContextType.Domain, "mydomain:636", "username", "password");
        UserPrincipal qbeUser = new UserPrincipal(context);
        qbeUser.Enabled = true;
        qbeUser.EmployeeId = employeeID;

        using (var searcher = new PrincipalSearcher(qbeUser))
        {
            PrincipalSearchResult<Principal> result = searcher.FindAll();
            return result.FirstOrDefault();
        }
    }

我们不断收到的异常是:“无法联系服务器。LDAP 服务器不可用。”

关于如何连接的任何建议?

谢谢!

【问题讨论】:

    标签: azure active-directory ldap azure-functions


    【解决方案1】:

    Azure 混合连接不支持 LDAP,因为它可能需要 UDP。

    https://docs.microsoft.com/en-us/azure/app-service/app-service-hybrid-connections

    【讨论】:

    • 感谢您的回复。有什么解决办法吗?
    • 不确定 Azure 功能在做什么,但如果您只需要重置密码或解锁帐户,您可以查看 Azure AD 自助密码重置 (SSPR)。
    • 另一种选择是在加入域的 VM 上运行此代码...
    • 我们想通过这个函数来管理我们的用户,所以既要创建又要更新他们。如果我们在 AAD 中这样做,更改将不会同步到本地 AD,因为同步仅来自 AAD-->AD。感谢您的意见!
    【解决方案2】:

    我们最终使用了通往我们 AD 的网关以及 Novell Directory Ldap NETStandard

    【讨论】:

    • 嗨 Linlin,我面临同样的问题,我需要从 Azure 功能连接本地 AD 并执行创建组/用户。您能否提供有关您所做的网关部分的更多详细信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-16
    • 2019-10-16
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多