

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 對 SOAP 要求進行身分驗證
<a name="SOAPAuthentication"></a>

**注意**  
 Amazon S3 的 SOAP API 不適用於新客戶，並且將於 2025 年 8 月 31 日接近生命週期結束 (EOL)。我們建議您使用 REST API 或 AWS SDKs。

每個非匿名要求都必須包含身分驗證資訊，才能建立提出要求之委託人的身分。在 SOAP 中，身分驗證資訊會放入 SOAP 要求的下列元素中：
+ 您的 AWS 存取金鑰 ID
**注意**  
提出經過身分驗證的 SOAP 要求時，不支援暫時性安全登入資料。如需登入資料類型的詳細資訊，請參閱「[提出要求](MakingRequests.md)」。
+ `Timestamp:` 這必須是國際標準時間 (格林威治標準時間) 時區 (例如 `2009-01-01T12:00:00.000Z`) 的 dateTime (請前往 [http://www.w3.org/TR/xmlschema-2/\#dateTime](http://www.w3.org/TR/xmlschema-2/#dateTime))。如果此時間戳記與 Amazon S3 伺服器上的時鐘相差超過 15 分鐘，則授權會失敗。
+ `Signature:` 使用 AWS 私密存取金鑰做為金鑰，串連 "AmazonS3" \+ OPERATION \+ Timestamp 的 RFC 2104 HMAC-SHA1 摘要 （前往 [http://www.ietf.org/rfc/rfc2104.txt](http://www.ietf.org/rfc/rfc2104.txt)：//)。例如，在下列 CreateBucket 要求範例中，簽章元素將會包含值為 "AmazonS3CreateBucket2009-01-01T12:00:00.000Z" 的 HMAC-SHA1 摘要：

例如，在下列 CreateBucket 要求範例中，簽章元素將會包含值為 "AmazonS3CreateBucket2009-01-01T12:00:00.000Z" 的 HMAC-SHA1 摘要：

**Example**  

```
1. <CreateBucket xmlns="https://doc.s3.amazonaws.com/2006-03-01">
2.   <Bucket>quotes</Bucket>
3.   <Acl>private</Acl>
4.   <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId>
5.   <Timestamp>2009-01-01T12:00:00.000Z</Timestamp>
6.   <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature>
7. </CreateBucket>
```

**注意**  
SOAP 請求 (已驗證與匿名) 必須透過 SSL 傳送至 Amazon S3。當您透過 HTTP 傳送 SOAP 請求時，Amazon S3 會傳回錯誤。

**重要**  
因為對於如何去除多餘的時間精確度有不同的解釋，.NET 使用者應該注意不要將過於精確的時間戳記傳送給 Amazon S3。這可以透過手動建構只有毫秒精準度的 `DateTime` 物件來完成。