我们正在设置带有Lamba功能的api网关。设置使用aws认知授权程序。我们有用于api网关的VPC端点,因此可以通过私有IP访问。
但是认知不支持私有链接,所以我们不能为它提供VPC端点。因此,这意味着科尼托发布的令牌必须通过互联网从https://ourdomain.auth.ap-southeast-2.amazoncognito.com传递到客户端。
关于传输中的数据,科尼托文档如下:-
“过境加密
必须通过传输层安全协议(,TLS)提出所有对的请求。客户端必须支持传输层安全性(TLS) 1.0或更高版本。我们推荐TLS 1.2或更高版本。客户端还必须支持具有完美正向保密(PFS)的密码套件,例如短暂的Diffie-Hellman (DHE)或椭圆曲线、短暂的Diffie-Hellman (ECDHE)。大多数现代系统,如Java 7和更高版本,都支持这些模式。“
根据以上所述,令牌应该被加密。
但我有以下问题:
发布于 2021-12-16 06:54:05
是否为科尼图执行TLS (1.2):
很遗憾,我不会。对于大多数API调用,您可以使用API网关作为中间层,并在其中强制执行TLS1.2。但是,对于授权和令牌端点,这不起作用。或者,您可以对所有端点强制执行它,方法是向美国地区部署cognito并使用那里的FIPS端点。有关可用的fips端点,请参见identity.html。
在可以使用加密的情况下,安全最佳实践仍然要求通过VPC端点提供认知功能,这样令牌就不需要在互联网上传输:
这都取决于你的风险。对大多数组织来说,加密就足够了。但是,如果您的风险较低,您将需要额外的缓解,遵循“深度防御”的最佳实践。私有连接只是一个选项,如果您可以添加许多。例如,对用户活动的监视和适应性的MFA是其他方法。
如果客户端应用程序来自on环境并访问api,那么如果我们让它通过AWS中的代理,那么流量会保持在AWS骨干网络中还是仍然通过internet?
由于api端点是公共的,它们将通过internet (公共ip地址,因此它被路由到NAT网关或internet网关)。
编辑:在本新闻稿中,AWS声明所有端点都有TLS1.2最小值:https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/。然而,我还没有测试这是否也适用于非控制平面的API,如上面提到的那样。
https://stackoverflow.com/questions/70374591
复制相似问题