

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

# 什麼是 Amazon S3？
<a name="Welcome"></a>

Amazon Simple Storage Service (Amazon S3) 是一項物件儲存服務，提供領先業界的可擴展性、資料可用性、安全性和效能。所有規模與產業的客戶都可使用 Amazon S3 來存放和保護適用於各種使用案例的任意資料量，例如資料湖、網站、行動應用程式、備份與還原、封存、企業應用程式、IoT 裝置和大數據分析。Amazon S3 提供管理功能，讓您可以最佳化、組織和設定對資料的存取，從而滿足您的特定業務、組織和合規要求。

**注意**  
如需將 Amazon S3 Express One Zone 儲存類別與目錄儲存貯體搭配使用的詳細資訊，請參閱 [S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone) 和 [使用目錄儲存貯體](directory-buckets-overview.md)。

**Topics**
+ [Amazon S3 的功能](#S3Features)
+ [Amazon S3 的運作方式](#CoreConcepts)
+ [Amazon S3 資料一致性模式](#ConsistencyModel)
+ [相關服務](#RelatedAmazonWebServices)
+ [存取 Amazon S3](#API)
+ [支付 Amazon S3](#PayingforStorage)
+ [PCI DSS 合規](#pci-dss-compliance)

## Amazon S3 的功能
<a name="S3Features"></a>

### 儲存方案
<a name="RRS"></a>

Amazon S3 針對不同使用案例提供各式各樣的儲存類別。例如，您可以將任務關鍵型生產資料存放在 S3 Standard 或 S3 Express 單區域中以便經常存取；將不常存取的資料存放在 S3 Standard-IA 或 S3 One Zone-IA 中，以節省成本；以及以最低成本在 S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 中封存資料。

Amazon S3 Express One Zone 是一種高效能的單一區域 Amazon S3 儲存類別，專門為對延遲最敏感的應用程式提供一致的個位數毫秒資料存取。S3 Express One Zone 是目前可用的最低延遲雲端物件儲存類別，與 S3 Standard 相比，資料存取速度提高 10 倍，而且請求成本低 50%。S3 Express One Zone 是第一款可讓您選取單一可用區域的 S3 儲存類別，還可選擇將物件儲存體與運算資源共置，藉此盡可能提供最高存取速度。此外，為了進一步提高存取速度並支援每秒數十萬個請求，資料會以新的儲存貯體類型儲存：Amazon S3 目錄儲存貯體。如需詳細資訊，請參閱[S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone)及[使用目錄儲存貯體](directory-buckets-overview.md)。

您可以在 S3 Intelligent-Tiering 中存放具有變更或未知存取模式的資料，而當您的存取模式變更時，會在四個存取層之間自動移動資料，從而最佳化儲存成本。這四個存取層包含兩個針對經常和不常存取最佳化的低延遲存取層，以及兩個針對極少存取的資料最佳化的非同步存取而設計的選用封存存取層。

如需詳細資訊，請參閱[了解和管理 Amazon S3 儲存類別](storage-class-intro.md)。

### 儲存體管理
<a name="features-storage-management"></a>

Amazon S3 具有儲存管理功能，可用於管理成本、滿足法規要求、降低延遲，並儲存多個不同的資料副本，以達到合規要求。
+ [S3 生命週期](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) - 設定生命週期組態，以便管理您的物件，並在其整個生命週期內以更符合成本效益的方式進行存放。您可以將物件轉換至其他 S3 儲存類別或使到達其生命週期結束日期的物件過期。
+ [S3 物件鎖定](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html) – 在固定時間內或永遠避免刪除或覆寫 Amazon S3 物件。您可以使用物件鎖定，協助符合必須使用*單寫多讀* *(WORM)* 儲存的法規要求，或單純多加一道保護，以免物件遭到變更和刪除。
+ [S3 複寫](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html) – 將物件及其個別中繼資料和物件標籤複寫至相同或不同的一或多個目的地儲存貯體， AWS 區域 以減少延遲、合規性、安全性和其他使用案例。
+ [S3 批次作業](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html) – 透過單一 S3 API 請求或在 Amazon S3 主控台中按幾下滑鼠，即可大規模管理數十億個物件。您可以使用批次操作來執行操作，例如**複製**、**叫用 AWS Lambda 函數**，以及**還原**數百萬或數十億個物件。

### 存取管理與安全性
<a name="features-access-management"></a>

Amazon S3 提供稽核和管理對儲存貯體和物件的存取的功能。根據預設，S3 儲存貯體與物件皆為私有。您僅可存取您建立的 S3 資源。若要授予可支援特定使用案例的精密資源使用權限，或稽核 Amazon S3 資源的許可，您可以使用下列功能。
+ [S3 封鎖公開存取](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html) – 封鎖 S3 儲存貯體與物件的公開存取。根據預設，會在帳戶和儲存貯體層級開啟「封鎖公開存取」設定。建議您將所有「封鎖公開存取」設定保持啟用狀態，除非您知道需要針對特定使用案例關閉其中一或多個設定。如需詳細資訊，請參閱[為您的 S3 儲存貯體設定封鎖公開存取](configuring-block-public-access-bucket.md)。
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-iam.html) – IAM 是一種 Web 服務，可協助您安全地控制對 AWS 資源的存取，包括您的 Amazon S3 資源。透過 IAM，您可以集中管理許可，以控制使用者可以存取哪些 AWS 資源。您可以使用 IAM 來控制能通過身分驗證 (登入) 和授權使用資源的 (具有許可) 的人員。
+ [儲存貯體政策](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) – 使用以 IAM 為基礎的政策語言，為 S3 儲存貯體及其中的物件設定以資源為基礎的許可。
+  [Amazon S3 存取點](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)— 使用專用存取政策設定名稱的網路端點，以大規模管理 Amazon S3 中的共用資料集的資料存取。
+ [存取控制清單 (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acls.html) – 向授權的使用者授予讀取和寫入個別儲存貯體和物件的許可。一般而言，我們建議使用 S3 以資源為基礎的政策 (儲存貯體政策與存取點原則) 或 IAM 使用者政策來獲取存取控制而非 ACL。政策是一種簡化且更具彈性的存取控制選項。使用儲存貯體政策和存取點政策，您可以定義若干規則，廣泛應用於 Amazon S3 資源的所有請求。如需何時使用 ACL 而非資源型政策或 IAM 使用者政策之特定案例的詳細資訊，請參閱 [使用 ACL 管理存取](acls.md)。
+ [S3 物件擁有權](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) - 取得儲存貯體中每個物件的擁有權，簡化存放在 Amazon S3 中資料的存取管理。S3 物件擁有權是一項 Amazon S3 儲存貯體層級設定，您可以用來停用或啟用 ACL。根據預設，會停用 ACL。停用 ACL 後，儲存貯體擁有者會擁有儲存貯體中的所有物件，並使用存取管理政策專門管理對資料的存取。
+ [IAM Access Analyzer for S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-analyzer.html) – 評估和監控您的 S3 儲存貯體存取政策，確保政策僅提供對 S3 資源的預期存取。

### 資料處理
<a name="features-data-processing"></a>

若要轉換資料並觸發工作流程，以大規模自動化各種其他處理活動，則您可以使用下列功能。
+ [S3 Object Lambda](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html) – 將您自己的程式碼新增至 S3 GET、HEAD 和 LIST 請求，以在資料傳回至應用程式時對其進行修改和處理。執行資料列篩選、動態調整影像大小、修訂機密資料以及更多動作。
+ [事件通知](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html) – 觸發使用 Amazon Simple Notification Service (Amazon SNS)、Amazon Simple Queue Service (Amazon SQS) 以及變更 S3 資源 AWS Lambda 時的工作流程。

### 儲存記錄和監控
<a name="features-storage-monitoring"></a>

Amazon S3 提供記錄和監控工具，您可以使用這些工具來監控和控制 Amazon S3 資源的使用方式。如需詳細資訊，請參閱[監控工具](https://docs.aws.amazon.com/AmazonS3/latest/userguide/monitoring-automated-manual.html)。

**自動化監控工具**
+ [Amazon S3 的 Amazon CloudWatch 指標](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cloudwatch-monitoring.html) – 追蹤 S3 資源的操作運作狀態狀況，並在估計費用達到使用者定義的閾值時設定帳單提醒。
+ [AWS CloudTrail](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cloudtrail-logging.html) – 在 Amazon S3 AWS 服務 中記錄使用者、角色或 採取的動作。CloudTrail 日誌為您提供 S3 儲存貯體層級和物件層級操作的詳細 API 追蹤。

**手動監控工具**
+ [伺服器存取記錄日誌](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html) – 應儲存貯體要求，獲取的詳細記錄。您可以在許多使用案例中使用伺服器存取日誌，例如執行安全和存取稽核、了解您的客戶群以及掌握 Amazon S3 帳單。
+ [AWS Trusted Advisor](https://docs.aws.amazon.com/awssupport/latest/user/trusted-advisor.html) – 使用 AWS 最佳實務檢查來評估您的帳戶，以找出最佳化 AWS 基礎設施、改善安全性和效能、降低成本和監控服務配額的方法。然後，您可以根據推薦來最佳化您的服務和資源。

### 分析與洞察
<a name="features-analytics-insights"></a>

Amazon S3 提供相關功能，以協助您了解儲存用量，進而讓您能夠更好地了解、分析和大規模最佳化儲存。
+ [Amazon S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) – 了解、分析和最佳化儲存。S3 Storage Lens 提供超過 60 種用量和活動指標和互動式儀表板，以彙總整個組織、特定帳戶 AWS 區域、儲存貯體或字首的資料。
+ [儲存方案分析](https://docs.aws.amazon.com/AmazonS3/latest/userguide/analytics-storage-class.html) – 分析儲存存取模式，以決定何時將資料移至更具成本效益的儲存類別。
+ [S3 清查與清查報告](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html) – 稽核和報告物件及其對應的中繼資料，並設定其他 Amazon S3 功能以在清查報告中採取行動。例如，您可以報告物件的複寫和加密狀態。如需清查報告中每個物件可用的所有中繼資料清單，請參閱 [Amazon S3 清查清單](storage-inventory.md#storage-inventory-contents)。

### 高度的一致性
<a name="features-strong-consistency"></a>

Amazon S3 為 Amazon S3 儲存貯體中物件的 PUT 和 DELETE 請求提供強大的read-after-write一致性 AWS 區域。這一行為適用於新物件的寫入，以及覆寫現有物件的 PUT 請求與 DELETE 請求。此外，Amazon S3 Select、Amazon S3 存取控制清單 (ACL)、Amazon S3 物件標籤和物件中繼資料 (例如 HEAD 物件) 上的讀取操作均高度一致。如需詳細資訊，請參閱[Amazon S3 資料一致性模式](#ConsistencyModel)。

## Amazon S3 的運作方式
<a name="CoreConcepts"></a>

Amazon S3 是一種物件儲存服務，可將資料以物件、階層式資料或表格式資料的形式儲存在儲存貯體中。*物件*是一個檔案和任何描述該檔案的中繼資料。*儲存貯體*是物件的容器。

要將資料存放在 Amazon S3 中，您應該先建立儲存貯體並指定儲存貯體名稱和 AWS 區域。然後，您可以將資料當做物件上傳到 Amazon S3 中的儲存貯體。每個物件都有*金鑰* (或*金鑰名稱*），它是表示儲存貯體中物件的唯一識別符。

S3 提供您可設定的功能，以支援您的特定使用案例。例如，您可以使用 S3 版本控制將物件的多個版本保留在一個儲存貯體中，並可還原意外刪除或覆寫的物件。

儲存貯體和它們中的物件是私有的，只有在您明確授予存取許可時才能進行存取。您可以使用儲存貯體政策、 AWS Identity and Access Management (IAM) 政策、存取控制清單 (ACLs) 和 S3 存取點來管理存取。

**Topics**
+ [儲存貯體](#BasicsBucket)
+ [物件](#BasicsObjects)
+ [金鑰](#BasicsKeys)
+ [S3 版本控制](#Versions)
+ [版本 ID](#BasicsVersionID)
+ [儲存貯體政策](#BucketPolicies)
+ [S3 存取點](#BasicsAccessPoints)
+ [存取控制清單 (ACL)](#S3_ACLs)
+ [大區 (Regions)](#Regions)

### 儲存貯體
<a name="BasicsBucket"></a>

Amazon S3 支援四種儲存貯體類型：一般用途儲存貯體、目錄儲存貯體、資料表儲存貯體和向量儲存貯體。每種儲存貯體類型都會為不同的使用案例提供一組獨特的功能。

**一般用途儲存貯體** – 一般用途儲存貯體建議用於大多數使用案例和存取模式，是原始 S3 儲存貯體類型。一般用途儲存貯體是 Amazon S3 中存放物件的容器，您可以將任意數量的物件儲存在儲存貯體中，並且涵蓋所有儲存類別 (S3 Express One Zone 除外)，因此您可以在多個可用區域中以備援方式存放物件。如需詳細資訊，請參閱[建立、設定和使用 Amazon S3 一般用途儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html)。

根據預設，一般用途儲存貯體存在於全域命名空間中，這表示每個儲存貯體名稱在分割區 AWS 區域 內所有 AWS 帳戶 中的所有 中都必須是唯一的。分割區是 Regions 的群組。 AWS 目前有四個分割區： `aws`（標準區域）、 `aws-cn`（中國區域）、 `aws-us-gov`(AWS GovCloud (US)) 和 `aws-eusc`（歐洲主權雲端）。建立一般用途儲存貯體時，您可以選擇在共用全域命名空間中建立儲存貯體，也可以選擇在帳戶區域命名空間中建立儲存貯體。您的帳戶區域命名空間是全域命名空間的子區段，只有您的帳戶才能在其中建立儲存貯體。在您的 帳戶區域命名空間中建立的新一般用途儲存貯體對您的帳戶是唯一的，而且永遠無法由另一個帳戶重新建立。如需儲存貯體命名空間的詳細資訊，請參閱[一般用途儲存貯體的命名空間](https://docs.aws.amazon.com/AmazonS3/latest/userguide/gpbucketnamespaces.html)。

**注意**  
根據預設，所有一般用途儲存貯體都是私有的。不過，您可以授予一般用途儲存貯體的公開存取權。您可以控制處於儲存貯體、字首 (資料夾) 或物件標籤層級的一般用途儲存貯體的存取權。如需詳細資訊，請參閱 [Amazon S3 中的存取控制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html)。

**目錄儲存貯**體 – 建議用於低延遲使用案例和資料落地使用案例。根據預設，您可以在 AWS 帳戶中建立最多 100 個目錄儲存貯體，而且在目錄儲存貯體中可以儲存不限數量的物件。目錄儲存貯體會將物件以階層方式整理到目錄 (字首) 中，而不是一般用途儲存貯體的平面儲存結構。此儲存貯體類型沒有字首限制，且個別目錄可以水平擴展。如需詳細資訊，請參閱[使用目錄儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html)。
+ 對於低延遲使用案例，您可以在單一 AWS 可用區域中建立目錄儲存貯體來存放資料。可用區域中的目錄儲存貯體支援 S3 Express One Zone 儲存類別。使用 S3 Express One Zone，您的資料會以備援方式儲存在單一可用區域內的多部裝置上。如果您的應用程式對於效能很敏感，且受益於個位數毫秒的 `PUT` 和 `GET` 延遲，則建議使用 S3 Express One Zone 儲存類別。若要進一步了解如何在可用區域中建立目錄儲存貯體，請參閱[高效能工作負載](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-high-performance.html)。
+ 對於資料駐留使用案例，您可以在單一專用本機區域 (DLZ) AWS 中建立目錄儲存貯體來存放資料。在 Dedicated Local Zones 中，您可以建立 S3 目錄儲存貯體將資料儲存在特定資料周界，這有助於支援您的資料落地和隔離使用案例。本機區域中的目錄儲存貯體支援 S3 One Zone-Infrequent Access (S3 One Zone-IA、Z-IA) 儲存類別。若要進一步了解如何在 Local Zones 中建立目錄儲存貯體，請參閱[資料落地工作負載](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-data-residency.html)。

**注意**  
目錄儲存貯體預設會停用所有公開存取。此行為不得變更。您無法授予存放在目錄儲存貯體中的物件存取權。您只能授予目錄儲存貯體的存取權。如需詳細資訊，請參閱[簽署和授權請求](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-authenticating-authorizing.html)。

**資料表儲存貯體** – 專門推薦給儲存表格式資料使用，例如每日購買交易、串流感應器資料或廣告曝光。表格式資料代表資料欄和資料列中的資料，例如資料庫資料表中的資料。資料表儲存貯體提供針對分析和機器學習工作負載最佳化的 S3 儲存體，其功能旨在持續改善查詢效能，並降低資料表的儲存成本。S3 Tables 專為以 Apache Iceberg 格式儲存表格式資料而打造。您可以使用常用的查詢引擎查詢 S3 Tables 中的表格式資料，包括 Amazon Athena Amazon Redshift、 和 Apache Spark。根據預設， AWS 帳戶 每個 AWS 區域 最多可以建立 10 個資料表儲存貯體，每個資料表儲存貯體最多可以建立 10，000 個資料表。如需詳細資訊，請參閱[使用 S3 Tables 和資料表儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables.html)。

**注意**  
所有資料表儲存貯體和資料表都是私有的，無法公開。只有明確授予存取權的使用者才能存取這些資源。若要授予存取權，您可以針對資料表儲存貯體和資料表使用 IAM 資源型政策，並針對使用者和角色使用 IAM 身分型政策。如需詳細資訊，請參閱 [S3 Tables 的安全性](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-security-overview.html)。

**向量儲存貯體** – S3 向量儲存貯體是一種 Amazon S3 儲存貯體，專門用於儲存和查詢向量。向量儲存貯體使用專用 API 操作來有效率地寫入和查詢向量資料。您可以使用 S3 向量儲存貯體儲存機器學習模型的向量嵌入、執行相似性搜尋，以及與 Amazon Bedrock 和 Amazon OpenSearch 等服務整合。

S3 向量儲存貯體會使用向量索引來整理資料，而這些是位於儲存貯體內的資源，可用於儲存和整理向量資料，以便進行高效的相似度搜尋。每個向量索引都可以設定特定維度、距離指標 (例如餘弦相似性) 和中繼資料組態，以針對特定使用案例進行最佳化。如需詳細資訊，請參閱[使用 S3 Vectors 和向量儲存貯體](s3-vectors.md)。

#### 所有儲存貯體類型的其他資訊
<a name="more-bucket-info"></a>

建立儲存貯體時，請輸入儲存貯體名稱並選擇儲存貯體將駐留的 AWS 區域 。建立儲存貯體後，便無法變更儲存貯體的名稱或其區域。儲存貯體名稱必須遵循以下儲存貯體命名規則：
+ [一般用途儲存貯體命名規則](bucketnamingrules.md)
+ [目錄儲存貯體命名規則](directory-bucket-naming-rules.md)
+ [資料表儲存貯體命名規則](s3-tables-buckets-naming.md#table-buckets-naming-rules)

儲存貯體還可：
+ 以最高層級來組織 Amazon S3 命名空間。對於一般用途儲存貯體，此命名空間為 `S3`。對於目錄儲存貯體，此命名空間為 `s3express`。對於資料表儲存貯體，此命名空間為 `s3tables`。
+ 識別負責儲存和數據傳輸費的帳戶。
+ 充當用量報告中的彙總單位。

### 物件
<a name="BasicsObjects"></a>

物件是存放在 Amazon S3 中的基本實體。物件是由物件資料與中繼資料構成。中繼資料是一組成對的名稱與數值，會說明該物件。其中包含一些預設中繼資料 (如上次修改日期) 以及標準 HTTP 中繼資料 (如 `Content-Type`)。您也可以在存放物件時指定自訂中繼資料。

每個物件都包含在儲存貯體中。例如，如果名為 `photos/puppy.jpg` 的物件儲存在美國西部 (奧勒岡) 區域的 `amzn-s3-demo-bucket` 一般用途儲存貯體中，則可以使用 URL `https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/photos/puppy.jpg` 定址。如需詳細資訊，請參閱[存取儲存貯體](access-bucket-intro.md)。

在儲存貯體中，每個物件都是由[金鑰 (名稱)](#BasicsKeys) 與[版本 ID](#BasicsVersionID) (如果已在儲存貯體啟用 S3 版本控制) 來唯一識別。如需物件的詳細資訊，請參閱 [Amazon S3 物件概觀](UsingObjects.md)。

### 金鑰
<a name="BasicsKeys"></a>

*物件金鑰* (或*金鑰名稱*) 是儲存貯體內的物件的唯一識別碼。儲存貯體中的每個物件只能有一個金鑰。儲存貯體、物件金鑰以及選擇性的版本 ID (如果已針對儲存貯體啟用 S3 版本控制) 的組合可唯一識別每個物件。因此，您可以將 Amazon S3 視為「儲存貯體 \$1 金鑰 \$1 版本」與物件本身之間的基本資料對應。

Amazon S3 中的每個物件可透過 Web 服務端點、儲存貯體名稱、金鑰及版本 (選擇性) 的組合來唯一定址。例如，在 URL `https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/photos/puppy.jpg` 中，`amzn-s3-demo-bucket` 是儲存貯體的名稱，而 `photos/puppy.jpg` 是金鑰。

如需物件金鑰的詳細資訊，請參閱[命名 Amazon S3 物件](object-keys.md)。

### S3 版本控制
<a name="Versions"></a>

您可以使用 S3 版本控制，以在相同的儲存貯體中保留物件的多個變形。使用 S3 版本控制功能，您即可保留、擷取和還原在儲存貯體中所存放每個物件的各個版本。您就可以輕鬆地復原失誤的使用者動作和故障的應用程式。

如需詳細資訊，請參閱[使用 S3 版本控制保留多個版本的物件](Versioning.md)。

### 版本 ID
<a name="BasicsVersionID"></a>

當您在儲存貯體中啟用 S3 版本控制時，Amazon S3 會為所有新增至儲存貯體的物件提供唯一的版本 ID。啟用版本控制時已存在於儲存貯體中的物件的版本 ID 為 `null`。如果您使用其他操作修改這些 (或任何其他) 物件，例如 [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) 和 [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)，新物件會取得唯一的版本 ID。

如需詳細資訊，請參閱[使用 S3 版本控制保留多個版本的物件](Versioning.md)。

### 儲存貯體政策
<a name="BucketPolicies"></a>

儲存貯體政策是資源型 AWS Identity and Access Management (IAM) 政策，可用來將存取許可授予儲存貯體及其中的物件。只有儲存貯體擁有者可建立政策與儲存貯體的關聯。連接到儲存貯體的許可會套用至儲存貯體擁有者帳戶擁有的所有儲存貯體物件。儲存貯體政策的大小限制為 20 KB。

儲存貯體政策使用 AWS標準的以 JSON 為基礎的存取政策語言。您可以使用儲存貯體政策來新增或拒絕儲存貯體中物件的許可。儲存貯體政策會根據政策中的元素來允許或拒絕要求，包括請求的請求者、S3 動作、資源以及其他方面或條件 (例如，用來傳送要求的 IP 位址)。例如，您可以建立儲存貯體政策，授予跨帳戶許可，以將物件上傳至 S3 儲存貯體，同時確保儲存貯體擁有者可完全控制上傳物件。如需詳細資訊，請參閱[Amazon S3 儲存貯體政策的範例](example-bucket-policies.md)。

在儲存貯體政策中，您可以在 Amazon Resource Name (ARN) 上使用萬用字元和其他值上使用許可授予物件子集。例如，您可以控制對以常用[字首](https://docs.aws.amazon.com/general/latest/gr/glos-chap.html#keyprefix)或以給定的擴展名結束，例如`.html`。

### S3 存取點
<a name="BasicsAccessPoints"></a>

Amazon S3 Access Points 是含有專用存取政策的命名網路端點，該政策描述如何使用該端點存取資料。存取點會連接到基礎資料來源，例如一般用途儲存貯體、目錄儲存貯體或 FSx for OpenZFS 磁碟區，您可以用來執行 S3 物件操作，例如 `GetObject` 和 `PutObject`。存取點針對 Amazon S3 中的共用資料集，簡化管理大規模的資料存取。

每個存取點都有其自己的存取點政策。您可以為連接至儲存貯體的每個存取點設定[封鎖公開存取](access-control-block-public-access.md)設定。若要限制只能透過私有網絡存取 Amazon S3 資料，您可以將任何存取點設定為僅接受來自 Virtual Private Cloud (VPC) 的請求。

如需有關一般用途儲存貯體存取點的詳細資訊，請參閱 [使用存取點管理對共用資料集的存取](access-points.md)。如需有關目錄儲存貯體存取點的詳細資訊，請參閱 [使用存取點管理目錄儲存貯體中的共用資料集存取權](access-points-directory-buckets.md)。

### 存取控制清單 (ACL)
<a name="S3_ACLs"></a>

您可以使用 ACL 以向授權的使用者授予讀取和寫入個別一般用途儲存貯體和物件的許可權。每個一般用途儲存貯體與物件都會有一個與其連接的 ACL 做為子資源。ACL 會定義授予存取權的 AWS 帳戶 或 群組，以及存取權的類型。ACL 是一種早於 IAM 的存取控制機制。如需 ACL 的詳細資訊，請參閱「[存取控制清單 (ACL) 概觀](acl-overview.md)」。

S3 物件擁有權是一項 Amazon S3 儲存貯體層級設定，您可以用來同時控制上傳至儲存貯體之物件的擁有權，以及停用或啟用 ACL。根據預設，物件擁有權設定為「儲存貯體擁有者強制執行」設定，而且所有 ACL 都會停用。停用 ACL 時，儲存貯體擁有者會擁有儲存貯體中的所有物件，並使用存取管理政策專門管理對這些物件的存取。

 Amazon S3 中的大多數新式使用案例不再需要使用 ACL。建議您將 ACL 保持停用狀態，除非是在必須個別控制每個物件存取的情況。停用 ACL 後，您可以使用政策來控制對儲存貯體中所有物件的存取，無論是誰將物件上傳到您的儲存貯體。如需詳細資訊，請參閱[控制物件的擁有權並停用儲存貯體的 ACL](about-object-ownership.md)。

### 大區 (Regions)
<a name="Regions"></a>

您可以選擇 Amazon S3 存放您建立之儲存貯 AWS 區域 體的地理位置。您可以選擇區域以最佳化延遲、降低成本或因應法規需求。除非您明確地將物件傳輸或複寫到另一個區域，否則存放在 中的物件 AWS 區域 絕不會離開該區域。例如，存放在歐洲 (愛爾蘭) 區域的物件絕不會離開此區域。

**注意**  
您只能在為您的帳戶啟用 AWS 區域 的 中存取 Amazon S3 及其功能。如需啟用區域以建立和管理 AWS 資源的詳細資訊，請參閱《》中的[管理 AWS 區域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)*AWS 一般參考*。

如需 Amazon S3 區域與端點的清單，請參閱《AWS 一般參考》**中的[區域與端點](https://docs.aws.amazon.com/general/latest/gr/s3.html)。

## Amazon S3 資料一致性模式
<a name="ConsistencyModel"></a>

Amazon S3 為 Amazon S3 儲存貯體中物件的 PUT 和 DELETE 請求提供強大的read-after-write一致性 AWS 區域。這一行為適用於寫入新的物件，以及覆寫現有物件的 PUT 請求與 DELETE 請求。此外，Amazon S3 Select、Amazon S3 存取控制清單 (ACL)、Amazon S3 物件標籤和物件中繼資料 (例如 HEAD 物件) 上的讀取操作均高度一致。

單一金鑰的更新不可部分完成。例如，如果您從一個執行緒中向現有的金鑰傳送 PUT 請求，並同時從第二個執行緒在相同的金鑰上執行 GET 請求，則會獲得舊資料或新資料，但絕不會獲得部分或損壞的資料。

Amazon S3 在 AWS 資料中心內的多部伺服器上複寫資料，達到高可用性。如果 PUT 要求成功，則您的資料已安全地存放。收到一個成功的 PUT 回應後啟動的任何讀取（GET 或 LIST）將傳回由 PUT 請求寫入的資料。下列是此行為的範例：
+ 一個處理序將新物件寫入 Amazon S3，並立即列出其儲存貯體內的金鑰。新物件將出現在清單中。
+ 一個程序會取代現有的物件，並立即嘗試讀取該物件。Amazon S3 會傳回新的資料。
+ 一個程序會刪除現有的物件，並立即嘗試讀取該物件。Amazon S3 不會傳回任何資料，因為物件已被刪除。
+ 一個程序會刪除現有的物件，並立即列出其儲存貯體內的金鑰。物件將不會出現在清單中。

**注意**  
Amazon S3 不支援並行寫入器的物件鎖定。如果同時對相同的金鑰提出兩個 PUT 要求，會優先使用具有最新時間戳記的要求。如果這是問題，您必須在應用程式中內建物件鎖定機制。
更新是以金鑰為基礎。無法跨金鑰進行不可部分完成的更新。例如，您無法更新某個需要更新另一個金鑰的金鑰，除非您將這項功能設計到應用程式中。

儲存貯體組態具有最終一致性模式。具體來說，這表示：
+ 如果您刪除儲存貯體並立即列出所有儲存貯體，刪除的儲存貯體可能仍會出現在清單中。
+ 如果您第一次在儲存貯體上啟用版本控制，則可能需要很短的時間才能完全傳播變更。我們建議您在啟用版本控制之後等待 15 分鐘，然後再對儲存貯體中的物件發出寫入作業 (PUT 或 DELETE 請求)。

### 並行應用程式
<a name="ApplicationConcurrency"></a>

本節提供了一些範例，說明在多個用戶端寫入相同項目時，Amazon S3 可預期的行為。

在此範例中，會完成 W1 (寫入 1) 與 W2 (寫入 2)，再開始 R1 (讀取 1) 與 R2 (讀取 2)。由於 S3 高度一致，所以 R1 和 R2 均會傳回 `color = ruby`。

![\[兩個用戶端寫入具有不同值的相同項目，但傳回相同讀取結果的範例。\]](http://docs.aws.amazon.com/zh_tw/AmazonS3/latest/userguide/images/consistency1.png)


在下一個範例中，W2 會在開始 R1 之後才完成。因此，R1 可能會傳回 `color = ruby` 或 `color = garnet`。但是，因為 W1 和 W2 在 R2 開始之前完成，所以 R2 會傳回 `color = garnet`。

![\[兩個用戶端寫入具有不同值的相同項目，但傳回相同或不同讀取結果的範例。\]](http://docs.aws.amazon.com/zh_tw/AmazonS3/latest/userguide/images/consistency2.png)


在最後一個範例中，W2 在 W1 收到確認之前即開始。因此，這些寫入會視為並行動作。Amazon S3 內部會使用「最後寫入為準」語義來決定哪個寫入動作優先。然而，因為網路延遲等因素，Amazon S3 接收請求的順序和應用程式接收確認的順序則無法預測。例如，W2 可能由同一區域中的 Amazon EC2 執行個體啟動，而 W1 可能由較遠的主機啟動。確定最終值的最佳方法是在確認兩個寫入之後執行讀取。

![\[兩個用戶端寫入具有不同值的相同項目，但傳回並行結果的範例。\]](http://docs.aws.amazon.com/zh_tw/AmazonS3/latest/userguide/images/consistency3.png)


## 相關服務
<a name="RelatedAmazonWebServices"></a>

將資料載入 Amazon S3 之後，您可以將其與其他 AWS 服務搭配使用。以下為您可能最常使用的服務：
+ **[Amazon Elastic Compute Cloud (Amazon EC2](https://aws.amazon.com/ec2/)**) – 在 AWS 雲端中提供安全且可擴展的運算容量。使用 Amazon EC2 可減少前期所需的硬體投資，讓您更快速開發並部署應用程式。您可使用 Amazon EC2 按需要啟動任意數量的虛擬伺服器，設定安全性和聯網功能以及管理儲存。
+ **[Amazon EMR](https://aws.amazon.com/elasticmapreduce/)** – 幫助企業、研究員、資料分析師與開發人員，輕鬆地以符合成本效益的方式來處理相當大量的資料。Amazon EMR 採用 Web 規模的 Amazon EC2 與 Amazon S3 基礎設施上運作的託管 Hadoop 框架。
+ **[AWS Snow Family](https://aws.amazon.com/snow/)** - 協助需要在隔離、非資料中心環境以及缺乏一致網路連線的位置執行操作的客戶。您可以使用 AWS Snow Family 裝置，在網際網路連線可能不是選項 AWS 雲端 的地方，以本機且經濟實惠的方式存取 的儲存和運算能力。
+ **[AWS Transfer Family](https://aws.amazon.com/aws-transfer-family/)** – 使用 Secure Shell (SSH) 檔案傳輸通訊協定 (SFTP)、透過 SSL 檔案傳輸通訊協定 (FTPS) 和檔案傳輸通訊協定 (FTP)，為 Amazon S3 或 Amazon Elastic File System (Amazon EFS) 直接傳輸檔案提供全受管支援。

## 存取 Amazon S3
<a name="API"></a>

您可以透過以下任何方式來使用 Amazon S3：

### AWS 管理主控台
<a name="access-aws-management-console"></a>

主控台是用於管理 Amazon S3 AWS 和資源的 Web 型使用者介面。如果您已註冊 AWS 帳戶，您可以登入 AWS 管理主控台 並從 AWS 管理主控台 首頁選擇 S3 來存取 Amazon S3 主控台。 **S3** 

### AWS Command Line Interface
<a name="access-aws-cli"></a>

您可以使用 AWS 命令列工具在系統的命令列發出命令或建置指令碼，以執行 AWS （包括 S3) 任務。

[AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) 為廣泛的 提供命令 AWS 服務。Windows、macOS 和 Linux AWS CLI 支援 。若要開始使用，請參閱[《AWS Command Line Interface 使用者指南**》](https://docs.aws.amazon.com/cli/latest/userguide/)。如需 Amazon S3 命令的詳細資訊，請參閱 *AWS CLI 命令參考*中的 [s3api](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/index.html) 和 [s3control](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/index.html)。

### AWS SDKs
<a name="access-aws-sdks"></a>

AWS 提供SDKs（軟體開發套件），其中包含適用於各種程式設計語言和平台 (Java、Python、Ruby、.NET、iOS、Android 等） 的程式庫和範本程式碼。 AWS SDKs 提供便捷的方式來建立 S3 和 的程式設計存取 AWS。Amazon S3 是一個 REST 服務。您可以使用 AWS SDK 程式庫將請求傳送至 Amazon S3，該程式庫會包裝基礎 Amazon S3 REST API 並簡化您的程式設計任務。例如，開發套件會負責的工作諸如計算簽章、以密碼演算法簽署請求、管理錯誤以及自動重試請求。如需 AWS SDKs 的相關資訊，包括如何下載和安裝，請參閱[適用於 的工具 AWS](https://aws.amazon.com/tools/)。

與 Amazon S3 的每次互動，可以經過驗證身分或是匿名進行。如果您使用的是 AWS SDKs，程式庫會從您提供的金鑰計算用於身分驗證的簽章。如需如何向 Amazon S3 提出請求的詳細資訊，請參閱[提出請求](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html)。

### Amazon S3 REST API
<a name="UsingRESTAPI"></a>

Amazon S3 的架構設計成非程式設計語言相關，並使用 AWS支援的介面來存放與擷取物件。您可以透過使用 Amazon S3 REST API 以程式化設計方式存取 S3 和 AWS 。REST API 是 Amazon S3 的 HTTP 介面。藉助 REST API，您可以使用標準 HTTP 要求來建立、擷取與刪除儲存貯體與物件。

若要使用 REST API，您可以使用支援 HTTP 的任何工具組。您甚至可以使用瀏覽器來擷取物件，只要物件是可匿名讀取即可。

REST API 使用標準 HTTP 標頭與狀態碼，因此標準瀏覽器與工具組會如預期般運作。在某些區域中，我們已新增功能至 HTTP (例如，我們已新增標頭來支援存取控制)。在此情況下，我們會盡力以符合標準 HTTP 使用風格的方式來新增功能。

如果直接在應用程式中呼叫 REST API，您必須撰寫程式碼來運算簽章，並將其新增至要求。如需如何向 Amazon S3 提出請求的詳細資訊，請參閱 Amazon S3 API 參考**中的[提出請求](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html)。

**注意**  
HTTP 上的 SOAP API 支援已淘汰，但仍可透過 HTTPS 取得。SOAP 不支援較新的 Amazon S3 功能。我們建議您使用 REST API 或 AWS SDKs。

## 支付 Amazon S3
<a name="PayingforStorage"></a>

Amazon S3 定價旨在讓您不需要規劃應用程式的儲存體需求。大部分的儲存提供者會要求您購買預先決定的儲存空間和網路傳輸容量。在此情況中，如果您超過容量，您的服務會關閉或必須支付很高的超額費用。如果未超過該容量，您仍會支付全額使用費用。

Amazon S3 只會按實際用量收費，不會有任何隱藏費用與超額費用。此模型為您提供可變成本服務，可隨著您的業務成長，同時為您提供 AWS 基礎設施的成本優勢。如需詳細資訊，請參閱 [Amazon S3 定價](https://aws.amazon.com/s3/pricing/)。

當您註冊 時 AWS，您的 AWS 帳戶 會自動註冊 中的所有服務 AWS，包括 Amazon S3。不過，您只需針對所使用的服務付費。若您是 Amazon S3 新客戶，可以免費試用 Amazon S3。如需詳細資訊，請參閱 [AWS 免費方案](https://aws.amazon.com/free)。

若要查看您的帳單，請前往 [AWS 帳單與成本管理 主控台](https://console.aws.amazon.com/billing/)中的帳單與成本管理儀表板。若要進一步了解 AWS 帳戶 帳單，請參閱 [https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html)。如果您對 AWS 帳單有任何疑問 AWS 帳戶，請聯絡 [AWS Support](https://aws.amazon.com/contact-us/)。

## PCI DSS 合規
<a name="pci-dss-compliance"></a>

Amazon S3 支援處理、儲存、傳輸商家或服務供應商的信用卡資料，並且已驗證符合支付卡產業 (PCI) 資料安全標準 (DSS)。如需 PCI DSS 的詳細資訊，包括如何請求 AWS PCI 合規套件的副本，請參閱 [PCI DSS 第 1 級](https://aws.amazon.com/compliance/pci-dss-level-1-faqs/)。