使用STS创建的联合用户是否存在规范用户ID?使用boto时,我需要一个规范的用户ID来授予存储桶权限。
以下是我的代码快速浏览:
我使用boto的STS模块(使用“主”帐户)成功创建了临时凭证,这让我回来了:
然后我使用boto:
创建存储桶bucket = self.s3_connection.create_bucket('%s_store'%(app_id))
现在,我想在boto中为两个选项授予权限:
add_email_grant(permission,email_address,recursive = False,headers = None)
add_user_grant(permission,user_id,recursive = False,headers = None,display_name = None)
第一种方法不是一个选项,因为没有连接到联合用户的电子邮件,所以我看第二种方法。这里的第二个参数(“userid”)是“与您正在授予权限的AWS账户关联的规范用户ID。”但我似乎无法找到一种方法来这适用于联邦用户。
联合用户是否仍然存在规范用户ID?我是否忽略了向联盟用户授予权限的更简单方法?
答案 0 :(得分:1)
与boto的作者联系并了解到:
用于S3Connection类的get_canonical_user_id()。
这将为您提供与连接关联的凭据的规范用户ID。连接必须用于某些操作(例如:列出存储桶)。
非常尴尬,但可能。