2011-11-07 138 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類。

這將爲您提供與連接關聯的憑證的規範用戶標識。該連接必須用於某些操作(例如列出存儲桶)。

非常尷尬,但可能。