AAD + SAML:特定于应用程序的证书和元数据

时间:2017-11-13 12:18:32

标签: azure-active-directory

我很担心为Azure Active Directory中的应用程序设置SAML SSO。

我已经从“常规”端点https://login.microsoftonline.com/[Unique_ID]/FederationMetadata/2007-06/FederationMetadata.xml

下载了SAML元数据

但是,当我在AAD中配置我的应用程序时,它会为应用程序设置签名证书,并且还有另一个指向SAML元数据的链接,这与第一个“常规”元数据略有不同:

  • 一般包含 3个签名证书,而具体的应用程序特定元数据包含一个:专门为AAD端的应用程序配置的证书。特定于应用程序的证书,而不是来自常规元数据的3个证书中的任何一个。
  • 一般是数字签名,具体的不是。
  • 两者都有相同的实体ID

我对这个概念很困惑,我还没有在任何其他IdP服务器上看到它。我已经意识到必须使用特定于应用程序的元数据来配置我的服务方,否则将无法验证SAML断言的数字签名。

所以,我的问题是:

  • 为什么AAD提供了具有特定于应用程序的签名证书和SAML元数据的选项?为什么我不能简单地使用全局元数据/证书,并且对使用相同证书签名的所有应用程序进行所有断言?
  • 是否有可能禁用此功能并仅使用所有服务方的全局元数据?好处很明显:只有一个IdP元数据而不是N.

1 个答案:

答案 0 :(得分:0)

  

为什么AAD提供了具有特定于应用程序的签名证书和SAML元数据的选项?

这有用的一个原因是您控制证书翻转。 (并非所有应用程序都“表现良好”并且正确处理计划的证书翻转。)

  

是否有可能禁用此功能并仅使用所有服务方的全局元数据?

排序。

如果您创建新的应用注册(而不是通过企业应用>新应用>自定义应用),您可以针对该应用执行SAML 2.0,并在“全球”联邦元数据。

此方法的缺点是您无法访问企业应用程序> (app)>单点登录部分,因此您将无法执行选择将哪个属性用作NameID,或者具有要执行claims customization的UI界面的操作(尽管您可以仍然执行custom claims mapping政策。