首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对特定用户的IP地址限制- AWS / Cognito / IAM / API网关

问针对特定用户的IP地址限制- AWS / Cognito / IAM / API网关
EN

Stack Overflow用户
提问于 2018-04-20 13:19:24
回答 1查看 4.1K关注 0票数 2

我正在使用application和Lambda构建一个无服务器的web应用程序,该应用程序将对注册用户的API调用限制在认知和IAM。我们有个人/企业用户,希望为特定的企业用户设置额外的访问限制。

所以有如下所示的用户组。

  • 个人用户可以从任何地方访问
  • A公司用户只能从网络A访问
  • B公司用户只能从B网络访问
  • 公司C用户可以从任何地方访问

控制这种访问限制的有效方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-20 14:15:05

有几种方法可以做到这一点。

方法1

一种方法是为每个用户创建具有IP限制的多个IAM策略,并允许他们使用AWS认知联邦身份并在API网关上使用IAM授权器。您可以将公司设置为属性,并在认知联邦标识中创建一个规则,映射IAM策略。例如,检查以下IAM策略。

代码语言:javascript
复制
{
  "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信息访问报头。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49942609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档