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

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

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

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

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

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

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

功能图解:

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

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

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

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

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

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

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

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

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

框图图解:

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

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

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

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

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

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

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

上一篇:UVA11419 SAM I AM 我是 SAM


下一篇:keepalive 双主配置