这实际上是一个两部分的问题:
我在“ Grantee”下拉列表中看到一些用户,用于在AWS控制台中编辑S3权限。
这些用户来自哪里?
如何删除它们?
他们不在IAM中,所以我不确定自己来自哪里。
最佳答案
被授予者可以是一个AWS帐户(您可能在过去添加了该帐户),也可以是预定义的AWS“组”,例如“已认证用户”,“所有用户”或“日志传递”。请查看AWS文档上的ACL Overview,了解更多信息。
要从给定文件(或一组文件)中删除授权,可以使用PUT Object acl操作。
在文档中,尚不清楚要从“ Grantee”列表中删除用户需要做什么。我进行了一些测试,这就是S3的行为方式:
如果您使用S3管理控制台选择文件,并使用其电子邮件地址(确保电子邮件属于有效的Amazon帐户)向新用户(尚未在受赠者列表中)添加权限,则该用户不会进入存储桶ACL,但转到对象ACL。该用户还会永久进入“受赠者”列表(即使在那里显示的是他的友好名称而不是他的电子邮件地址)。
如果您从AWS控制台注销并再次登录,则该用户仍在“受赠者”列表中,您可以授予他其他对象的权限。
如果删除给定用户对每个对象的权限,请注销并再次登录,该用户将不再显示在“受赠方”列表上。
如果您将给定用户添加到存储桶ACL(通过API或通过AWS控制台),则该用户将始终在该存储桶中的对象的“受赠者”列表中。
这使我认为“受赠者”列表包含存储桶ACL中的整个用户列表,以及对存储桶中的对象具有权限的用户缓存(如果删除了这些权限,则注销后会清除)。
因此,我将尝试首先从存储桶的ACL中删除不需要的用户,然后(当然,通过API)删除这些用户对存储桶中对象的权限。