Python 在API中公开AWS而不提供密钥的正确方法是什么?

Python 在API中公开AWS而不提供密钥的正确方法是什么?,python,amazon-web-services,amazon-sqs,Python,Amazon Web Services,Amazon Sqs,对不起,标题太难看了 我正在构建一个Python API。它的一部分涉及到向AmazonSQS发送和接收数据,以便与EC2实例上的某些东西进行通信。不过,我不想分发包含amazon密钥的API 解决这样的问题的正确方法是什么?我是否必须使用自己的身份验证在SQS前面编写一个单独的层,或者是否有方法向amazon密钥添加权限,以便用户只向SQS发送和接收消息,但无法创建其他队列或访问任何其他web服务?这取决于您的身份要求。如果您的客户可以拥有AWS帐户,您可以授予他们的帐户向您的队列发送消息的权

对不起,标题太难看了

我正在构建一个Python API。它的一部分涉及到向AmazonSQS发送和接收数据,以便与EC2实例上的某些东西进行通信。不过,我不想分发包含amazon密钥的API


解决这样的问题的正确方法是什么?我是否必须使用自己的身份验证在SQS前面编写一个单独的层,或者是否有方法向amazon密钥添加权限,以便用户只向SQS发送和接收消息,但无法创建其他队列或访问任何其他web服务?

这取决于您的身份要求。如果您的客户可以拥有AWS帐户,您可以授予他们的帐户向您的队列发送消息的权限。如果您想要自己的身份,那么是的,您需要在AWS前面构建一个服务层来代理API请求

是的,IAM(身份和访问管理)允许您创建只能发送和/或接收SQS消息的凭据。考虑在身份验证和授权客户端之后使用STS(AWS安全令牌服务)分发临时IAM证书。您还可以分发允许访问的永久IAM凭据,但在我看来,您可能会滥用您的AWS帐户。Eric Hammond-为什么不将您的评论作为答案?它是完整的,这样这个问题就不会再显示为没有答案了。