本文介绍了执行角色的相关内容,包括创建权限策略和创建执行角色。
背景信息
使用Serverless 工作流构建应用时,您需要创建执行角色并授予相关权限。Serverless 工作流在执行流程时将扮演该角色,代表您访问云服务,例如执行函数、发送消息和执行流程。
Serverless 工作流控制台让您可以快速创建执行角色并赋予系统权限。如果您想更细粒度的控制访问权限,例如只允许流程访问函数计算的某个或者某些函数,可以参考下面的介绍。
Serverless 工作流使用访问控制RAM(Resource Access Management)基于角色的权限管理机制。授权的基本原理如下:策略表示访问某个服务的能力,为角色绑定指定策略,那么角色就具有了访问该服务的能力。当有第三方需要访问这个服务的时候,只需要扮演具有访问能力的角色即可。从而避免使用长期密钥,让系统变得更加安全。
创建权限策略
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择。
在权限策略页面,单击创建权限策略。
在创建权限策略页面,单击脚本编辑页签。
输入权限策略内容,然后单击下一步:编辑基本信息。
关于权限策略语法结构的详情,请参见权限策略语法和结构。下表提供一些常用权限示例。
说明
Effect
Action
Resource
允许访问Test1服务下的Function函数
Allow
fc:InvokeFunction
acs:fc:::services/Test1/functions/Func1
允许访问Test2服务下的所有函数
Allow
fc:InvokeFunction
acs:fc:::services/Test2/functions/*
允许访问以Public开始的服务下的所有函数
Allow
fc:InvokeFunction
acs:fc:::services/Public*/functions/*
允许向Test1队列发送消息
Allow
mns:SendMessage
acs:mns:*:*:/queues/Test1/messages
允许执行流程Test1
Allow
fnf:StartExecution
acs:fnf:::flows/Test1/executions/*
在创建权限策略对话框,输入策略名称和备注,然后单击确定。
创建执行角色
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择。
在角色页面,单击创建角色。
在创建角色面板的各页签,配置以下参数,然后单击完成。
当前可信实体类型选择阿里云服务。
设置角色类型为普通服务角色。
设置角色名称为FnFExecutionRole。
选择受信服务为函数工作流。
添加上面创建的权限策略到角色FnFExecutionRole。
具体操作步骤,请参见管理RAM角色的权限。
单击已创建的角色,在基本信息区域复制角色ARN,以便在创建流程或者更新流程时使用。