入门篇:函数计算中角色和访问策略的讲解-阿里云开发者社区

开发者社区> 阿里云Serverless Compute> 正文

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

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

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

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

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

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

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

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

功能图解:

6179f47e1955c9665466078fbf300410d3cca5b1

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

1a4f4f45aa0d7a98b042ddced67493ae2c14fbbd

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

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

e17a95f5fd1f11f113042f5625b8bd376f3c2d22

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

58bb5a6eb0191d4b92f6f6cbc4583ab63790b269

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

框图图解:

107b31b896c3e783a4982c0755b49861a52e4067

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

5f2e0ed03716baf980faab9e999516ba2e9715b3

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

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

38c65971c22e6ebf38e47a7d69e6c635413fbfcb

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
阿里云Serverless Compute
使用钉钉扫一扫加入圈子
+ 订阅

Serverless微服务应用实践分享

官方博客
函数计算官网