如何通过 Azure AD 验证 Marklogic 管理界面 (8001)
How to authenticate Marklogic admin interface (8001) via Azure AD
我正在使用 MarkLogic 服务器 10。管理界面的身份验证设置为 "Digest"。因此,当我打开 https://localhost:8001 时,它会提示输入用户 id/password 并打开管理界面。
我需要使用 Azure AD 进行身份验证。因此,我选择了 SAML 集成而不是 "Digest"。 SAML 集成已完成,我将 "internal security" 设置为 false。
问题是当 azure 身份验证完成后点击 https://localhost:8001 URL 时,出现错误。它说 "SEC-NOADMIN: (err:FOER0000) User does not have the admin role.".
我的理解是,这是因为我的 Azure AD 用户未在 Marklogic 中被识别。我相信我必须在现有 MarkLogic 用户和我的 AD 用户之间进行映射。虽然问题是我做不到。我探索了文档。有适用于 LDAP 和 Kerberos 的解决方案,但没有适用于 Azure AD 的解决方案。
有人可以确认 Azure 身份验证是否可以在 Marklogic 管理员上执行吗?如果是,请帮助我知道解决方案。
提前致谢。
当您使用 Azure AD 等外部身份验证时,该服务将进行身份验证,但它也会告诉 MarkLogic 您的身份。返回的 SAML 信息将返回您所属组的名称或 ID(取决于配置)。您可能缺少的部分是这些组与 MarkLogic 角色之间的联系。
在 MarkLogic Admin UI 中,查看角色定义。您会看到有一个名为“外部名称”的部分。您需要为管理员角色添加一个外部名称,该名称与应授予此角色访问权限的 AD 组相匹配。同样,这可能是名称或 ID,具体取决于外部安全对象的配置方式。
参考文献:
我正在使用 MarkLogic 服务器 10。管理界面的身份验证设置为 "Digest"。因此,当我打开 https://localhost:8001 时,它会提示输入用户 id/password 并打开管理界面。
我需要使用 Azure AD 进行身份验证。因此,我选择了 SAML 集成而不是 "Digest"。 SAML 集成已完成,我将 "internal security" 设置为 false。
问题是当 azure 身份验证完成后点击 https://localhost:8001 URL 时,出现错误。它说 "SEC-NOADMIN: (err:FOER0000) User does not have the admin role.".
我的理解是,这是因为我的 Azure AD 用户未在 Marklogic 中被识别。我相信我必须在现有 MarkLogic 用户和我的 AD 用户之间进行映射。虽然问题是我做不到。我探索了文档。有适用于 LDAP 和 Kerberos 的解决方案,但没有适用于 Azure AD 的解决方案。
有人可以确认 Azure 身份验证是否可以在 Marklogic 管理员上执行吗?如果是,请帮助我知道解决方案。
提前致谢。
当您使用 Azure AD 等外部身份验证时,该服务将进行身份验证,但它也会告诉 MarkLogic 您的身份。返回的 SAML 信息将返回您所属组的名称或 ID(取决于配置)。您可能缺少的部分是这些组与 MarkLogic 角色之间的联系。
在 MarkLogic Admin UI 中,查看角色定义。您会看到有一个名为“外部名称”的部分。您需要为管理员角色添加一个外部名称,该名称与应授予此角色访问权限的 AD 组相匹配。同样,这可能是名称或 ID,具体取决于外部安全对象的配置方式。
参考文献: