Amazon Simple Storage Service
开发人员指南 (API Version 2006-03-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

使用 REST API 对请求进行身份验证

使用 REST 访问 Amazon S3 时,您必须在请求中提供以下项目,以便对请求进行身份验证:

请求元素

  • AWS 访问密钥 ID – 每个请求必须包含用于发送请求的身份的访问密钥 ID。

  • 签名 – 每个请求必须包含一个有效的请求签名,否则请求将被拒绝。

    将使用您的秘密访问密钥 (它是一个共享的密钥,只有您和 AWS 知道) 计算出请求签名。

  • 时间戳 – 每个请求必须包含请求的创建日期和时间,并使用 UTC 中的字符串表示。

  • 日期 – 每个请求都必须包含请求的时间戳。

    根据您正在使用的 API 操作,您可以不提供时间戳,改为提供请求的过期日期和时间,或者也可以二者都提供。要确定特定操作需要的内容,请参阅该操作的身份验证主题。

下面是针对发送到 Amazon S3 的请求进行身份验证的常规步骤。此处假设您已拥有了必要的安全凭证、访问密钥 ID 和秘密访问密钥。

1

构建要发送到 AWS 的请求。

2

使用您的秘密访问密钥计算签名。

3

向 Amazon S3 发送请求。在请求中包含您的访问密钥 ID 和签名。Amazon S3 执行下面三个步骤。

4

Amazon S3 使用访问密钥 ID 来查找秘密访问密钥。

5

通过与用于计算您在请求中发送的签名相同的算法,Amazon S3 可根据请求数据和秘密访问密钥计算出签名。

6

如果由 Amazon S3 生成的签名与您在请求中发送的签名相匹配,将认为请求是真实的。如果比较签名这一操作失败,那么请求将被丢弃,同时 Amazon S3 将返回错误响应。

详细的身份验证信息

有关 REST 身份验证的详细信息,请参阅 签署和对 REST 请求进行身份验证

本页内容: