AWS Federated Users是否存在AWS Canonical UserID(临时安全凭证)?

时间:2011-11-07 03:57:54

标签: python amazon-s3 amazon-web-services boto amazon-iam

使用STS创建的联合用户是否存在规范用户ID?使用boto时,我需要一个规范的用户ID来授予存储桶权限。

以下是我的代码快速浏览:

  1. 我使用boto的STS模块(使用“主”帐户)成功创建了临时凭证,这让我回来了:

    • federated_user_arn
    • federated_user_id
    • packed_policy_size
    • access_key
    • SECRET_KEY
    • session_token
    • 期满
  2. 然后我使用boto:

    创建存储桶

    bucket = self.s3_connection.create_bucket('%s_store'%(app_id))

  3. 现在,我想在boto中为两个选项授予权限:

    add_email_grant(permission,email_address,recursive = False,headers = None)

    add_user_grant(permission,user_id,recursive = False,headers = None,display_name = None)

  4. 第一种方法不是一个选项,因为没有连接到联合用户的电子邮件,所以我看第二种方法。这里的第二个参数(“userid”)是“与您正在授予权限的AWS账户关联的规范用户ID。”但我似乎无法找到一种方法来这适用于联邦用户。

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

1 个答案:

答案 0 :(得分:1)

与boto的作者联系并了解到:

用于S3Connection类的get_canonical_user_id()。

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

非常尴尬,但可能。