我有一个 Python 微服务,希望将其连接到 AWS API Gateway。问题在于我已经研究了许多确保安全的方法,但并没有得出结论。我发现一个网站说我应该使用 SSL 证书,以仅允许来自 API Gateway 的请求。
可以有人告诉我在客户端、API Gateway 和 API 之间进行身份验证的最佳实践是什么吗?
可以有人告诉我在客户端、API Gateway 和 API 之间进行身份验证的最佳实践是什么吗?
客户端和API网关之间有很多种身份验证方式,没有“最佳”方式。
要在API网关和后端服务器之间进行身份验证,您可以使用SSL身份验证,如此处所述:http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html
在API网关中实现身份验证有几种方法。不同的方法适用于不同的目的和期望实现的安全级别。
对于大多数情况,您可以编写自定义授权者lambda进行身份验证。借助JWT,您可以为API创建一个相当安全的身份验证。如果使用IAM身份验证,API Gateway直接支持它。唯一的限制是需要使用AWS SDK调用API以方便操作。由于API网关默认使用SSL,因此数据传输已经加密。
如果您有非常特定的安全要求,则可以使用SSL证书。这通常是在SOA场景中的服务编排中在API之间通信时首选。