最近更新时间:2024.03.26 16:32:21
首次发布时间:2023.11.17 10:55:32
本文介绍使用 NotPrincipal 和 NotResource 的典型授权场景及操作说明,您可以根据实际情况完成授权。
NotPrincipal
和 NotResource
必须和 "Effect":"Deny"
一起使用。搭配 "Effect":"Deny"
后的效果说明如下:
NotPrincipal
:除了 NotPrincipal
指定的用户以外,将拒绝其他用户的访问。NotResource
:除了 NotResource
指定的资源以外,将拒绝访问其他资源。关于 NotPrincipal
和 NotResource
的详细介绍,请参见桶策略模板及参数说明。
本示例介绍如何实现前缀为 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/*" ] } ] }