Существуют ли идентификаторы AWS Canonical UserID для федеративных пользователей AWS (временные учетные данные)? - PullRequest
2 голосов
/ 07 ноября 2011

Существует ли канонический идентификатор пользователя для федеративного пользователя, созданного с помощью STS? При использовании boto мне нужен канонический идентификатор пользователя для предоставления прав на ведро.

Вот краткий обзор моего кода:

  1. Я успешно создал временные учетные данные, используя модуль STS boto (используя «основную» учетную запись), и это возвращает меня:

    • federated_user_arn
    • federated_user_id
    • packed_policy_size
    • access_key
    • secret_key
    • session_token
    • 1024 * истечение *
  2. Затем я создаю корзину, используя boto:

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

  3. Теперь я хочу предоставить разрешения, у меня есть два варианта в boto:

    add_email_grant (разрешение, адрес электронной почты, рекурсивный = False, заголовки = нет)

    add_user_grant (разрешение, user_id, рекурсивный = False, заголовки = нет, display_name = None)

Первый метод не подходит, так как к федеративному пользователю не прикреплено электронное письмо, поэтому я смотрю на второй. Здесь второй параметр («идентификатор пользователя») должен быть «Канонический идентификатор пользователя, связанный с учетной записью AWS, на которую вы предоставляете разрешение.» Но я не могу найти способ прийти с этим для федеративного пользователя.

Существуют ли канонические идентификаторы пользователей для федеративных пользователей? Я пропускаю более простой способ предоставления разрешений федеративным пользователям?

1 Ответ

1 голос
/ 10 ноября 2011

Связался с автором boto и узнал о:

get_canonical_user_id () для класса S3Connection.

Это даст вам канонический идентификатор пользователя для учетных данных, связанных с соединением. Соединение должно было использоваться для какой-либо операции (например, перечисление сегментов).

Очень неловко, но возможно.

...