

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

# 使用 Windows ACLs限制 SMB 檔案共用存取
<a name="smb-acl"></a>

Amazon S3 檔案閘道支援兩種不同的方法來控制存取透過 SMB 檔案共用存放的檔案和目錄：POSIX 許可或 Windows ACLs。

本節說明如何在使用 Microsoft Active Directory (AD) 進行身分驗證的 SMB 檔案共用上使用 Microsoft Windows 存取控制清單 (ACLs)。使用 Windows ACL，您可以在 SMB 檔案共享的檔案和資料夾上設定精確的許可。

以下是 SMB 檔案共享上 Windows ACL 的一些重要的特性：
+ 當您的檔案閘道加入 Active Directory 網域時，預設會為 SMB 檔案共用選取 Windows ACLs。
+ 啟用 ACLs 時，ACL 資訊會保留在 Amazon S3 物件中繼資料中。
+ 針對每個檔案或資料夾，閘道最多保留 10 個 ACL。
+ 當您將 SMB 檔案共用與已啟用的 ACLs 搭配使用，以存取閘道外部建立的 S3 物件時，物件會從父資料夾繼承 ACLs 的資訊。

**注意**  
SMB 檔案共享的預設根 ACL 提供完整存取權限給每個人，但您可以變更根 ACL 的許可。您可以使用根 ACL 來控制檔案共享的存取。您可以設定誰可以掛載檔案共享 (映射磁碟機)，以及使用者在檔案共享中以遞迴方式可對檔案和資料夾取得那些許可。不過，我們建議您在 S3 儲存貯體的最上層資料夾設定此許可，如此可以保存您的 ACL。

您可以使用 [CreateSMBFileShare](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateSMBFileShare.html) API 操作，在建立新的 SMB 檔案共享時開啟 Windows ACLs。或者，您可以使用 [UpdateSMBFileShare](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_UpdateSMBFileShare.html) API 操作，在現有的 SMB 檔案共享上開啟 Windows ACLs。

## 在新的 SMB 檔案共享上啟用 Windows ACLs
<a name="enable-acl-new-fileshare"></a>

執行下列步驟，在新的 SMB 檔案共享上啟用 Windows ACLs。

**在建立新的 SMB 檔案共享時啟用 Windows ACLs**

1. 如果您還沒有檔案閘道，請建立一個。如需詳細資訊，請參閱[建立閘道](create-file-gateway.md)。

1. 如果閘道尚未加入網域，請將其新增到網域。如需詳細資訊，請參閱[使用 Active Directory 來驗證使用者](https://docs.aws.amazon.com/filegateway/latest/files3/enable-ad-settings.html)。

1. 建立 SMB 檔案共享。如需詳細資訊，請參閱 

1. 從 Storage Gateway 主控台在檔案共享上啟用 Windows ACLs。

   若要使用 Storage Gateway 主控台，請執行下列動作：

   1. 選擇檔案共享，然後選擇 **Edit file share (編輯檔案共享)**。

   1. 對於 **File/directory access controlled by (檔案/目錄存取控制者)** 選項，選擇 **Windows Access Control List (Windows 存取控制清單)**。

1. (選用) 如果您希望管理員使用者具有更新檔案共享中所有檔案和資料夾之 ACL 的權限，請新增管理員使用者到 [AdminUsersList](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateSMBFileShare.html#StorageGateway-CreateSMBFileShare-request-AdminUserList)。
**注意**  
如果您已在 SMB 檔案共享的設定中設定**允許和拒絕的使用者和群組**清單，則 ACLs 不會授予覆寫這些清單的任何存取權。  
**允許和拒絕的使用者和群組**清單會在 ACLs 之前進行評估，並控制哪些使用者可以掛載或存取檔案共享。如果允許****清單中有任何使用者或群組，則清單會被視為作用中，只有這些使用者可以掛載檔案共享。  
使用者掛載檔案共享之後，ACLs會提供更精細的保護，以控制使用者可以存取哪些特定檔案或資料夾。

1. 更新根資料夾下方父資料夾的 ACL。若要這樣做，請使用 Windows 檔案總管在 SMB 檔案共享的資料夾上設定 ACL。
**注意**  
如果您在根目錄上設定 ACLs，而不是在根目錄下設定父資料夾，則 ACL 許可不會保留在 Amazon S3 中。

   我們建議在檔案共享根目錄的最上層資料夾設定 ACL，而不是在檔案共享的根目錄直接設定 ACL。此方法會將資訊保留為 Amazon S3 中的物件中繼資料。

1. 視需要開啟繼承。
**注意**  
您可以為 2019 年 5 月 8 日之後建立的檔案共用開啟繼承。

如果您開啟繼承並遞迴更新許可，Storage Gateway 會更新 S3 儲存貯體中的所有物件。根據儲存貯體中的物件數量，更新可能作需要一些時間才能完成。

## 在現有 SMB 檔案共享上啟用 Windows ACLs
<a name="enable-acl-existing-fileshare"></a>

執行下列步驟，在具有 POSIX 許可的現有 SMB 檔案共享上啟用 Windows ACLs。

**使用 Storage Gateway 主控台在現有 SMB 檔案共享上啟用 Windows ACLs**

1. 選擇檔案共享，然後選擇 **Edit file share (編輯檔案共享)**。

1. 對於 **File/directory access controlled by (檔案/目錄存取控制者)** 選項，選擇 **Windows Access Control List (Windows 存取控制清單)**。

1. 視需要開啟繼承。
**注意**  
我們不建議您在根層級設定 ACL，因為如果您這麼做並刪除了閘道，您需要再次重設 ACL。

如果您開啟繼承並遞迴更新許可，Storage Gateway 會更新 S3 儲存貯體中的所有物件。根據儲存貯體中的物件數量，更新可能作需要一些時間才能完成。

## 使用視窗 ACL 時的限制
<a name="acl-limits"></a>

使用 Windows ACL 來控制 SMB 檔案共享的存取時，請謹記下列限制：
+ 當您使用 Windows SMB 用戶端存取檔案共用時，只有使用 Active Directory 進行身分驗證的檔案共用才支援 Windows ACLs。
+ 針對每個檔案和目錄，檔案閘道最多支援 10 個 ACL 項目。
+ 檔案閘道不支援 `Audit`和 `Alarm`項目，這些項目是系統存取控制清單 (SACL) 項目。 檔案閘道支援 `Allow`和 `Deny`項目，這些項目是選擇性存取控制清單 (DACL) 項目。
+ 檔案閘道不支援進階存取控制項目 (ACE) 許可。
+ SMB 檔案共享的根 ACL 設定只位於閘道上，並且此設定會在閘道更新和重新啟動之間持續存在。
**注意**  
如果您在根目錄上設定 ACLs，而不是在根目錄下設定父資料夾，則 ACL 許可不會保留在 Amazon S3 中。

  在這些條件下，請務必執行下列動作：
  + 如果您將多個閘道設定為存取相同的 Amazon S3 儲存貯體，請在每個閘道上設定根 ACL，以保持許可一致。
  + 如果您刪除檔案共享並在相同的 Amazon S3 儲存貯體上重新建立，請確定您使用相同的根 ACLs 集。