本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
提出 API 请求
对亚马逊认证权限的查询请求是使用该POST方法的 HTTP 或 HTTPS 请求。
已验证权限终端节点
端点是用作 Web 服务入口点的 URL。在请求减少延迟时,您可以选择适当的 AWS 区域 终端节点。有关已验证权限使用的终端节点的信息,请参阅中的 Amazon 已验证权限Amazon Web Services 一般参考。
请求参数
Amazon 已验证的权限使用 JSON-based 协议。您可以在 HTTP 请求的正文中以 JSON 的形式传递请求参数。列表以 JSON 数组表示。有关更多信息,请参阅《Amazon 已验证权限 API 参考》中的常用参数。
请求标识符
在每个响应中,都通过 x-amzn-RequestId HTTP 响应标头 AWS 返回一个请求 ID。此字符串是 AWS 分配以提供跟踪信息的唯一标识符。尽管请求 ID 包含在每个响应中,但为了提高可读性并减少冗余,它并未在各个 API 文档页面上列出。
查询 API 身份验证
您可以通过 HTTPS 发送查询请求。您必须在每个查询请求中包含签名。有关创建和添加签名的更多信息,请参阅中的签署 AWS API 请求Amazon Web Services 一般参考。
可用的库
AWS 为喜欢使用特定语言的 API 而不是命令行工具和 Query API 来构建应用程序的软件开发人员提供了库、示例代码、教程和其他资源。这些库提供了基本功能(未包含在 API 中),例如请求身份验证、请求重试和错误处理,因此可以更轻松地入门。已验证权限库和资源适用于以下语言和平台:
有关所有语言的库和示例代码的更多信息,请参阅示例代码和库。
使用 P OST 方法发出 API 请求
如果您不使用其中一个 AWS SDK,则可以使用请求方法通过 HTTPS 发出已验证权限POST请求。该POST方法要求您在请求标头中指定操作,并在请求正文中以 JSON 格式提供操作数据。
| 标头名称 | 标头值 |
|---|---|
Host |
Amazon 已验证权限终端节点。例如: |
X-Amz-Date |
您必须在 HTTP 日期标头或 AWS x-am z-date 标头中提供时间戳。某些 HTTP 客户端库不允许您设置日期标头。如果存在 x-amz-date 标头,则系统会在请求身份验证期间忽略任何 Date 标头。 x-amz-date 标头必须以 ISO 8601 基本格式指定。例如: |
Authorization |
AWS 用于确保请求有效性和真实性的一组授权参数。有关构造此标头的更多信息,请参阅中的签名版本 4 签名流程Amazon Web Services 一般参考。 |
X-Amz-Target |
指定要执行的 “已验证权限” 操作。
例如,要调用该
|
Content-Type |
指定输入格式。使用以下值。
|
Accept |
指定响应格式。使用以下值。
|
Content-Length |
有效负载的大小(以字节为单位)。 |
Content-Encoding |
指定输入和输出的编码格式。使用以下值。
|
以下是 HTTP 请求的标头示例,该请求返回指定策略存储区中所有策略的列表, AWS 账户 其中Principal引用了 name User d alice。在此示例中,为了便于Authorization阅读,此处用文字换行。不要在你的实际请求中用文字换行。
POST / HTTP/1.1 Host: verifiedpermissions.us-east-1.amazonaws.com X-Amz-Date: 20230101T200059Z Accept-Encoding: identity Content-Type: application/x-amz-json-1.0 X-Amz-Target: VerifiedPermissions.ListPolicies User-Agent: <UserAgentString> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature> Content-Length: <PayloadSizeBytes> { "PolicyStoreId": "PSExAmPLE222222222", "Filter": { "Principal": { "Id": { "EntityType": "User", "EntityId": "alice" } } } }