Почему региональная конечная точка AWS STS влияет при вызове шлюза API в другом регионе?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему региональная конечная точка AWS STS влияет при вызове шлюза API в другом регионе?

Сообщение Anonymous »

У меня есть простой сценарий Python, который делает запрос GET для API REST, размещенного в API API API. Чтобы разрешить этот запрос, я использую временные учетные данные, полученные, взяв на себя роль (роль, которая разрешена призывать целевой API). Тем не менее, я вижу различное поведение:
  • Если я использую eu-west-1 в качестве региона при вызове ampember_role (sts), а затем подписываю запрос на шейн API в eu-south-2 (где API размещен), запрос не удастся, и я получу следующее сообщение «Сообщение». Invalid "}
  • Если я изменяю область клиента STS на Eu-South-2 , чтобы он соответствовал области API, запрос добивается успеха.
.

Код: Выделить всё

import boto3
import requests
from aws_requests_auth.aws_auth import AWSRequestsAuth
from urllib.parse import urlparse

ROLE_ARN = "..."
SESSION_NAME = "..."
API_GATEWAY_ENDPOINT = "..."

def assume_role(role_arn, session_name, region):
sts_client = boto3.client('sts', region_name=region)
response = sts_client.assume_role(RoleArn=role_arn, RoleSessionName=session_name)
credentials = response['Credentials']
return credentials

def call_api(api_url, credentials, region):
auth = AWSRequestsAuth(aws_access_key=credentials['AccessKeyId'],
aws_secret_access_key=credentials['SecretAccessKey'],
aws_token=credentials['SessionToken'],
aws_host=urlparse(API_GATEWAY_ENDPOINT).netloc,
aws_region=region,
aws_service='execute-api')
response = requests.get(api_url, auth=auth)
print("Status Code:", response.status_code)
print("Response Body:", response.text)

def main():
creds = assume_role(ROLE_ARN, SESSION_NAME, "eu-west-1")
call_api(API_GATEWAY_ENDPOINT, creds, "eu-south-2")

if __name__ == "__main__":
main()

Любая помощь, прояснение этого поведения, будет оценена.

Подробнее здесь: https://stackoverflow.com/questions/796 ... in-a-diffe
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»