使用Python中的IAM角色访问AWS API Gateway

blu*_*Cat 8 python amazon-iam aws-api-gateway

我有一个AWS API网关,我想使用IAM角色来保护它.

我正在寻找一个包来帮助我使用Python访问它.我试图避免实施整个版本4签名过程.我相信必须有一些我可以使用的库.

我查看了aws-requests-auth 但它需要一个"aws_service"来生成签名.我也看了boto3,但我无法找到任何方法只是将身份验证标头添加到一般请求.

Ka *_*ong 17

您可以使用aws-requests-auth为您的API网关请求生成签名,并使用execute-api作为服务名称.

import requests
from aws_requests_auth.aws_auth import AWSRequestsAuth

auth = AWSRequestsAuth(aws_access_key='YOURKEY',
                       aws_secret_access_key='YOURSECRET',
                       aws_host='restapiid.execute-api.us-east-1.amazonaws.com',
                       aws_region='us-east-1',
                       aws_service='execute-api')

headers = {'params': 'ABC'}
response = requests.get('https://restapiid.execute-api.us-east-1.amazonaws.com/stage/resource_path',
                        auth=auth, headers=headers)
Run Code Online (Sandbox Code Playgroud)

  • 通常,您在哪里可以找到“ execute-api”是正确的服务名称? (3认同)