Web 服务和 ACS

更新时间:2015 年 6 月 19 日

适用于:Azure

以下是 Web 服务与 Microsoft Azure Active Directory 访问控制 ((也称为访问控制服务或 ACS) 集成)的基本方案的参与者:

  • 信赖方应用程序 - 你的 Web 服务。

  • 客户端 - 正在尝试访问你的 Web 服务的 Web 服务客户端。

  • 标识提供程序 - 可对客户端进行身份验证的网站或服务。

  • ACS - 专用于信赖方应用程序的 ACS 分区。

但是,Web 服务方案假定客户端无权访问浏览器并且正在自主操作(没有用户直接参与方案)。

客户端必须获取 ACS 颁发的安全令牌才能登录到服务。 此令牌是从 ACS 到应用程序的签名消息,其中包含一组有关客户端标识的声明。 除非客户首先证明他或她的身份,否则 ACS 不会颁发令牌。

在 Web 服务和 ACS 方案中,客户端可以通过以下方式证明他或她的身份:

  • 通过直接使用 ACS 进行身份验证并使用 ACS 服务标识凭据类型

    注意

    有关服务标识的详细信息,请参阅 服务标识

    下图演示了客户端使用 ACS 服务标识凭据类型证明其标识的 Web 服务方案。

    Windows Azure Active Direct Access Control

    1. 客户端使用 ACS 服务标识凭据类型之一向 ACS 进行身份验证。 在 ACS 中,可以是使用对称密钥、X.509 证书或密码签名的简单 Web 令牌 (SWT) 令牌。 有关详细信息,请参阅 服务标识

    2. ACS 验证收到的凭据,将收到的标识声明输入 ACS 规则引擎,计算输出声明,并创建包含这些声明的令牌。

    3. ACS 将 ACS 颁发的令牌返回到客户端。

    4. 客户端将 ACS 颁发的令牌发送到信赖方应用程序。

    5. 信赖方应用程序验证 ACS 颁发的令牌,然后返回请求的资源表示形式。

  • 提供另一个已对该客户端进行身份验证的受信任颁发者(标识提供程序)颁发的安全令牌

    下图说明了客户端使用来自标识提供程序的安全令牌证明自己身份的 Web 服务方案。

    ACS 2.0 Web Service Scenario

    1. 客户端登录到标识提供程序(例如,发送凭据)。

    2. 对客户端进行身份验证后,标识提供程序颁发令牌。

    3. 标识提供程序将令牌返回给客户端。

    4. 客户端将标识提供者颁发的令牌发送到 ACS。

    5. ACS 验证标识提供者颁发的令牌,将标识提供者颁发的令牌中的数据输入 ACS 规则引擎,计算输出声明,并创建包含这些声明的令牌。

    6. ACS 向客户端颁发令牌。

    7. 客户端将 ACS 颁发的令牌发送到信赖方应用程序。

    8. 信赖方应用程序验证 ACS 颁发的令牌上的签名,并验证 ACS 颁发的令牌中的声明。

    9. 信赖方应用程序返回请求的资源表示形式。

另请参阅

概念

访问控制服务 2.0
ACS 入门
如何:使用 ACS 创建我的第一个声明感知 ASP.NET 服务