2011-11-07 139 views
2

是否存在使用STS创建的联合用户的规范用户标识?当使用boto时,我需要一个规范的用户标识来授予对存储桶的权限。AWS联合用户是否存在AWS Canonical UserID(临时安全证书)?

这里是通过我的代码快速浏览:

  1. 我使用博托的STS模块(使用“主”账户)成功创建临时证书,这一点让我回:

    • federated_user_arn
    • federated_user_id
    • packed_policy_size
    • access_key
    • SECRET_KEY
    • session_token
    • 期满
  2. 然后,我使用博托创建铲斗:

    桶= self.s3_connection.create_bucket( '%s_store' %(APP_ID) )

  3. 现在我想授予我在boto有两个选择的权限:

    add_email_grant(许可,EMAIL_ADDRESS,递归=假,标头=无)

    add_user_grant(许可,USER_ID,递归=假,标头=无,DISPLAY_NAME =无)

第一种方法不是一种选择,因为没有附加到联邦用户的电子邮件,所以我看第二个。这里的第二个参数(“userid”)应为“与您授予许可权的AWS账户相关联的规范用户标识。”但我似乎无法找到联合用户的这种方式。

联邦用户是否还存在规范的用户ID?我是否忽略了向联合用户授予权限的更简单方法?

回答

1

联系了宝途的作者和教训:

get_canonical_user_id()为S3Connection类。

这将为您提供与连接关联的凭证的规范用户标识。该连接必须用于某些操作(例如列出存储桶)。

非常尴尬,但可能。