`
骑猪逛街666
  • 浏览: 130193 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

入门篇:函数计算中角色和访问策略的讲解

 
阅读更多

阅读原文请点击

摘要: 在函数计算中角色授权中,在服务层的角色授权是赋予函数去访问其他云产品的权限,在触发器的角色授权是授权给事件源可以调用函数计算做运算。

阿里云函数计算是近期推出的一个无服务器的全托管的产品,使用者只需编写核心代码并设置运行的条件,即可在函数计算以弹性、安全地运行。函数计算能自行维护服务器资源,网络资源,以及消息分发和负载均衡等功能。

因为使用者需要把代码部署在函数计算上运行,能调用函数的方式有很多,可以通过APIGateway、Fcli、控制台以及OSS等各种事件源来触发函数执行,与此同时,函数计算作为执行单元需要授权交叉访问其他产品,众多的调用和模糊的安全界定,让大家在使用函数计算对角色的授权会感到困惑,其实简单来说,就是函数计算能在什么情况下访问哪些资源或者操作,以及那些来源能Invoke函数计算的执行,简单按照使用方向来分如下两层角色授权:

1、函数计算可以被授权访问其他产品的操作权限?

2、那些事件源可以被授权来Invoke函数计算的执行?

这个是两个层面的授权,函数计算通过两层授权来解决上面两个问题,第一个问题是Service的角色授权,第二个是Trigger角色的授权,其中:

Service层的角色授权:是解决函数计算可以申请访问那些产品,在函数计算里,执行策略是赋予函数计算本身,角色设置在service这层,service下的函数都继承该角色的执行策略。

功能图解:

107b31b896c3e783a4982c0755b49861a52e4067

授权给函数计算访问其他云产品的流程

1a4f4f45aa0d7a98b042ddced67493ae2c14fbbd

解释:在service上的角色的策略主要是授权给Service能去访问(read、delete、write等)其他云产品的权限,例如产品OSS、OTS、SLS等,注意的是,为了防止访问策略超出边界,

在函数计算控制台上,关于Service层的权限,仅仅列出ReadOnly的权限,控制台如下图:

e17a95f5fd1f11f113042f5625b8bd376f3c2d22

如果想申请更多权限,可以在访问控制中对该角色进行授权,详见访问控制的角色管理,下图是使用RAM(访问控制)设置其他权限的图示:

58bb5a6eb0191d4b92f6f6cbc4583ab63790b269

Trigger的角色授权:是解决授权给某个产品的事件源可以invoke函数计算来执行代码, 授权的粒度是到产品,例如授权给OSSOSS的多个事件源(Putdeletecopy等都可以invoke函数运行)

框图图解:

107b31b896c3e783a4982c0755b49861a52e4067

授权事件源来触发函数计算流程:

5f2e0ed03716baf980faab9e999516ba2e9715b3

解释:当用户建立一个trigger的时候,需要配置事件内容,在配置事件源的时候,需要配置一个角色,当事件源被触发的时候,使用该角色来执行函数,角色的授权是事件源产品本身,跟产品的事件无关。

 

在控制台上操作界面如下(新版界面会不一样):

38c65971c22e6ebf38e47a7d69e6c635413fbfcb

综合上面两部分角色授权来看,简单的说,在函数计算中,服务层的角色授权是赋予函数去访问其他云产品的权限,在触发器的角色授权是授权给事件源可以调用函数计算做运算。

阅读原文请点击

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics