Boto3 przyjmuje rolę z poświadczeniami użytkownika IAM

0

Pytanie

Jak można wziąć na siebie rolę IAM, przy użyciu poświadczeń użytkownika 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')

Powyższy kod z jakiegoś powodu produkuje:

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

Sprawdziłem aws_access_key_id i aws_secret_access_key z pomocą aws sts assume-role i naprawdę mogę wziąć na siebie tę rolę, przy użyciu interfejsu wiersza polecenia. Co robię nie tak?

Jeśli to ma jakieś znaczenie, użytkownik IAM znajduje się w chińskiej części AWS.

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

Najlepsza odpowiedź

1

Instalacja AWS_DEFAULT_REGION (nawet nie AWS_REGION) zmienna środowiskowa naprawia to.

AWS_DEFAULT_REGION nigdzie nie jest wspomniane w dokumentacji boto3. I okazuje się, że można przekazać region, w boto3.client() z region_name argument. Dziwne imię (aws_region byłoby bardziej spójne wyborem), i to również nie jest wymieniona w dokumencie. Mam nadzieję, że kiedyś się to komuś pomoże.

2021-11-13 10:27:27

W innych językach

Ta strona jest w innych językach

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