首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为外部终端用户和内部系统保护AWS API网关

为外部终端用户和内部系统保护AWS API网关
EN

Stack Overflow用户
提问于 2019-12-10 00:51:02
回答 1查看 317关注 0票数 2

我们有一个托管在AWS API Gateway中的API。这需要得到保护,为此,我们使用AWS Cognito User Pool来访问移动客户端和web应用程序。

我们还想让内部系统(在我们的例子中是AWS Lambdas )访问API。

有人能解释为外部终端用户以及内部微服务保护API网关资源的最佳方法吗?

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-10 03:41:50

外部用户身份验证

为了确保API的安全,可以将AWS认知+ API 组合起来。

  1. 创建AWS认知池来存储和验证用户
  2. 创建API网关
  3. 将API网关与科尼图集成起来:

请转至:

AWS控制台-> API网关->选择API ->授权器->创建新授权器

然后,为需要授权的每个方法选择API ->参考资料->,您必须将其附加到方法请求中,如下所示:

当您使用移动应用程序时,最好在应用程序中实现AWS放大,以便处理AWS认知身份验证。在用户登录后,您可以为每个API调用检索一个令牌并在Authorizer中使用它,以确认用户是否已登录并可以使用该API。

内部微卫星

对于内部微服务,您可以只使用IAM角色,并授予这些角色访问权来调用您的API。然后将角色附加到EC2实例或Lambdas。

如果您想要使用上面的解决方案(授权程序头,使用认知令牌),那么在组合中,的角色将不工作直接调用API,因为它将被认知授权程序阻止。

的解决方案是,将通过IAM角色和用户API直接从内部微服务调用lambda以供外部使用。另一种选择是将2个API连接到相同的lambda,一个用于内部使用,另一个用于外部。

一种不同的方法

我认为,在您的情况下,最干净的解决方案是不使用认知授权器身份验证,而是在API中使用AWS_IAM作为授权方法,并在AWS 中创建一个组,将所有认知用户都包含到这个组中,并向该组附加一个IAM角色。通过这样做,当一个认知用户登录时,将通过附加的IAM角色获得临时访问密钥,他可以调用您的API。同时,当您在内部将此角色附加到lambda时,它们也将访问您的API。

为了实现这一方法,您可以遵循:

  1. 使用IAM权限控制对API的访问
  2. 创建认知组并分配IAM角色

一个关于Amazon网关资源策略对授权工作流的影响的有趣的网址

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

https://stackoverflow.com/questions/59263340

复制
相关文章
python中作用域与函数嵌套
实际上我们在定义函数的时候,如果省略了星号,那么在调用函数的时候必须要省略星号,除非我们拆解后的参数个数刚好相等。
刘金玉编程
2019/07/31
7530
python中函数嵌套、函数作为变量以及闭包的原理
python允许创建嵌套函数。也就是说我们可以在函数里面定义函数,而且现有的作用域和变量生存周期依旧不变。
狼啸风云
2021/03/04
5.4K0
python中函数嵌套、函数作为变量以及闭包的原理
Python嵌套函数与匿名函数
函数的嵌套调用是在"函数调用中再调用其他函数"。也就是说:函数嵌套允许在一个函数中调用另外一个函数。如下: name = "Forest" def change(): name = "Forest1" def change2(): # global name 如果声明了这句,下面的name改的是最外层的全局变层 name = "Forest2" #这句注释掉的话,则打印Forest1 print("第3层打印", name)
Yuou
2022/09/26
5160
python-函数的对象、函数嵌套、名称
内存存储变量名与变量间的绑定关系的空间(存放变量名的空间),这个空间被称为名称空间。
py3study
2020/01/15
2.5K0
python 中的嵌套类
能够看到 类中 又定义了 类 ,这种情况我们称之为嵌套类 。给一个简单 demo 来认识嵌套类 。
py3study
2020/01/10
4.2K0
python中的嵌套类
在.NET和JAVA语言中看到过嵌套类的实现,作为外部类一个局部工具还是很有用的,今天在python也看到了很不错支持一下。动态语言中很好的嵌套类的实现,应该说嵌套类解决设计问题同时简化了程序,值得学习。
py3study
2020/01/08
3.7K0
Python嵌套函数 闭包
这也很好理解,在函数outer中定义了另外一个函数inner,而inner也必须在outer中被调用才能执行。
猫叔Rex
2022/01/24
1K0
python3--嵌套函数
# Auther: Aaron Fan # 嵌套函数 # 定义: # 在一个函数体内,用def重新定义新的函数,才叫嵌套函数 # 示例1:  #属于嵌套函数 def foo():    print("in the foo")    def bar():        print("in the bar")    bar() foo() #而这种就不属于嵌套函数: #def test1(): #    test2() #test1()
py3study
2020/01/06
7720
Python函数嵌套定义的洪荒之力
本文重点在于:Python允许函数的嵌套定义,这在有些情况下会带来很多方便。 感谢中国石油大学(华东)计算机与通信工程学院李昕老师提供问题。 假设有个列表,内容如下: >>> x = list(range(20)) >>> x [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] 现在我们想得到一个新列表,其中每个值都是x中元素值加5,这很容易用Python内置函数map()实现,例如: >>> list(map(lam
Python小屋屋主
2018/04/16
1.1K0
函数的嵌套
# 输出:输出我在中国(大函数) 北京(小函数) def func_big(country): def func_small(city): print('我在%s,城市是%s' % (country, city)) func_small('北京') func_small('广州') func_big('中国') def func_big(country, bcity='北京'): def func_small(city): print
汪凡
2018/05/29
1.3K0
python基础之函数嵌套调用
  实际开发过程中,经常会遇到很多完全相同或者非常相似的操作,这时,可以将实现类似操作的代码封装为函数,然后在需要的地方调用该函数。这样不仅可以实现代码的复用,还可以使代码更有条理性,增加代码的可靠性。下面我们来介绍一下python的函数嵌套调用相关内容。
jiankang666
2022/12/05
5730
python基础之函数嵌套调用
python基础之函数嵌套定义
  实际开发过程中,经常会遇到很多完全相同或者非常相似的操作,这时,可以将实现类似操作的代码封装为函数,然后在需要的地方调用该函数。这样不仅可以实现代码的复用,还可以使代码更有条理性,增加代码的可靠性。下面我们来介绍一下python的函数嵌套定义相关内容。
jiankang666
2022/12/05
5000
python基础之函数嵌套定义
Python嵌套定义函数增强reduce()函数功能
2)functools标准库中的reduce()函数第一个参数可以是函数或lambda表达式,这个函数必须接收两个参数。
Python小屋屋主
2019/12/13
9100
Python嵌套定义函数增强reduce()函数功能
【说站】python函数嵌套调用的实现
以上就是python函数嵌套调用的实现,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/23
6080
【说站】python函数嵌套调用的实现
函数嵌套
现在有一个需求,通过给一个函数传参即可求得某个圆的面积或者圆的周长。也就是说把一堆工具丢进工具箱内,之后想要获得某个工具,直接从工具箱中获取就行了。
py3study
2020/01/16
1K0
函数嵌套
Python动态参数/命名空间/函数嵌套
  def func(*args, **kwargs):     pass
py3study
2020/01/15
8530
lambda隐藏函数的嵌套
# 隐藏函数嵌套 f = (lambda a,b :a if a>b else b)(1000, 2000008) print((lambda a,g:a if a > g else g)(2000,f)) # lambda 推导式 l = [lambda x:x**i for i in range(4)] print(l[1](4))
汪凡
2018/05/29
1.1K0
零基础学习 Python 之嵌套函数
我在几天以前的文章中(零基础学习 Python 之函数对象)说过,函数不单单可以作为对象来传递,还可以在一个函数里面嵌套一个函数,这个就是我们今天要讲的嵌套函数。
编程文青李狗蛋
2019/11/07
3230
python 函数嵌套和nonlocal关键字
与global关键字有点相似,可以对比着理解。nonlocal关键字只能作用域局部变量,且始终找离当前最近的上层局部作用域中的变量。看栗子:
全栈程序员站长
2022/10/04
4340
Python学习(一)函数定义、使用与嵌套
本文介绍了Python中函数定义、使用和嵌套,以及Python中self和init的含义和作用。
码科智能
2018/01/02
1.3K0

相似问题

Google API快速入门

135

Google Analytics API Python快速入门

117

Google Calendar API for iOS Swift

13

PHP Google Sheets API快速入门问题

112

Google Calendar API location swift iOS

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档