您可以向默认存储分段策略添加访问规则。其访问控制的范围是包含的存储分段,因此,只有一个存储分段时,它才是最合适的。
开始之前
必须已存在已启用S3且包含S3服务器和存储分段的Storage VM。
关于此任务
您可以为新用户和组添加新语句,也可以修改现有语句的属性。有关的详细信息 vserver object-store-server bucket policy
,请参见"ONTAP 命令参考"。
可以在创建存储分段时或稍后根据需要授予用户和组权限。您还可以修改存储分段容量和 QoS 策略组分配。
从ONTAP 9.9.1开始、如果您计划在ONTAP S3服务器上支持AWS客户端对象标记功能、请执行以下操作 GetObjectTagging
, PutObjectTagging
,和 DeleteObjectTagging
需要允许使用存储分段或组策略。
您关注的操作步骤 取决于您使用的界面—System Manager或命令行界面:
步骤
-
编辑存储分段:单击 * 存储 > 存储分段 * ,单击所需分段,然后单击 * 编辑 * 。
添加或修改权限时,您可以指定以下参数:
|
从ONTAP 9.14.1开始,您可以在*Res풴*字段中为存储分段策略指定变量。这些变量是占位符、在评估策略时、这些占位符将替换为上下文值。例如、If ${aws:username} 指定为策略的变量、然后此变量将替换为请求上下文用户名、并且可以按照为该用户配置的方式执行策略操作。
|
步骤
-
向存储分段策略添加语句:
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]
|
|
|
您可以指定 * 表示所有操作、或者包含以下一项或多项的列表: GetObject, PutObject, DeleteObject, ListBucket, GetBucketAcl,GetObjectAcl, ListBucketMultipartUploads, 和 ListMultipartUploadParts 。
|
|
-
最多可以指定 10 个用户或组。
-
如果指定了S3组、则必须采用的格式 group/group_name.
-
* 可以指定为表示公共访问、即不使用访问密钥和机密密钥的访问。
-
如果未指定主体、则会为Storage VM中的所有S3用户授予访问权限。
|
|
分段及其包含的任何对象。通配符 * 和 ? 可用于形成用于指定资源的正则表达式。对于资源、您可以在策略中指定变量。这些策略变量是在评估策略时用上下文值替换的占位符。
|
您可以选择使用指定文本字符串作为注释 -sid
选项
示例
以下示例将为Storage VM svm1.example.com和bucket1创建对象存储服务器分段策略语句、指定允许对象存储服务器用户user1访问自述文件文件夹。
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"
以下示例将为Storage VM svm1.example.com和bucket1创建对象存储服务器分段策略语句、该语句指定允许访问对象存储服务器组group1的所有对象。
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开始、您可以为分段策略指定变量。以下示例将为Storage VM创建服务器分段策略语句 svm1
和 bucket1`和指定 `${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}/*##