授予事件源访问函数计算的权限

当您需通过事件源如对象存储OSS触发函数执行时,可授予该事件源触发函数的权限,该权限是触发器级别的,每个触发器的角色均可以被授予相应权限,该角色也可以同时被授予不同触发器。本文以授予OSS访问函数计算的权限为例,介绍授予事件源访问函数计算权限的应用场景和操作步骤。

应用场景

以OSS事件源触发函数计算代码执行为例,当存在一个OSS Bucket A和函数B,需要将此Bucket A的上传文件事件触发函数计算的函数B时,您需要创建一个OSS触发器并授予相应权限策略。访问控制提供系统授权策略AliyunOSSEventNotificationRolePolicy,该策略具有OSS事件源触发函数计算代码执行的权限。在创建触发器时,您可以为触发器绑定一个角色,既可以新建一个新角色也可以使用已有角色。然后将策略AliyunOSSEventNotificationRolePolicy绑定到该角色内,成功绑定该策略后OSS事件源就可以触发函数计算代码执行。

image

操作步骤

  1. 登录函数计算控制台,在左侧导航栏,单击服务及函数
  2. 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
  3. 函数管理页面,单击目标函数名称,然后在函数详情页面,单击触发器管理页签。
  4. 在函数详情页面,单击创建触发器,在创建触发器面板,填写相关信息,然后单击确定

    说明

    其他类型的触发器的权限配置过程基本一致,按需选择相应的服务类型即可。HTTP触发器事件源在您创建HTTP函数时已成功创建。

    配置项

    操作

    本文示例

    触发器类型

    选择对象存储 OSS

    对象存储 OSS

    名称

    填写自定义的触发器名称。

    oss-trigger

    版本或别名

    默认值为LATEST,如果您需要创建其他版本或别名的触发器,需先在函数详情页的版本或别名下拉列表选择该版本。关于版本和别名的简介,请参见管理版本管理别名

    LATEST

    Bucket 名称

    选择已创建的OSS Bucket。

    testbucket

    文件前缀

    输入要匹配的文件名称的前缀。建议您配置文件前缀和后缀,避免触发事件嵌套循环触发引起额外费用。此外,一个Bucket的不同触发器如果指定了相同的事件类型,则前缀和后缀不能重复。详细信息,请参见原生OSS触发器触发规则

    重要

    文件前缀不能以/开头,否则会导致OSS触发器无法被触发。

    source

    文件后缀

    输入要匹配的文件名称的后缀。强烈建议您配置前缀和后缀,避免触发事件嵌套循环触发引起额外费用。另外,一个Bucket的不同触发器如果指定了相同的事件类型,则前缀和后缀不能重复。详细信息,请参见原生OSS触发器触发规则

    png

    触发事件

    选择一个或多个触发事件。关于对象存储OSS的事件类型,请参见OSS事件定义

    本示例选择oss:ObjectCreated:PutObject

    oss:ObjectCreated:PutObject

    角色名称

    选择AliyunOSSEventNotificationRole

    说明

    如果您第一次创建该类型的触发器,则需要在单击确定后,在弹出的对话框中选择立即授权

    AliyunOSSEventNotificationRole