天天看點

入門篇:函數計算中角色和通路政策的講解

阿裡雲函數計算是近期推出的一個無伺服器的全托管的産品,使用者隻需編寫核心代碼并設定運作的條件,即可在函數計算以彈性、安全地運作。函數計算能自行維護伺服器資源,網絡資源,以及消息分發和負載均衡等功能。

因為使用者需要把代碼部署在函數計算上運作,能調用函數的方式有很多,可以通過apigateway、fcli、控制台以及oss等各種事件源來觸發函數執行,與此同時,函數計算作為執行單元需要授權交叉通路其他産品,衆多的調用和模糊的安全界定,讓大家在使用函數計算對角色的授權會感到困惑,其實簡單來說,就是函數計算能在什麼情況下通路哪些資源或者操作,以及那些來源能invoke函數計算的執行,簡單按照使用方向來分如下兩層角色授權:

1、函數計算可以被授權通路其他産品的操作權限?

2、那些事件源可以被授權來invoke函數計算的執行?

這個是兩個層面的授權,函數計算通過兩層授權來解決上面兩個問題,第一個問題是service的角色授權,第二個是trigger角色的授權,其中:

<b>service</b><b>層的角色授權:</b>是解決函數計算可以申請通路那些産品,在函數計算裡,執行政策是賦予函數計算本身,角色設定在service這層,service下的函數都繼承該角色的執行政策。

功能圖解:

入門篇:函數計算中角色和通路政策的講解

<b>授權給函數計算通路其他雲産品的流程:</b>

<b></b>

入門篇:函數計算中角色和通路政策的講解

解釋:在service上的角色的政策主要是授權給service能去通路(read、delete、write等)其他雲産品的權限,例如産品oss、ots、sls等,注意的是,為了防止通路政策超出邊界,

在函數計算控制台上,關于service層的權限,僅僅列出readonly的權限,控制台如下圖:<b></b>

入門篇:函數計算中角色和通路政策的講解
入門篇:函數計算中角色和通路政策的講解

<b>trigger的角色授權:</b>是解決授權給某個産品的事件源可以invoke函數計算來執行代碼, 授權的粒度是到産品,例如授權給oss,oss的多個事件源(put,delete,copy等都可以invoke函數運作)

框圖圖解:

入門篇:函數計算中角色和通路政策的講解

授權事件源來觸發函數計算流程:

入門篇:函數計算中角色和通路政策的講解

解釋:當使用者建立一個trigger的時候,需要配置事件内容,在配置事件源的時候,需要配置一個角色,當事件源被觸發的時候,使用該角色來執行函數,角色的授權是事件源産品本身,跟産品的事件無關。

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

入門篇:函數計算中角色和通路政策的講解

綜合上面兩部分角色授權來看,簡單的說,在函數計算中,服務層的角色授權是賦予函數去通路其他雲産品的權限,在觸發器的角色授權是授權給事件源可以調用函數計算做運算。

繼續閱讀