函数计算权限管理通过天翼云的访问控制IAM实现。使用访问控制IAM可以让您避免与其他用户共享云账号密钥,即AccessKey(包含AccessKey ID和AccessKey Secret),按需为IAM用户分配最小权限。本文介绍函数计算的权限策略,包括系统策略、自定义策略及自定义策略示例。
策略类型
在访问控制中,权限策略是用语法和结构描述的一组权限的集合,可以精确地描述被授权的Resource(资源集)、Action(操作集)以及授权条件。函数计算包含以下权限策略:
- 系统策略:统一由天翼云创建,您只能使用不能修改,策略的版本更新由天翼云维护。
- 自定义策略:您可以自主创建、更新和删除,策略的版本更新由您自己维护。
系统策略
当您首次使用IAM用户登录函数计算控制台时,不仅需要通过天翼云账号给您的IAM用户添加访问函数计算的系统权限策略,也需要给IAM用户添加访问其他云服务的系统权限策略。成功授权后,您的IAM用户才可以正常访问函数计算服务及其他云产品服务。
系统策略包含以下类型:
权限策略名称 | 描述 |
---|---|
CtyunFCReadOnlyAccess | 表示允许对函数计算所有的资源进行读操作。 |
CtyunFCInvocationAccess | 表示允许对所有函数的资源进行执行操作。 |
CtyunFCFullAccess | 表示允许对所有函数计算资源进行所有执行操作。 |
自定义策略
除了函数计算默认提供的系统策略外,您也可以通过自定义策略进行更细粒度的权限管理。
Action | Resource | 描述 |
---|---|---|
cf:inst:ListFunctions | ctrn:cf:{region}:{uid}:functions/* | 函数列表 |
cf:inst:GetFunction | ctrn:cf:{region}:{uid}:functions/{functionName} | 查询函数 |
cf:inst:CreateFunction | ctrn:cf:{region}:{uid}:functions/{functionName} | 创建函数 |
cf:inst:DeleteFunction | ctrn:cf:{region}:{uid}:functions/{functionName} | 删除函数 |
cf:inst:UpdateFunction | ctrn:cf:{region}:{uid}:functions/{functionName} | 更新函数 |
cf:inst:InvokeFunction | ctrn:cf:{region}:{uid}:functions/{functionName} | 调用函数 |
您可以通过以上自定义的权限策略设置具有调用华东1(杭州)地域下demo函数的权限,具体策略如下所示:
{
"Version": "1",
"Statement": [
{
"Action": [
"fc:InvokeFunction"
],
"Resource": "ctrn:cf:{region}:{uid}:functions/demo",
"Effect": "Allow"
}
]
}