本文介绍 NotPrincipal 、NotResource 和 NotAction 的典型授权场景及操作说明,您可以根据实际情况完成授权。
NotPrincipal
和 NotResource
必须和 "Effect":"Deny"
一起使用;NotAction
可以搭配 "Effect":"Deny"
和 "Effect":"Allow"
使用,具体含义说明如下:
参数 | "Effect":"Deny" | "Effect":"Allow" | 授权场景 |
---|---|---|---|
| 除了 | 不支持 | |
| 除了 | 不支持 | |
| 除了 | 除 了 |
关于 NotPrincipal
、 NotResource
和 NotAction
的详细介绍,请参见桶策略模板及参数说明。
本示例介绍如何实现前缀为 test/
的对象除了 aaa 用户以外,拒绝其他用户访问。
本示例本身不会向 aaa 用户授权,只用于拒绝除了 aaa 用户以外的其他用户的访问。拒绝其他用户权限后,您还需要创建对应的 "Effect":"Allow"
的桶策略,授予 aaa 用户指定对象的权限。
场景说明
aaa
用户。test
目录下的对象。推荐配置方法
本场景下推荐您使用桶策略。
操作步骤
test/*
。单击编辑,将以下内容复制到文本框中,单击确定。
{ "Statement": [ { "Sid": "自定义策略-1e31", "Effect": "Deny", "NotPrincipal":["210000****/aaa"], "Action": [ "tos:GetObject", "tos:PutObject", "tos:DeleteObject", "tos:GetObjectVersion", "tos:DeleteObjectVersion" ], "Resource": [ "trn:tos:::example/test/*" ] } ] }
后续操作
拒绝其他用户访问后,您还需要授予 aaa 用户对应的权限,才能实现除了前缀为 test/
的对象除了 aaa 用户以外,拒绝其他用户访问。具体操作,请参见自定义创建桶策略(JSON 视图)。对应的策略内容如下:
{ "Statement": [ { "Sid": "自定义策略-1e32", "Effect": "Allow", "Principal":["210000****/aaa"], "Action": [ "tos:GetObject", "tos:PutObject", "tos:DeleteObject", "tos:GetObjectVersion", "tos:DeleteObjectVersion" ], "Resource": [ "trn:tos:::example/test/*" ] } ] }
本示例介绍如何使用 NotResource 实现 aaa 用户除了 test/
资源以外,其他资源都不能访问。
本示例本身不会向 aaa 用户授予 test/
资源的权限,只用于拒绝除了 test/
资源以外的其他资源权限。拒绝其他资源权限后,您还需要创建对应的 "Effect":"Allow"
的桶策略,授予 aaa 用户 test/
资源的权限。
场景说明
test
目录下的对象。推荐配置方法
本场景下推荐使用桶策略。
操作步骤
test/*
。单击编辑,将以下内容复制到文本框中,单击确定。
{ "Statement": [ { "Sid": "自定义策略-1e33", "Effect": "Deny", "Principal":["210000****/aaa"], "Action": [ "tos:GetObject", "tos:PutObject", "tos:DeleteObject", "tos:GetObjectVersion", "tos:DeleteObjectVersion" ], "NotResource": [ "trn:tos:::example/test/*" ] } ] }
后续操作
拒绝其他用户访问除了 test/
资源以外的其他资源后,您还需要授予 aaa 用户test/
资源的权限,才能实现 aaa 用户除了 test/
资源以外,其他资源都不能访问。具体操作,请参见自定义创建桶策略(JSON 视图)。对应的策略内容如下:
{ "Statement": [ { "Sid": "自定义策略-1e34", "Effect": "Allow", "Principal":["210000****/aaa"], "Action": [ "tos:GetObject", "tos:PutObject", "tos:DeleteObject", "tos:GetObjectVersion", "tos:DeleteObjectVersion" ], "Resource": [ "trn:tos:::example/test/*" ] } ] }
本示例介绍如何使用 NotAction 授予用户除 DeleteBucket、DeleteObject 外其余动作的执行权限。
场景说明
test
目录下的对象。推荐配置方法
本场景下推荐使用桶策略。
操作步骤
test/*
。单击编辑,将以下内容复制到文本框中,单击确定。
{ "Statement": [ { "Sid": "自定义策略-0de9", "Effect": "Allow", "Principal": [ "214748****/aaa" ], "NotAction": [ "tos:DeleteBucket", "tos:DeleteObject" ], "Resource": "trn:tos:::example/test/*" } ] }