

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

# 資料隔離
<a name="S3-buckets-data-isolation"></a>

當您將 S3 儲存貯體新增至 RES 時，您可以選擇將儲存貯體中的資料隔離給特定專案和使用者。在**新增儲存貯**體頁面上，您可以選擇唯讀 (R) 或讀寫 (R/W) 模式。

**唯讀**

`Read Only (R)` 如果選取 ，則會根據儲存貯體 ARN (Amazon Resource Name) 的字首強制執行資料隔離。例如，如果管理員使用 ARN 將儲存貯體新增至 RES，`arn:aws:s3:::{{bucket-name}}{{/example-data}}/`並將此儲存貯體與專案 A 和專案 B 建立關聯，則從專案 A 和專案 B 內啟動 VDIs 的使用者只能讀取路徑 `{{bucket-name}}`下位於 中的資料`{{/example-data}}`。他們將無法存取該路徑以外的資料。如果沒有字首附加到儲存貯體 ARN，則整個儲存貯體將提供給與其相關聯的任何專案。

**讀取和寫入**

如果選取 `Read and Write (R/W)` ，仍會根據儲存貯體 ARN 的字首強制執行資料隔離，如上所述。此模式有其他選項，可讓管理員為 S3 儲存貯體提供以變數為基礎的字首。`Read and Write (R/W)` 選取 時，自訂字首區段會變成可用，提供具有下列選項的下拉式功能表：
+ 沒有自訂字首
+ /%p
+ /%p/%u

![新增儲存貯體頁面，顯示自訂字首下拉式清單](http://docs.aws.amazon.com/zh_tw/res/latest/ug/images/add-bucket-custom-prefix.png)


**無自訂資料隔離 **  
為**自訂字首**選取 `No custom prefix` 時，會新增儲存貯體，而沒有任何自訂資料隔離。這可讓與儲存貯體相關聯的任何專案具有讀取和寫入存取權。例如，如果管理員使用`arn:aws:s3:::{{bucket-name}}``No custom prefix`選取的 ARN 將儲存貯體新增至 RES，並將此儲存貯體與專案 A 和專案 B 建立關聯，則從專案 A 和專案 B 內啟動 VDIs 的使用者將擁有對儲存貯體的無限制讀取和寫入存取權。

**每個專案層級的資料隔離 **  
為**自訂字首**選取 `/%p` 時，儲存貯體中的資料會隔離至與其相關聯的每個特定專案。`%p` 變數代表專案程式碼。例如，如果管理員使用`arn:aws:s3:::{{bucket-name}}`具有`/%p`所選 和 {{/ 儲存貯體}}**掛載點**的 ARN 將儲存貯體新增至 RES，並將此儲存貯體與專案 A 和專案 B 建立關聯，則專案 A 中的使用者 A 可以將檔案寫入 {{/ 儲存貯體}}。專案 A 中的使用者 B 也可以查看使用者 A 在 {{/ 儲存貯}}體中撰寫的檔案。不過，如果使用者 B 在專案 B 中啟動 VDI 並在 {{/ 儲存貯}}體中尋找，他們將不會看到使用者 A 所撰寫的檔案，因為資料是由專案隔離。檔案 使用者 A 寫入位於 S3 儲存貯體的字首下，`/ProjectA`而使用者 B 只能在從專案 B 使用其 VDIs`/ProjectB`時存取 。

**每個專案、每個使用者層級的資料隔離 **  
為**自訂字首**選取 `/%p/%u` 時，儲存貯體中的資料會與該專案相關聯的每個特定專案和使用者隔離。`%p` 變數代表專案程式碼，而 `%u`代表使用者名稱。例如，管理員使用 `arn:aws:s3:::{{bucket-name}}` ARN 搭配`/%p/%u`選取的 和掛載點 {{/ 儲存貯體}}，將儲存貯體新增至 RES。此儲存貯體與專案 A 和專案 B 相關聯。專案 A 中的使用者 A 可以將檔案寫入 {{/ 儲存貯體}}。與先前僅隔離的情況不同`%p`，在此情況下，使用者 B 不會看到使用者 A 在 {{/ 儲存貯}}體的專案 A 中寫入的檔案，因為資料是由專案和使用者所隔離。檔案 使用者 A 寫入位於 S3 儲存貯體的字首下，`/ProjectA/UserA`而使用者 B 只能在專案 A 中使用其 VDIs`/ProjectA/UserB`時存取。