对于使用STS创建的联邦用户,是否存在规范用户id?当使用boto时,我需要一个规范的用户id来授予bucket权限。在
下面是我的代码快速浏览:
我已经使用boto的STS模块(使用“master”帐户)成功地创建了临时凭据,这将返回给我:
然后我使用boto创建bucket:
bucket=self.s3_connection.create_bucket(“%s存储区%(应用程序id))
现在我想授予权限在boto中我有两个选择:
添加_email_grant(权限,电子邮件地址,recursive=False,headers=None)
添加\u user_grant(权限,用户标识,recursive=False,headers=None,display_name=None)
第一个方法不是一个选项,因为联邦用户没有附加电子邮件,所以我看第二个方法。这里的第二个参数(“userid”)是“与您要授予权限的AWS帐户相关联的规范用户id。”,但是我似乎找不到一种方法来为联邦用户提供这个。在
联邦用户是否存在规范的用户标识?我是否忽略了向联合用户授予权限的更简单方法?在
联系了boto的作者,得知:
获取S3Connection类的\u canonical_user_id()。在
这将为您提供与连接关联的凭据的规范用户标识。连接必须已用于某些操作(例如:列出存储桶)。在
很尴尬,但可能。在
相关问题 更多 >
编程相关推荐