- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
-
最佳实践
- FunctionGraph最佳实践汇总
-
数据处理类实践
- 使用FunctionGraph函数对OBS中的图片进行压缩
- 使用FunctionGraph函数为OBS中的图片打水印
- 使用FunctionGraph函数对DIS数据进行格式转换并存储到CloudTable
- 使用FunctionGraph函数实现通过API方式上传文件
- 使用FunctionGraph函数对IoTDA中的设备坐标数据进行转换
- 使用FunctionGraph函数对OBS中的文件进行加解密
- 使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS
- 使用FunctionGraph函数对LTS中的日志进行实时过滤
- 使用FunctionGraph函数流对OBS中的图片进行旋转
- 使用FunctionGraph函数流对图片进行压缩和打水印
- 功能应用类实践
- 函数构建类实践
- 开发指南
- API参考
- SDK参考
- 场景代码示例
-
常见问题
-
产品咨询
- 使用FunctionGraph是否需要开通计算、存储、网络等服务?
- 使用FunctionGraph开发程序之后是否需要部署?
- FunctionGraph为函数分配的磁盘空间有多少?
- 是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求?
- 函数发起HTTP请求的源地址如何获取?
- FunctionGraph是否支持对上传的zip文件进行反编译?
- FunctionGraph的函数是否支持功能扩展?
- FunctionGraph中的代码是如何隔离的?
- 函数常规信息中的“应用”如何理解?
- 用户需要为函数的冷启动时间付费吗?
- 函数计费中的调用次数,是某一账号下在不同region的所有函数的调用次数总和吗?
- Python语言的函数从V1版本迁移到V2版本时需注意哪些兼容性问题?
- FunctionGraph函数支持哪些编程语言?
- 创建函数
-
配置函数
- 能否在函数环境变量中存储敏感信息?
- FunctionGraph的函数如何读写上传的文件?
- 为函数挂载文件系统时,报“failed to mount exist system path”
- FunctionGraph如何实现域名解析?
- FunctionGraph如何通过域名访问专享版APIG中注册的接口?
- FunctionGraph函数通过域名访问APIG中注册的接口时,报域名无法解析?
- 使用定制运行时语言的函数能操作哪些目录?
- FunctionGraph的函数支持哪些中文字体?
- 能否在函数代码中使用线程和进程?
- 函数如何访问MySQL数据库?
- 函数无法通过VPC连接对应的Redis?
- 如何读取函数的请求头?
- Python语言的函数中,中文注释报乱码错误
-
调用函数
- FunctionGraph的函数执行需要多长时间?
- FunctionGraph的函数执行包含了哪些过程?
- FunctionGraph函数长时间不执行时,相关的实例会如何处理?
- 如何获取函数运行过程中的内存使用量信息?
- 为什么首次调用函数时速度会比较慢?
- 为什么函数实际使用内存大于预估内存,甚至触发内存溢出OOM?
- 函数执行失败返回“runtime memory limit exceeded”时,如何查看内存占用大小?
- 自定义镜像函数执行失败报“CrashLoopBackOff”
- 同步调用函数时,未收到调用响应的可能原因?
- 函数中os.system("command &")命令的执行日志未采集,应如何处理?
- 函数执行超时的可能原因有哪些?
- 使用APIG触发器调用一个返回String的FunctionGraph函数时,报500错误
- Python2.7在执行reload(sys)后无法通过print打印日志
- 运行函数时报错error while loading shared libraries时如何处理?
- 配置触发器
- 配置依赖包
-
产品咨询
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
配置函数的委托权限
本章节介绍如何通过函数工作流控制台,对函数的委托权限进行创建、配置和修改。
操作场景
在多数使用场景下,FunctionGraph需与其他云服务协同工作。通过创建云服务委托,授权FunctionGraph使用这些云服务,并在FunctionGraph中为函数配置委托权限。
对于常见函数应用场景的委托配置,可参考常见应用场景授权项。
默认委托
为方便您创建和使用函数,当您的华为云账号下无函数默认委托时,函数工作流服务提供快速创建默认委托的功能。
默认委托包含了函数工作流服务需要访问的部分云资源权限,如表1所示,其中相关服务的细粒度最小使用权限介绍请参见表4。
权限名称 |
描述 |
---|---|
fgs_default_region_role |
函数默认委托使用的项目级服务策略,包含虚拟私有云服务(VPC)、弹性文件服务(SFS)等的最小权限集。 |
fgs_default_global_role |
函数默认委托使用的全局服务策略,包含统一身份认证服务(IAM)和对象存储服务(OBS)的最小权限集。 |
SWR Admin |
容器镜像服务(SWR)管理员,拥有该服务下的所有权限。 |
DIS User |
数据接入服务(DIS)通道使用权限。 |
创建默认委托的3种方式:
方式一:首次登录自动弹出创建提示
- 首次登录函数工作流控制台,当函数数量为0且无默认委托,在浏览“总览”页时,系统会弹窗提示是否需要创建默认委托。
图1 弹窗提示
方式二:创建函数时单击创建
- 进入创建函数页面,在选择委托的下拉列表中提供创建默认委托的选项,单击后会弹出授权窗口,单击“确定”即可自动创建默认委托。
图2 创建函数时创建默认委托
方式三:在函数详情页单击创建
- 当创建函数时没有创建默认委托,可在函数详情页中,选择“设置 > 权限”中选择创建默认委托的选项,单击后会弹出授权窗口,用户单击“是”即可自动创建默认委托。
图3 权限中创建默认委托
已创建默认委托后,以上3种方式不会再有创建默认委托的提示。
创建委托
此处以FunctionGraph服务授予VPC访问权限为例,介绍如何为FunctionGraph服务创建委托。更多常见应用场景,可参考常见应用场景授权项进行相应的授权。
- 登录统一身份认证服务(IAM)控制台。
- 在左侧导航窗格中,选择“委托”页签,单击右上方的“创建委托”。
图4 创建委托
- 如图5所示,配置委托参数。完成参数配置后单击“完成”,系统弹出“创建成功”提示,单击“立即授权”。
- 委托名称:自定义填写,以“serverless-trust”为例。
- 委托类型:选择“云服务”。
- 云服务:选择“函数工作流 FunctionGraph”。
- 持续时间:以选择“永久”为例,实际使用时请根据业务需求填写。
- 描述(可选):填写描述信息。
配置函数委托
- 配置完成后单击“保存”。
修改委托
如需修改委托的权限、持续时间和描述参数,需要在统一身份认证服务(IAM)控制台修改委托。
FunctionGraph相关委托修改后,约10分钟生效(如context.getToken更新)。通过context获取的委托相关信息有效期24h,需要注意在失效前及时刷新。
常见应用场景授权项
在使用FunctionGraph时,如需使用表4中的场景,即需与其他服务协同工作,应先创建委托,并配置函数委托。
创建委托时,授予的权限类型应根据实际业务需要进行调整,生产环境中建议您调整为细粒度最小使用权限,以确保业务运行所需的同时,有效降低权限过大的潜在风险。
场景 |
策略名称 |
策略说明 |
细粒度最小使用权限 |
---|---|---|---|
使用自定义镜像 |
SWR Admin |
容器镜像服务(SWR)管理员,拥有该服务下的所有权限。 创建自定义镜像请参见使用容器镜像创建函数。 |
暂不支持 |
挂载SFS文件系统(仅存量用户支持) |
SFS Administrator |
弹性文件服务(SFS)管理员,拥有该服务下的所有权限。 挂载SFS文件系统请参见挂载SFS容量型文件系统(仅存量用户使用)。 |
暂不支持 |
挂载SFS Turbo文件系统 |
SFS Turbo ReadOnlyAccess |
弹性文件服务SFS Turbo的只读权限。 挂载挂载sfs turbo文件系统请参见挂载SFS Turbo文件系统。 |
|
挂载ECS共享目录 |
ECS ReadOnlyAccess |
弹性云服务器(ECS)的只读访问权限。 挂载ECS共享目录请参见挂载ECS共享目录。 |
ecs:cloudServers:get(查询云服务器详情) |
配置预留实例策略 |
AOM ReadOnlyAccess |
应用运维管理服务(AOM)的只读权限。 |
|
FunctionGraph ReadOnlyAccess |
函数工作流服务(FunctionGraph)的只读权限。 |
functiongraph:function:getConfig(查询函数配置) |
|
使用DIS触发器 |
DIS Administrator |
数据接入服务(DIS)管理员,拥有该服务下的所有权限。 创建DIS触发器请参见使用DIS触发器。 |
暂不支持 |
使用分布式消息触发器 |
DMS ReadOnlyAccess |
分布式消息服务(DMS)的只读权限。 |
dms:instance:get(查看实例详情) |
配置跨域VPC访问 |
VPC Administrator |
虚拟私有云VPC管理员, 拥有对VPC内所有资源执行任意操作的权限。 配置跨域VPC访问请参见函数访问VPC内资源。 |
|
DNS域名解析 |
DNS ReadOnlyAccess |
云解析服务(DNS)的只读权限,拥有该权限的用户仅能查看云解析服务资源。 调用DNS服务的接口解析内网域名请参见解析DNS内网域名。 |
|
开启异步通知 |
目标服务为OBS时: OBS Administrator |
对象存储服务(OBS)管理员,拥有该服务下的所有权限。 配置异步通知请参见配置函数的异步调用策略。 |
|
目标服务为SMN时: SMN Administrator |
消息通知服务(SMN)管理员,拥有该服务下的所有权限。 配置异步通知请参见配置函数的异步调用策略。 |
|
|
目标服务为DIS时: DIS Administrator |
数据接入服务(DIS)管理员,拥有该服务下的所有权限。 配置异步通知请参见配置函数的异步调用策略。 |
暂不支持 |
|
使用OBS桶 |
OBS Administrator |
对象存储服务(OBS)管理员,拥有该服务下的所有权限。 |
|