Boto3 принимает роль с учетными данными пользователя IAM

0

Вопрос

Как можно взять на себя роль IAM, используя учетные данные пользователя IAM?

import boto3

sts_client = boto3.client(
      'sts',
      aws_access_key_id=ACCESS_KEY,
      aws_secret_access_key=SECRET_KEY,
    )
)

sts_client.assume_role(RoleArn=some-role, RoleSessionName='boto3_client')

Приведенный выше код по какой-то причине производит:

An error occurred (InvalidClientTokenId) when calling the AssumeRole operation: The security token included in the request is invalid.

Я проверил aws_access_key_id и aws_secret_access_key с помощью aws sts assume-role и я действительно могу взять на себя эту роль, используя интерфейс командной строки. Что я делаю не так?

Если это имеет какое-либо значение, пользователь IAM находится в китайском разделе AWS.

amazon-web-services aws-sdk boto3
2021-11-12 14:28:24
1

Лучший ответ

1

Установка AWS_DEFAULT_REGION (даже не AWS_REGION) переменная окружения исправляет это.

AWS_DEFAULT_REGION нигде не упоминается в документации boto3. И оказывается, вы можете передать регион в boto3.client() с region_name аргумент. Странное имя (aws_region было бы более последовательным выбором), и это также не упоминается в документе. Я надеюсь, что когда-нибудь это кому-нибудь поможет.

2021-11-13 10:27:27

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................