开发者社区 问答 正文

函数计算怎么 权限定义


函数计算已经接入 RAM,用户可以通过授权子账号或者使用STS来访问函数计算。相关操作的RAM权限定义如下:
[backcolor=transparent]注意:在RAM中,Resource的格式为acs:fc:${region}:${account-id}:${resource},下面的表格只列出了其中${resource}的内容。例如,用户可以指定CreateService的授权策略内容如下:

  1. [backcolor=transparent]{
  2. [backcolor=transparent]  [backcolor=transparent]"Version"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"1"[backcolor=transparent],
  3. [backcolor=transparent]  [backcolor=transparent]"Statement"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent][
  4. [backcolor=transparent]    [backcolor=transparent]{
  5. [backcolor=transparent]      [backcolor=transparent]"Action"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent][
  6. [backcolor=transparent]        [backcolor=transparent]"fc:CreateService"
  7. [backcolor=transparent]      [backcolor=transparent]],
  8. [backcolor=transparent]      [backcolor=transparent]"Resource"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"acs:fc:*:*:services/*"[backcolor=transparent],
  9. [backcolor=transparent]      [backcolor=transparent]"Effect"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"Allow"
  10. [backcolor=transparent]    [backcolor=transparent]}
  11. [backcolor=transparent]  [backcolor=transparent]]
  12. [backcolor=transparent]}
APIActionResource
CreateServicefc:CreateServiceservices/*
ListServicesfc:ListServicesservices/*
GetServicefc:GetServiceservices/${serviceName}
UpdateServicefc:UpdateServiceservices/${serviceName}
DeleteServicefc:DeleteServiceservices/${serviceName}
CreateFunctionfc:CreateFunctionservices/${serviceName}/functions/*
ListFunctionsfc:ListFunctionsservices/${serviceName}/functions/*
GetFunctionfc:GetFunctionservices/${serviceName}/functions/${functionName}
UpdateFunctionfc:UpdateFunctionservices/${serviceName}/functions/${functionName}
DeleteFunctionfc:DeleteFunctionservices/${serviceName}/functions/${functionName}
InvokeFunctionfc:InvokeFunctionservices/${serviceName}/functions/${functionName}
CreateTriggerfc:CreateTriggerservices/${serviceName}/functions/${functionName}/triggers/*
ListTriggersfc:ListTriggersservices/${serviceName}/functions/${functionName}/triggers/*
GetTriggerfc:GetTriggerservices/${serviceName}/functions/${functionName}/triggers/${triggerName}
UpdateTriggerfc:UpdateTriggerservices/${serviceName}/functions/${functionName}/triggers/${triggerName}
DeleteTriggerfc:DeleteTriggerservices/${serviceName}/functions/${functionName}/triggers/${triggerName}

展开
收起
boxti 2017-10-19 16:05:35 1951 分享
分享
版权
举报
阿里云 AI 助理回答

阿里云函数计算(Function Compute)支持与资源访问管理(Resource Access Management,RAM)集成,允许用户通过细粒度的权限控制来安全地授权子账号或使用Security Token Service (STS)临时凭证访问函数计算服务。您提供的信息详细列出了与函数计算相关的RAM权限定义,这些权限定义帮助用户精确控制不同角色或应用对函数服务的访问能力。

RAM权限策略示例解析

以您给出的CreateService授权策略为例:

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["fc:CreateService"],
      "Resource": "acs:fc:*:*:services/*",
      "Effect": "Allow"
    }
  ]
}

这个策略说明: - Version: 指定策略的版本,这里是1。 - Statement: 包含一个或多个授权声明,每个声明定义了一组操作、资源和效果。 - Action: 定义了允许执行的操作,这里允许的是fc:CreateService,即创建服务。 - Resource: 指定了操作可作用的资源范围,acs:fc:*:*:services/*意味着所有区域中任意账户的所有服务都允许被创建。其中*是通配符,表示不限定特定区域或账户ID。 - Effect: 指明该声明的效果,Allow表示允许执行上述动作。

其他重要权限说明

  • ListServices, GetService, UpdateService, DeleteService等权限分别对应查看服务列表、获取单个服务详情、更新服务配置和删除服务的操作。
  • CreateFunction, InvokeFunction, DeleteFunction等涉及函数的生命周期管理,从创建到调用再到删除。
  • CreateTrigger, ListTriggers, UpdateTrigger, DeleteTrigger等权限则针对触发器的管理,确保函数能根据预设条件自动执行。

实践建议

在实际应用中,为了遵循最小权限原则,应该尽量为RAM用户或角色分配仅满足其工作需求的最小必要权限,避免过度授权带来的潜在风险。例如,如果某个子账号只需要调用特定函数,那么只需为其分配InvokeFunction权限,并且明确指定到具体的函数服务和服务下的函数名称,而不是使用通配符。

通过这种方式,阿里云函数计算结合RAM,能够提供既灵活又安全的服务访问控制机制,帮助用户实现更精细化的权限管理。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等