Warum wirkt sich der regionale Endpunkt von AWS ST aus, wenn Sie ein API -Gateway in einer anderen Region aufrufen?Python

Python-Programme
Anonymous
 Warum wirkt sich der regionale Endpunkt von AWS ST aus, wenn Sie ein API -Gateway in einer anderen Region aufrufen?

Post by Anonymous »

Ich habe ein einfaches Python -Skript, das eine Get -Anfrage an eine REST -API stellt, die in AWS API Gateway gehostet wird. Um die Anfrage zu genehmigen, verwende ich die temporären Anmeldeinformationen, die durch die Übernahme einer Rolle (eine Rolle, die die Ziel -API aufrufen darf). Ich sehe jedoch ein anderes Verhalten:

[*] Wenn ich EU-west-1 als Region verwende, wenn ich Assume_ROLE (sts) verwende, und dann die Anfrage für API-Gateway in EU-South-2 (wobei die API die Anforderung für API-Gateway unterschreibt, fehlschlägt die Anforderung. Ungültige "}

Wenn ich die STS-Client-Region in EU-South-2 ändere, so dass es mit der API-Region übereinstimmt, erfolgreich.

Code: Select all

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()

Jede Hilfe würde die Klärung dieses Verhaltens gewürdigt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post