为了更高效地管理函数计算FC的资源,您可以使用资源组对资源进行分组管理。资源组使您能够根据部门、项目、环境等维度对资源进行分组,并结合访问控制RAM,在单个阿里云账号内实现资源的隔离和精细化权限管理。
应用场景
某企业的阿里云主账号创建了多个函数,需要按业务分组将不同的函数授权给不同的团队,企业希望每个团队只能查看和管理被授权的函数,未被授权的函数不允许查看和管理。
例如:
开发团队:只能管理开发环境相关的函数
运维团队:只能管理生产环境相关的函数
方案优势
使用资源组进行函数分组授权具有以下优势:
简化权限管理:通过资源组统一管理多个函数的权限,避免逐个函数授权的复杂性。
清晰的资源划分:资源组提供了直观的资源分组视图,便于管理和维护。
灵活的权限控制:支持基于资源组的细粒度权限控制。
安全隔离:不同团队只能访问各自被授权的资源组,实现资源隔离。
使用说明
一个资源组可以包含不同地域的资源。
创建资源时如果未传入资源组信息,该资源会被归至默认资源组中。
函数的子资源,如别名、触发器、异步配置等会继承函数的权限控制规则。
RAM用户必须在控制台中选择正确的资源组,才能查看和管理对应的函数。
确保RAM用户操作时选择的地域与资源组内函数所在地域一致。
操作步骤
以下将提供一个完整示例,演示如何为开发团队创建资源组并授权,使其只能查看和管理指定的函数。
步骤一:创建RAM用户和用户组
使用阿里云主账号完成以下操作:
登录RAM控制台创建RAM用户,如developer。
具体操作,请参见创建RAM用户。
创建RAM用户组,如developer,并将已创建的RAM用户添加到RAM用户组developer下。
具体操作,请参见创建RAM用户组和为RAM用户组添加RAM用户。
RAM用户会继承其所属用户组的所有权限。
步骤二:创建资源组
步骤三:将函数加入资源组
您可以在创建函数的同时,将其加入资源组,详见创建函数。如果是已有函数,参见以下步骤将函数接入目标资源组。
登录函数计算控制台,在左侧导航栏,选择 。
在顶部菜单栏,选择地域,然后在函数列表页面,单击目标函数。
在函数详情页,选择配置页签,在下方找到
,然后单击资源组右侧的图标。
在弹出的修改资源组对话框,选择资源组为步骤二创建的资源组,然后单击确认。
您也可以通过资源管理-资源组控制台将函数加入资源组,详见管理资源组中的资源。
步骤四:为RAM用户组绑定资源组
步骤五:结果验证
RAM用户登录函数计算控制台,在左侧导航栏,选择 。
关于使用RAM用户登录控制台的操作步骤,请参见RAM用户登录阿里云控制台。
在顶部菜单栏,选择与步骤三的函数相同的地域,然后选择目标资源组dev。
仅当RAM用户选择了对应资源组后,才能看到资源组内的函数,否则,函数列表为空。
在函数列表中,查看和管理已选择资源组内的函数。尝试切换到其他资源组,验证是否无法查看未授权的函数。
更多授权配置
创建自定义权限策略
为了遵循最小化授权原则以及满足日常使用函数计算所需的层功能、自定义域名等更细粒度的权限,建议通过创建自定义权限策略为RAM用户授权。
使用阿里云主账号登录RAM控制台,创建自定义权限策略,如FCPolicyForDevelopers,策略内容如下。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:Get*", "log:List*", "log:Query*", "log:CreateProject", "log:CreateLogStore", "log:CreateIndex" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "fc:GetLayerVersionByArn", "fc:ListLayers", "fc:PutLayerACL", "fc:ListLayerVersions", "fc:CreateLayerVersion", "fc:DeleteLayerVersion", "fc:GetLayerVersion" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "fc:ListCustomDomains", "fc:GetCustomDomain", "fc:DeleteCustomDomain", "fc:UpdateCustomDomain", "fc:CreateCustomDomain" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ram:ListRoles", "Resource": "*" } ] }
为步骤一创建的RAM用户组developer,授予自定义权限策略FCPolicyForDevelopers。
关于为用户组授权的具体操作,请参见为RAM用户组授权。
额外产品权限
如果您的函数需要使用其他阿里云产品,还需要添加对应产品的相关权限,例如管理日志服务SLS的系统策略AliyunLogFullAccess、管理对象存储的系统策略AliyunOSSFullAccess和管理文件存储NAS的系统策略AliyunNASFullAccess等。
更多信息,请参见权限策略及示例。