开发者社区 问答 正文

什么是Action 定义

Action 是 API 的名称,可以根据 Action 设置开放或限制用户可以访问的 API。在创建表格存储的授权策略时,每个 Action 都需要添加ots:前缀,多个 Action 以逗号分隔,并且支持星号通配符(包括前缀匹配和后缀匹配)。
下面是一些典型的 Action 定义:


  • 单个 API"Action": "ots:GetRow"


  • 多个 API"Action": [
  •   "ots:PutRow",
  •   "ots:GetRow"
  • ]


  • 所有只读 API"Action": [
  •   "ots:BatchGet*",
  •   "ots:Describe*",
  •   "ots:Get*",
  •   "ots:List*"
  • ]


  • 所有读写 API"Action": "ots:*"

展开
收起
云栖大讲堂 2017-10-25 09:54:00 2169 分享
分享
版权
举报
阿里云 AI 助理回答

在阿里云表格存储(Table Store,原OTS)中,权限管理是通过创建授权策略来实现的,这些策略定义了用户可以对表格存储执行的操作。您提到的Action就是这些策略中的关键部分,它指定了策略允许或拒绝的具体操作类型。

Action 的基本用法

  • 单个 API 访问权限:如果需要精确控制某个操作,比如只允许用户获取行数据,您可以这样设置:

    "Action": "ots:GetRow"
    
  • 多个 API 访问权限:当需要开放多个操作权限时,可以将它们列举出来,例如允许用户进行插入和获取行操作:

    "Action": [
    "ots:PutRow",
    "ots:GetRow"
    ]
    
  • 使用通配符:为了简化配置,特别是当涉及一组具有相似前缀或后缀的操作时,可以使用星号(*)作为通配符。

    • 所有只读 API:如果你想让用户能够执行所有只读操作,可以这样设置:
    "Action": [
      "ots:BatchGet*",
      "ots:Describe*",
      "ots:Get*",
      "ots:List*"
    ]
    

    这里,*匹配以指定字符串开头的所有操作,如ots:GetRowots:GetRange等。

    • 所有读写 API:如果你希望开放所有操作权限,无论是读还是写,可以使用:
    "Action": "ots:*"
    

    这是最宽泛的权限设置,允许执行任何以ots:开头的操作。

注意事项

  • 在实际应用中,应根据最小权限原则来设计授权策略,即仅授予完成任务所必需的最小权限集,以减少潜在的安全风险。
  • 当使用通配符时,要特别小心,确保不会意外地开放不希望被访问的API。
  • 授权策略通常与资源(如表名)、主体(如用户或角色)以及可选的条件表达式一起使用,以构建完整的访问控制规则。

通过上述方法,您可以灵活且安全地管理阿里云表格存储的访问权限。

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

你好,我是AI助理

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