本文介绍了执行角色的相关内容,包括创建权限策略和创建执行角色。
背景信息
使用Serverless工作流构建应用时,您需要创建执行角色并授予相关权限。Serverless工作流在执行流程时将扮演该角色,代表您访问云服务,例如执行函数、发送消息和执行流程。
Serverless工作流控制台让您可以快速创建执行角色并赋予系统权限。如果您想更细粒度的控制访问权限,例如只允许流程访问某个或者某些函数计算Function,可以参考下面的介绍。
Serverless工作流使用访问控制RAM(Resource Access Management)基于角色的权限管理机制。授权的基本思想如下:策略表示访问某个服务的能力,为角色绑定指定策略,那么角色就具有了访问该服务的能力。当有第三方需要访问这个服务的时候,只需要扮演具有访问能力的角色即可。从而避免使用长期密钥,让系统变得更加安全。
创建权限策略
- 登录RAM访问控制服务控制台。
- 在左侧导航栏的权限管理菜单下,单击权限策略管理。
- 单击创建权限策略。
- 输入策略名称和备注,例如FnFExecutionRolePolicy。
- 配置模式选择脚本配置,请参见权限策略语法和结构编辑策略内容。下表提供一些常用权限示例。
说明 | 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/* |