Skip to main content
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

將存取規則新增至預設的 ONTAP S3 儲存區原則

貢獻者

您可以將存取規則新增至預設的儲存區原則。其存取控制的範圍是包含貯體的範圍、因此當有單一貯體時、最適合使用此功能。

開始之前

已啟用 S3 的儲存 VM 必須已存在、其中包含 S3 伺服器和儲存區。

在授予權限之前、您必須先建立使用者或群組。

關於這項工作

您可以為新使用者和群組新增聲明、也可以修改現有聲明的屬性。如需更多選項、請參閱 vserver object-store-server bucket policy 手冊頁。

使用者和群組權限可在建立儲存區時或稍後視需要授予。您也可以修改儲存區容量和QoS原則群組指派。

從 ONTAP 9.9.1 開始、如果您計畫在 ONTAP S3 伺服器上支援 AWS 用戶端物件標記功能、就會執行這些動作 GetObjectTaggingPutObjectTagging`和 `DeleteObjectTagging 需要使用貯體或群組原則來允許。

您遵循的程序取決於您使用的介面- System Manager或CLI:

系統管理員
步驟
  1. 編輯儲存桶:按一下「儲存設備>儲存桶」、按一下所需的儲存桶、然後按一下「編輯」。 新增或修改權限時、您可以指定下列參數:

    • 主要:授予存取權的使用者或群組。

    • * effect*:允許或拒絕存取使用者或群組。

    • 動作:特定使用者或群組的儲存庫允許動作。

    • 資源:儲存區內已授予或拒絕存取的物件路徑和名稱。

      預設值*bucketname*和*_bucketname/會授予儲存區中所有物件的存取權。您也可以授與單一物件的存取權、例如*_Bucketname/ readme.txt*。

    • 條件(選用):嘗試存取時會評估的運算式。例如、您可以指定允許或拒絕存取的IP位址清單。

註 從 ONTAP 9.14.1 開始、您可以在 * 資源 * 欄位中指定貯體原則的變數。這些變數是預留位置、在評估原則時會以關聯式值取代。例如、 If ${aws:username} 會指定為原則的變數、然後此變數會以要求內容使用者名稱取代、並可依照該使用者的設定來執行原則動作。
CLI
步驟
  1. 在庫位政策中加入聲明:

    vserver object-store-server bucket policy add-statement -vserver svm_name -bucket bucket_name -effect {allow|deny} -action object_store_actions -principal user_and_group_names -resource object_store_resources [-sid text] [-index integer]

    下列參數定義存取權限:

    -effect

    此聲明可能允許或拒絕存取

    -action

    您可以指定 * 表示所有動作、或是下列一或多個動作清單: GetObject, PutObject, DeleteObject, ListBucket, GetBucketAcl,GetObjectAcl, ListBucketMultipartUploads,ListMultipartUploadParts

    -principal

    一或多個S3使用者或群組的清單。

    • 最多可指定10個使用者或群組。

    • 如果已指定 S3 群組、則該群組必須採用格式 group/group_name.

    • * 可以指定為公開存取、也就是說、無需存取金鑰和秘密金鑰即可存取。

    • 如果未指定主體、則會授予儲存 VM 中的所有 S3 使用者存取權。

    -resource

    儲存區及其所包含的任何物件。萬用字元 *? 可用於形成用於指定資源的規則運算式。對於資源、您可以在原則中指定變數。這些原則變數是預留位置、在評估原則時會以關聯式值取代。

    您可以選擇性地指定文字字串做為的註解 -sid 選項。

範例

以下範例為儲存 VM svm1.example.com 和 Bucket1 建立物件儲存區伺服器貯體原則聲明、指定允許存取物件儲存區伺服器使用者使用者 1 的讀我資料夾。

cluster1::> vserver object-store-server bucket policy statement create -vserver svm1.example.com -bucket bucket1 -effect allow -action GetObject,PutObject,DeleteObject,ListBucket -principal user1 -resource bucket1/readme/* -sid "fullAccessToReadmeForUser1"

以下範例為儲存 VM svm1.example.com 和 Bucket1 建立物件儲存區伺服器貯體原則聲明、指定物件儲存區伺服器群組群組 1 的所有物件存取權。

cluster1::> vserver object-store-server bucket policy statement create -vserver svm1.example.com -bucket bucket1 -effect allow -action GetObject,PutObject,DeleteObject,ListBucket -principal group/group1 -resource bucket1/* -sid "fullAccessForGroup1"

從 ONTAP 9.14.1 開始、您可以指定貯體原則的變數。以下範例為儲存 VM 建立伺服器儲存區原則聲明 svm1bucket1`和指定 `${aws:username} 做為原則資源的變數。評估原則時、原則變數會以要求內容使用者名稱取代、並可依照該使用者的設定來執行原則動作。例如、評估下列原則陳述時、 ${aws:username} 替換為執行 S3 作業的使用者。如果是使用者 user1 執行作業時、會授予該使用者存取權 bucket1 做為 bucket1/user1/*

cluster1::> object-store-server bucket policy statement create -vserver svm1 -bucket bucket1 -effect allow -action * -principal - -resource bucket1,bucket1/${aws:username}/*##