信赖方应用程序

信赖方应用程序

发布时间: 2011年4月

更新时间: 2015年6月

应用到: Azure

信赖方应用程序(也称为声明感知应用程序基于声明的应用程序)是依赖于声明进行身份验证的应用程序或服务。在 Microsoft Azure Active Directory 访问控制(也称为访问控制服务或 ACS) 中,信赖方应用程序是需要使用 ACS 实现联合身份验证的网站、应用程序或服务。

可以使用 ACS 管理门户以手动方式,或者使用 ACS 管理服务以编程方式创建和配置信赖方应用程序。

在 ACS 管理门户中,添加和配置的信赖方应用程序是任特定 “访问控制”命名空间的网站、应用程序或服务的逻辑表示形式。你可以在每个 “访问控制”命名空间中添加和配置多个信赖方应用程序。

可以使用 ACS 管理门户配置信赖方应用程序的以下属性:

“模式”属性确定你是要手动配置信赖方应用程序设置,还是要指定用于定义应用程序设置的 WS 联合身份验证元数据文档。

WS 联合身份验证元数据文档通常包含应用程序的领域和返回 URL。它还可以包含一个可选的加密证书,用于加密 ACS 为应用程序颁发的令牌。如果指定了 WS 联合身份验证文档,并且元数据包含加密证书,则令牌加密策略设置将默认为“需要加密”。如果“令牌加密策略”设置值为“需要加密”,但 WS 联合身份验证元数据文档不包含加密证书,则你必须手动上载加密证书。

如果信赖方应用程序与 Windows Identity Foundation (WIF) 集成,WIF 将自动为你的应用程序创建一个 WS 联合身份验证元数据文档。

“领域”属性定义 ACS 颁发的令牌对其有效的 URI。“返回 URL”(又称为 ReplyTo 地址)定义 ACS 颁发的令牌要发送到的 URL。在请求用于访问信赖方应用程序的令牌时,仅当令牌请求中的领域与信赖方应用程序的领域匹配时,ACS 才颁发该令牌。

Important重要提示
在 ACS 中,领域值区分大小写。

在 ACS 管理门户中,只能在每个 “访问控制”命名空间中配置一个领域和一个返回 URL。在最简单的情况下,领域和返回 URL 是完全相同的。例如,如果应用程序的根 URI 为 https://contoso.com,则信赖方应用程序的领域和返回 URL 将是 https://contoso.com。

若要为信赖方应用程序配置多个返回 URL(ReplyTo 地址),请在 ACS 管理服务中使用 RelyingPartyAddress 实体。

从 ACS 请求令牌或者从标识提供程序向 ACS发布令牌时,ACS 会将令牌请求中的领域值与信赖方应用程序的领域值进行比较。如果令牌请求使用 WS 联合身份验证协议,ACS 将使用 wtrealm 参数中的领域值。如果令牌使用 OAuth WRAP 协议, ACS 将使用 applies_to 参数中的领域值。如果 ACS 在信赖方应用程序的配置设置中找到匹配的领域,则创建一个令牌,用于在信赖方应用程序上对用户进行身份验证,然后将令牌发送到返回 URL。

当信赖方具有多个返回 URL 时,该过程类似。ACS 从 wreply 参数获取重定向 URL。如果重定向 URL 是信赖方应用程序的返回 URL 之一,ACS 会将响应发送到该 URL。

领域值区分大小写。仅当领域值相同或信赖方应用程序的领域值是令牌请求中领域的前缀时,才颁发令牌。例如,信赖方应用程序领域值 http://www.fabrikam.com 与令牌请求领域值 http://www.fabrikam.com/billing 匹配,与令牌请求领域 http://fabrikam.com 不匹配。

使用“错误 URL”可以指定当登录过程中出现错误时 ACS 将用户重定向到的 URL。它可以是信赖方应用程序的可选属性。

“错误 URL”值可以是信赖方应用程序中托管的自定义页,例如 http://www.fabrikam.com/billing/error.aspx。在重定向的过程中,ACS 将以 JSON 编码的 HTTP URL 参数的形式向信赖方应用程序提供有关错误的详细信息。可以制作自定义错误页,以解释 JSON 编码的错误信息,呈现实际错误消息,和/或显示静态帮助文本。

有关错误 URL 用法的详细信息,请参阅代码示例:ASP.NET 简单 MVC 2

“令牌格式”属性确定 ACS 为信赖方应用程序颁发的令牌的格式。ACS 可颁发 SAML 2.0、SAML 1.1 或 JWT 令牌。有关令牌格式的详细信息,请参阅 ACS 中支持的令牌格式

ACS 使用标准协议将令牌返回到 Web 应用程序或服务。如果多个协议支持某种令牌格式,ACS 将使用令牌请求所用的相同协议。ACS 支持以下令牌格式/协议组合:

  • ACS 可以使用 Ws 信任和 WS 联合身份验证协议返回 SAML 2.0 令牌。

  • ACS 可以使用 WS 联合身份验证协议和相关的 WS 信任协议返回 SAML 1.1 令牌。

  • ACS 可以使用 WS 联合身份验证、WS 信任、OAuth-WRAP 和 OAuth 2.0 协议返回 SWT 令牌。

  • ACS 可以使用 WS 联合身份验证、WS 信任和 OAuth 2.0 协议颁发并返回 JWT 令牌。

有关 ACS 使用的标准协议的详细信息,请参阅 ACS 中支持的协议

选择令牌格式时,请考虑 “访问控制”命名空间 如何为它颁发的令牌签名。ACS 颁发的所有令牌都必须经过签名。有关详细信息,请参阅令牌签名

此外,还应考虑是否要令牌加密。有关详细信息,请参阅令牌加密策略

“令牌加密策略”确定是否要加密 ACS 为信赖方应用程序颁发的令牌。若需要加密,请选择“需要加密”值。

在 ACS 中,只能为 SAML 2.0 或 SAML 1.1 令牌配置加密策略。ACS 不支持的 SWT 或 JWT 令牌的加密。

ACS 使用包含公钥的 X.509 证书(.cer 文件)加密 SAML 2.0 和 SAML 1.1 令牌。这些加密令牌随后使用由信赖方应用程序所拥有的私钥进行解密。有关获取和使用加密证书的详细信息,请参阅证书和密钥

对 ACS 颁发的令牌配置加密策略是可选的。但是,如果你的信赖方应用程序是通过 WS 信任协议使用所有权证明令牌的 Web 服务,则必须配置加密策略。如果没有加密令牌,这一特定方案将无法正常工作。

“令牌生存期”属性指定 ACS 颁发给信赖方应用程序的安全令牌保持有效的时间间隔(以秒为单位)。默认值为 600(10 分钟)。在 ACS 中,令牌生存期值必须介于零 (0) 和 86400(24 小时)之间(包括两个边界)。

“标识提供程序”属性指定可向信赖方应用程序发送声明的标识提供程序。这些标识提供程序显示在 Web 应用程序或服务的 ACS 登录页中。在 ACS 门户的“标识提供程序”部分中配置的所有标识提供程序显示在标识提供程序列表中。若要向该列表添加标识提供程序,请单击“标识提供程序”。

每个信赖方应用程序可与零个或多个标识提供程序关联。“访问控制”命名空间 中的信赖方应用程序可与相同或不同的标识提供程序关联。如果没有为信赖方应用程序选择任何标识提供程序,则必须为信赖方应用程序配置 ACS 直接身份验证。例如,可以使用服务标识来配置直接身份验证。有关详细信息,请参阅服务标识

“规则组”属性确定信赖方应用程序在处理声明时使用的规则。

每个 ACS 信赖方应用程序必须与至少一个规则组关联。如果令牌请求与一个没有规则组的信赖方应用程序匹配,则 ACS 不会向 Web 应用程序或服务颁发令牌。

在 ACS 门户的“规则组”部分中配置的所有规则组显示在规则组列表中。若要向该列表添加规则组,请单击“规则组”。

在 ACS 管理门户中添加新的信赖方应用程序时,默认情况下会选中“创建新规则组”选项。强烈建议你为新的信赖方应用程序创建新的规则组。但是,可以将你的信赖方应用程序与现有规则组关联。为此,请清除“创建新规则组”选项并选择所需的规则组。

你可以将一个信赖方应用程序与多个规则组关联(也可以将一个规则组与多个信赖方应用程序关联)。如果一个信赖方应用程序与多个规则组关联,则 ACS 会将所有规则组中的规则作为一个规则组进行递归评估。

有关规则和规则组的详细信息,请参阅规则组和规则

“令牌签名设置”属性指定如何对 ACS 颁发的安全令牌进行签名。ACS 颁发的所有令牌都必须经过签名。

可用的签名选项取决于你为信赖方应用程序的“令牌格式”。(有关令牌格式的详细信息,请参阅令牌格式。)

  • SAML 令牌:使用 X.509 证书对令牌进行签名。

  • SWT 令牌:使用对称密钥对令牌进行签名。

  • JWT 令牌:使用 X.509 证书或对称密钥对令牌进行签名。

X.509 证书选项。为使用 X.509 证书签名的令牌提供了以下选项。

  • 使用服务命名空间证书(标准) - 如果选择此选项,ACS 将使用 “访问控制”命名空间的证书对信赖方应用程序的 SAML 1.1 和 SAML 2.0 令牌进行签名。如果你要使用 WS 联合身份验证元数据自动完成 Web 应用程序或服务的配置,请使用此选项,因为命名空间公钥发布在 “访问控制”命名空间的 WS 联合身份验证元数据中。可以在 ACS 管理门户的“应用程序集成”页中找到指向 WS 联合身份验证元数据文档的 URL。

  • 使用专用证书 - 如果选择此选项,ACS 将使用应用程序特定的证书对信赖方应用程序的 SAML 1.1 和 SAML 2.0 令牌进行签名。该证书不可用于其他信赖方应用程序。选择此选项后,可以浏览包含私钥的 X.509 证书(.pfx 文件),并输入该 .pfx 文件的密码。

note备注
JWT 令牌。将信赖方应用程序配置为使用 Access Control 命名空间的 X.509 证书对信赖方应用程序的 JWT 令牌进行签名时,Access Control 命名空间证书和 Access Control 命名空间密钥的链接将显示在 ACS 管理门户中的信赖方应用程序页中。但是,ACS 只使用命名空间证书为信赖方应用程序的令牌签名。

托管命名空间。当你添加信赖方应用程序到管理的命名空间时(如 Service Bus 命名空间),请不要输入应用程序特定(专用)的证书或密钥。而应选择 ACS 定向的选项以使用为管理的命名空间中所有应用程序配置的证书和密钥。有关详细信息,请参阅 托管命名空间

有关共享和专用证书与密钥的详细信息,请参阅证书和密钥

对称密钥选项

作为安全最佳实践,在使用对称密钥时,请为每个信赖方应用程序创建一个专用密钥,而不要为 “访问控制”命名空间使用共享的对称密钥。如果输入或生成专用密钥,只要专用密钥有效,ACS 就会使用该专用密钥对信赖方应用程序的令牌进行签名。但是,如果专用密钥已过期并且未替换,ACS 将使用共享命名空间密钥对信赖方应用程序的令牌进行签名。

如果选择使用共享对称密钥,请复制“证书和密钥”页中的“服务命名空间”密钥值,然后将其粘贴到“信赖方应用程序”页的“令牌签名”部分的字段中。

以下选项可用于使用对称密钥签名的令牌。

  • 令牌签名密钥 - 输入 256 位对称密钥,或单击“生成”以生成 256 位对称密钥。

  • 生效日期 - 指定对称密钥的有效日期范围的开始日期。从此日期开始,ACS 将使用对称密钥对信赖方应用程序的令牌进行签名。ACS 默认值为当前日期。

  • 过期日期 - 指定对称密钥的有效日期范围的结束日期。从此日期开始,ACS 将不使用对称密钥对信赖方应用程序的令牌进行签名。没有默认值。作为安全最佳实践,应根据应用程序的要求,每隔一年或两年替换对称密钥一次。

令牌加密证书选项指定用来为信赖方应用程序令牌进行加密的 X.509 证书(.cer 文件)。在 ACS 中,只能加密 SAML 2.0 或 SAML 1.1 令牌。ACS 不支持加密 SWT 或 JWT 令牌。

可以在 ACS 门户的“证书和密钥”部分中指定用于令牌加密的证书。在信赖方应用程序页的“令牌加密策略”部分中单击“单击此处”链接时,将打开“证书和密钥”的“添加令牌加密证书”页。使用此页指定证书文件。

有关详细信息,请参阅令牌加密策略。有关获取和添加加密证书的详细信息,请参阅证书和密钥

另请参阅

显示:
© 2016 Microsoft