本文介绍了执行角色的相关内容,包括创建权限策略和创建执行角色。

背景信息

使用 Serverless 工作流构建应用时,您需要创建执行角色并授予相关权限。Serverless 工作流在执行流程时将扮演该角色,代表您访问云服务,例如执行函数、发送消息和执行流程。

Serverless 工作流控制台让您可以快速创建执行角色并赋予系统权限。如果您想更细粒度的控制访问权限,例如只允许流程访问某个或者某些函数计算 Function,可以参考下面的介绍。

Serverless 工作流使用访问控制 RAM(Resource Access Management)基于角色的权限管理机制。 授权的基本思想如下:策略表示访问某个服务的能力,为角色绑定指定策略,那么角色就具有了访问该服务的能力。当有第三方需要访问这个服务的时候,只需要扮演具有访问能力的角色即可。从而避免使用长期密钥,让系统变得更加安全。

创建权限策略

  1. 登录 RAM 访问控制服务控制台
  2. 在左侧导航栏的权限管理菜单下,单击权限策略管理
  3. 单击新建权限策略
  4. 输入策略名称和备注,例如 FnFExecutionRolePolicy
  5. 配置模式选择脚本配置,请参见权限策略语法和结构编辑策略内容。下表提供一些常用权限示例。
说明 Effect Action Resource
允许访问 Test1 服务下的 Func 函数 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/*

创建执行角色

  1. 登录 RAM 访问控制服务控制台
  2. 选择 RAM角色管理 > 新建RAM角色,配置以下参数:
    • 可信实体类型选择阿里云服务
    • 选择授信服务为 Serverless 工作流服务(fnf.aliyuncs.com)
    • 设置 RAM 角色为 FnFExecutionRole
  3. 添加 FnFExecutionRolePolicy 权限策略到上面创建好的角色 FnFExecutionRole 上。
  4. 复制创建好角色 ARN,以供在创建流程或者更新流程时使用。