我正在使用application和Lambda构建一个无服务器的web应用程序,该应用程序将对注册用户的API调用限制在认知和IAM。我们有个人/企业用户,希望为特定的企业用户设置额外的访问限制。
所以有如下所示的用户组。
控制这种访问限制的有效方法是什么?
发布于 2018-04-20 14:15:05
有几种方法可以做到这一点。
方法1
一种方法是为每个用户创建具有IP限制的多个IAM策略,并允许他们使用AWS认知联邦身份并在API网关上使用IAM授权器。您可以将公司设置为属性,并在认知联邦标识中创建一个规则,映射IAM策略。例如,检查以下IAM策略。
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "*",
"Resource": "*",
"Condition": {"NotIpAddress": {"aws:SourceIp": [
"192.0.2.0/24",
"203.0.113.0/24"
]}}
}
}注意:您需要使用IAM策略授予对API网关端点的访问权限。
方法2
另一种方法是为每个公司保留多个用户池,并与具有IP filtering.At API网关的IAM策略链接的不同的认知联盟身份池链接,您可以类似地使用IAM授权器。
方法3
另一种方法是使用AWS自定义授权器,并在查看科尼图ID令牌并与公司匹配后,基于IPAddress过滤传入请求的请求(如果公司作为属性存储在UserPool中)。
注意:您需要使用增强请求授权器来使用IP信息访问报头。
https://stackoverflow.com/questions/49942609
复制相似问题