权限管理概述

最近更新时间:2019-01-15 11:04:25

简介

访问管理(Cloud Access Management,CAM) 是腾讯云提供的权限及访问管理服务,主要用于帮助客户安全管理腾讯云账户下的资源的访问权限。用户可以通过 CAM 创建、管理和销毁用户(组),并使用身份管理和策略管理控制其他用户使用腾讯云资源的权限。

SCF 支持管理的权限

腾讯云无服务器云函数 SCF 已支持通过访问管理(Cloud Access Management,CAM)进行权限管理,用户可以通过主账号给子账号或者协作者赋予不同的权限。当前 SCF 支持的权限粒度如下:

服务 策略语法 云 API 控制台 授权粒度 临时证书
无服务器云函数 资源级

当前 SCF 支持的云 API 接口如下:

接口名称 描述 级别
ListFunctions 获取账号下的函数列表 账号级
GetAccountSettings 获取账号下的限额配置 账号级
CreateFunction 新建一个新函数 资源级
DeleteFunction 删除指定的函数 资源级
InvokeFunction 触发函数,分为同步和异步触发 资源级
UpdateFunction 更新函数,包括配置和/或代码 资源级
SetTrigger 对指定函数配置触发器 资源级
DeleteTrigger 删除指定函数的触发器 资源级
GetFunction 获取指定函数的配置信息 资源级
ListVersion 获取指定函数的版本信息 资源级
GetFunctionLogs 获取指定函数的日志信息 资源级

注意:

在配置策略语法时,还需要配合使用 monitor 相关的接口以获得账号下的监控信息,使用方法请参考下面的策略示例。

SCF 的策略

策略语法

SCF 的策略语法遵循 CAM 的 语法结构资源描述方式,策略语法以 JSON 格式为基础,所有资源均可采用下述的六段式描述方式,示例如下:

qcs: :scf:region:uin/uinid:function/function-name

策略示例

{     
        "version":"2.0", 
        "statement": 
        [ 
           { 
              "effect":"allow", 
              "action":
              [
                "scf:ListFunctions",
                "scf:GetAccountSettings",
                "monitor:*"
              ], 
              "resource":["*"]  
           }, 
          { 
             "effect": "allow",
             "action": 
             [
                "scf:DeleteFunction",
                "scf:CreateFunction",
                "scf:InvokeFunction",
                "scf:UpdateFunction",
                "scf:GetFunctionLogs",
                "scf:SetTrigger",
                "scf:DeleteTrigger",
                "scf:GetFunction",
                "scf:ListVersion"
            ],
            "resource": 
            [
                "qcs::scf:gz:uin/******:function/Test1",
                "qcs::scf:gz:uin/******:function/Test2"
            ]
         }
      ] 
} 
  • 操作(action)为需要关联资源的操作时,resource 定义为*,表示关联所有资源。
  • 操作(action)为不需要关联资源的操作时,resource 都需要定义为*
  • 该示例可以实现子账号拥有主账号下某些函数的操作权限,resource 中的资源描述为主账号下的某个函数。

角色与授权

腾讯云无服务器云函数 SCF 通过使用访问管理(Cloud Access Management,CAM)的角色能力,完成服务和用户资源间的权限打通。您可以通过使用配置角色,云函数服务可以在配置流程中访问用户资源;也可以通过使用运行角色,云函数服务能为运行代码完成角色临时授权的申请,便于代码通过角色的授权机制实现权限打通和资源访问。

关于角色和授权的详细内容请参见 角色与授权