提出要求 - Amazon Simple Storage Service

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

提出要求

Amazon S3 是一個 REST 服務。您可以使用 REST API 或 AWS 開發套件 (請參閱範本程式碼與程式庫) 包裝函式程式庫 (其會包裝基礎 Amazon S3 REST API),傳送請求至 Amazon S3,從而簡化程式設計工作。

與 Amazon S3 的每次互動,可以經過驗證身分或是匿名進行。身分驗證是確認嘗試存取 Amazon Web Services (AWS) 產品之申請者身分的過程。經過身分驗證的要求,必須包含能驗證要求傳送者身分的簽章值。就某部分而言,簽章值產生自申請者的 AWS 存取金鑰 (存取金鑰 ID 與私密存取金鑰)。如需取得存取金鑰的詳細資訊,請參閱《AWS 一般參考》中的如何取得安全憑證?

若目前使用 AWS 開發套件,程式庫會運算您提供之金鑰中的簽章。但如果直接在應用程式中呼叫 REST API,您必須撰寫程式碼來運算簽章,並將其新增至要求。

關於存取金鑰

以下各節會檢閱您可用於驗證要求的存取金鑰類型。

AWS 帳戶 存取金鑰

帳戶存取金鑰提供對帳戶擁有之 AWS 資源的完整存取權。以下為存取金鑰範例:

  • 存取金鑰 ID (20 個字元的英數字串)。例如:AKIAIOSFODNN7EXAMPLE

  • 私密存取金鑰 (40 個字元的字串)。例如:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

存取金鑰 ID 可找出獨一的 AWS 帳戶。您可以使用這些存取金鑰,將驗證請求傳送至 Amazon S3 。

IAM 使用者存取金鑰

您可以為公司建立一個 AWS 帳戶,但該組織內可能有數名員工需要存取組織的 AWS 資源。分享您的 AWS 帳戶 存取金鑰會降低安全性,而為每名員工建立個別的 AWS 帳戶 又不實際。而且您也無法輕易地分享像是儲存貯體與物件等資源,因為它們皆屬不同帳戶所擁有。若要分享資源,您必須授予許可,這是額外進行的工作。

在這類案例中,您可以使用 AWS Identity and Access Management (IAM) 在您的 AWS 帳戶 下,以其本身的存取金鑰建立使用者,並為使用者連接授予適當資源存取許可的 IAM 使用者政策。為加強管理這些使用者,您可利用 IAM 建立使用者群組,並授予會套用到該群組內所有使用者的群組層級許可。

這些使用者稱為 IAM 使用者,而您可於 內建立及管理AWS 父帳戶能控制使用者存取 的能力AWS IAM 使用者建立的任何資源,都由父 AWS 帳戶 控制,且由其付費。這些 IAM 使用者會使用自己的安全登入資料,將經過身分驗證的請求傳送至 Amazon S3。如需建立及管理 AWS 帳戶 下使用者的詳細資訊,請前往 AWS Identity and Access Management 產品詳細資訊頁面

暫時安全登入資料

除了以使用者自己的存取金鑰建立 IAM 使用者之外,您也可利用 IAM 將暫時性安全登入資料 (暫時性存取金鑰與安全權杖) 授予任何 IAM 使用者,讓他們可以存取您的 AWS 服務與資。您也可以在 AWS 之外,於自己的系統中管理使用者。這些稱為聯合身分使用者。此外,使用者可以是您建立用來存取 AWS 資源的申請人。

IAM 提供 AWS Security Token Service API,供您請求暫時安全登入資料之用。您可以使用 AWS STS API 或 AWS 開發套件,申請這些登入資料。API 會傳回暫時性安全登入資料 (存取金鑰 ID 與私密存取金鑰) 及安全權杖。這些登入資料只有在您申請時所指定的期間內才有效。使用存取金鑰 ID 和私密金鑰的方式,與您利用 AWS 帳戶 或 IAM 使用者存取金鑰來傳送請求時的使用方式一樣。此外,傳送至 Amazon S3 的每個請求中都必要有權杖。

IAM 使用者可以申請這些暫時性安全登入資料供其本身使用,或將它們提供給聯合身分使用者或應用程式。為聯合身分使用者申請暫時性安全登入資料時,您必須提供使用者名稱且定義您希望與這些暫時性安全登入資料相關聯性之許可的 IAM 原則。聯合身分使用者取得的許可數目,不得超過已申請暫時性登入資料的父 IAM 使用者。

您可使用這些暫時性安全登入資料,對 Amazon S3 提出請求。API 程式庫會使用這些登入資料來運算出必要的簽章值,以驗證您的要求。若使用過期的登入資料傳送請求,Amazon S3 會拒絕該請求。

如需使用 REST API 要求中暫時性安全登入資料來簽署要求的資訊,請參閱「簽署與驗證 REST 要求」。如需使用 AWS 開發套件傳送請求的資訊,請參閱「使用 AWS 開發套件提出請求」。

如需 IAM 的臨時安全登入資料支援的詳細資訊,請參閱《IAM 使用者指南》中的臨時安全登入資料

對於新增的安全來說,您可以在存取 Amazon S3 資源時配置儲存貯體原則,請求進行多重驗證 (MFA)。如需相關資訊,請參閱需要 MFA。在您需要 MFA 才可存取 Amazon S3 資源後,可以存取這些資源唯一的方法是提供以 MFA 金鑰建立的暫時性登入資料。如需詳細資訊,請參閱《IAM 使用者指南》中的 AWS 多重要素驗證詳細資訊頁面與設定受 MFA 保護的 API 存取權限

要求端點

您要將 REST 要求傳送到服務的預先定義端點。如需所有l AWS 服務及其對應端點的清單,請參閱《AWS 一般參考》中的區域與端點