多次与同一方联合时是否需要多个 ADFS 实例?

多次与同一方联合时是否需要多个 ADFS 实例?

我目前正处于 ADFS 推广的第一阶段。如果您想多次与同一方或 SaaS 应用程序联合,似乎需要安装多个“联合服务”或 ADFS 实例。假设您有不同的用户群使用应用程序的私有实例,或者您有多个沙盒环境和一个生产环境。其他人如何处理这个问题?

假设我想要一个 ADFS 实例。我的所有帐户都在一个域中。有一个 AD 环境。不同的用户组拥有独立、唯一的 SaaS 应用程序实例。

假设saasprovider.com/groupasaasprovider.com/groupb它们是互相排斥的。

有几个人向我提到了领域和实体 ID...请具体说明。我无法为第二个 RP 信任提供相同的元数据文档。我必须有另一个 STS 或 ADFS 实例,对吗?每个联合服务安装只能有一个实体 ID,对吗?

答案1

每个身份数据库应该有一个 STS(每个 Active Directory 林应该有一个 ADFS),每个应用程序部署应该有一个 RP(FederationMetadata.xml在 ADFS 中作为依赖方加载的文档)。

例如,生产和开发可以是同一 ADFS 服务器上的两个 RP。联合元数据应随安装而变化。

每个客户端应用程序将为每个安装指定不同的实体 ID ( EntityDescriptor/@entityID)。通常情况下,实体 ID 与应用程序安装的根相同。因此,如果您在 访问 devhttp://server/dev/Default.aspx并在 访问 prod http://server/prod/Default.aspx,那么您的实体可能分别是http://server/dev/http://server/prod/

FederationMetadata.xml在实际配置方面,如果手动输入参数,则不需要文件。否则,您可以使用以下方式按需生成文件:System.IdentityModel.Metadata(适用于 .Net 4)或Microsoft.IdentityModel.Protocols.WSFederation.Metadata(适用于 WIF 上 <= .Net 3.5)。

答案2

这完全取决于您需要多少个 AD 实例?

单独域中的每个 AD 实例都需要另一个 ADFS 实例。

只要实体 ID、领域等不同,您可以根据需要多次添加相同的 RP。

因此,您可以在许多不同的环境中安装相同的 RP,并且它们都可以使用相同的 ADFS 实例。

相关内容