【问题标题】:Is Azure AD Conditional Access supported for Dynamics 365 web services?Dynamics 365 Web 服务是否支持 Azure AD 条件访问?
【发布时间】:2018-07-14 23:20:35
【问题描述】:

Dynamics 365 Web 服务 SDK 使用 ADAL 进行身份验证。我已经设置了一个有权在 Dynamics CRM Online 中执行某些管理的服务帐户。我还设置了 Azure AD 条件访问策略来限制此服务帐户的 IP 访问。服务帐户仍然能够从被阻止的 IP 地址连接到 Dynamics 365 Web 服务。我已验证服务帐户在应用策略后无法使用 Web 浏览器从同一帐户登录到 O365。我还使用 AAD 假设分析工具验证了该规则生效。

因此,Dynamics 365 Web 服务似乎不支持 AAD 条件访问。这是真的?如果是真的,AAD 条件访问的价值在这种情况下会降低,但至少我能够限制从任何其他 IP 使用 UI。

【问题讨论】:

  • 我会开一张支持票,因为它受支持:docs.microsoft.com/en-us/dynamics365/customer-engagement/admin/…。您要么有配置问题,要么有错误。访问服务器以获取 HTML 或 SOAP 响应(或 WebApi JSON reapone)之间应该没有区别。
  • 谢谢,我会这样做的。我的访问策略包括所有云应用程序并且仅包括该用户。它会阻止对除受信任位置之外的所有位置的访问。

标签: azure-active-directory dynamics-crm-online


【解决方案1】:

值得一提的是,条件访问 (CA) 策略仅适用于 user account。常见问题解答中对此进行了描述:https://docs.microsoft.com/en-us/azure/active-directory/active-directory-conditional-faqs(搜索服务帐户)

如果您使用 user account 作为服务帐户,则 CA 将适用。 CA 目前不适用于服务主体。您可以使用Certificate authentication for service principals 来增强身份验证。但总的来说,目前 CA 仅对user accounts 可用。

【讨论】:

  • 谢谢。服务主体的证书身份验证值得研究作为 CA 用户帐户的替代方案。 Microsoft 正在调查 CA 不适用于这种情况的问题。
  • 我不确定你的最后一句话是问题还是陈述。如果这是一个问题 - 抱歉我无法回答,我不是产品团队的一员。但我希望是这样:) 我个人的猜测是具有证书登录的服务主体足以保护资源。如果私钥泄漏,则存在严重的安全漏洞,在这种情况下没有 CA 将提供帮助(为了获得证书的私钥,必须在网络中。如果他/她在网络中,您还有其他问题...)。
  • 这是一个声明。我们与 Dynamics 365 团队和 AAD 团队在此问题上有一张支持票。我与他们进行了几次会议。他们正在共同努力给我们一个答案。对于我们使用 Graph API 完成的 AAD 集成,我们使用带有证书身份验证的客户端凭据流。这是不可能的,因为无法在 CRM 实例中授予客户访问权限。我还没有尝试过服务主体。我已要求 Microsoft 提供有关使用 Dynamics 365 Web 服务进行身份验证的安全建议。
  • thisthat(使用证书而不是对称密钥)没有帮助?
  • 是的,这会有所帮助。这是一个带有 c# 代码的 GitHub 项目,用于使用证书连接到 Dynamics 365 Web 服务。它还有一个 powershell 脚本,可以自动创建自签名证书、应用程序和安全主体:github.com/mariusagur/msdyn365-certificate-auth
猜你喜欢
  • 1970-01-01
  • 2018-11-03
  • 1970-01-01
  • 2020-03-06
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
相关资源
最近更新 更多