PAM REST API 服务详细信息

以下各节讨论 Microsoft 标识管理器 (MIM) 特权访问管理 (PAM) REST API 的详细信息。

HTTP 请求标头

发送到 API 的 HTTP 请求应包含以下标头, (此列表并不详尽) :

标头 说明
授权 必需。 内容取决于身份验证方法,该方法是可配置的,可以基于 WIA (Windows 集成身份验证) 或 ADFS。
Content-Type 如果请求具有正文则为必需。 必须设置为 application/json
Content-Length 如果请求具有正文则为必需。
Cookie 会话 Cookie。 根据身份验证方法,可能为必需。

HTTP 响应标头

HTTP 响应应包含以下标头, (此列表并不详尽) :

标头 说明
Content-Type API 始终返回 application/json
Content-Length 请求正文的长度(如果存在),以字节为单位。

版本控制

该 API 的当前版本为 1。 可以通过请求 URL 中的查询参数指定 API 版本,如以下示例所示:http://localhost:8086/api/pamresources/pamrequests?v=1。如果请求中未指定版本,那么请求会针对发布的最新版 API 执行。

安全性

访问 API 需要集成的 Windows 身份验证 (IWA)。 这应在 Microsoft 标识管理器 (MIM) 安装前在 IIS 中手动配置。

支持 HTTPS (TLS),但应在 IIS 中手动配置。 有关信息,请参阅安装 FIM 2010 R2 测试实验室指南中的步骤 9:执行 FIM 2010 R2 安装后任务中的为 FIM 门户实现安全套接字层 (SSL) 。

你可以通过在 Visual Studio 命令提示符处运行以下命令来生成新的 SSL 服务器证书:

Makecert -r -pe -n CN="test.cwap.com" -b 05/10/2014 -e 12/22/2048 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

该命令创建一个自签名证书,该证书可用于在 URL 为 test.cwap.com的 Web 服务器上测试使用 SSL 的 Web 应用程序。 选项定义的 -eku OID 将证书标识为 SSL 服务器证书。 证书存储在 我的 存储中,在计算机级别可用。 可以从 mmc.exe 中的“证书”管理单元导出证书。

跨域访问 (CORS)

支持 CORS,但应在 IIS 中手动配置。 将以下元素添加到 API web.config 文件以将 API 配置为允许跨域调用:

<system.webServer>       
    <httpProtocol> 
        <customHeaders> 
            <add name="Access-Control-Allow-Credentials" value="true"  /> 
            <add name="Access-Control-Allow-Headers" value="content-type" /> 
            <add name="Access-Control-Allow-Origin" value="http://<hostname>:8090" /> 
        </customHeaders> 
    </httpProtocol> 
</system.webServer> 

错误处理。

该 API 返回 HTTP 错误响应以指示错误条件。 错误符合 OData。 下表显示了可能返回到客户端的错误代码:

HTTP 状态代码 说明
401 未授权
403 禁止
408 请求超时
500 内部服务器错误
503 服务不可用

筛选

PAM REST API 请求可以包括筛选器来指定应包含在响应中的属性。 筛选器语法基于 OData 表达式。

筛选器可以指定 PAM 请求、PAM 角色 或挂起的 PAM 请求的任何属性。 例如:PAM 请求、PAM 角色或挂起的请求的 ExpirationTimeDisplayName 或其他任何有效属性。

该 API 在筛选表达式中支持以下运算符:AndEqualNotEqualGreaterThanLessThanGreaterThenOrEquealLessThanOrEqual

以下示例请求包括筛选器:

  • 此请求返回特定日期之间的所有 PAM 请求: http://localhost:8086/api/pamresources/pamrequests?$filter=ExpirationTime gt datetime'2015-01-09T08:26:49.721Z' and ExpirationTime lt datetime'2015-02-10T08:26:49.722Z'

  • 此请求返回带有显示名称“SQL 文件访问”的 Pam 角色: http://localhost:8086/api/pamresources/pamroles?$filter=DisplayName eq 'SQL File Access'