数据湖探索 DLI-DLI自定义策略:DLI自定义策略样例

时间:2024-11-14 11:04:48

DLI 自定义策略样例

  • 示例1:允许
    • 授权用户拥有在所有区域中所有数据库的创建表权限。
      {
          "Version": "1.1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "dli:database:createTable"
                  ],
                  "Resource": [
                      "dli:*:*:database:*"
                  ]
              }
          ]
      }
    • 授权用户拥有在所在区域中数据库db中表tb中列col的查询权限。
      {
          "Version": "1.1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "dli:column:select"
                  ],
                  "Resource": [
                      "dli:xxx:*:column:databases.db.tables.tb.columns.col"
                  ]
              }
          ]
      }
  • 示例2:拒绝

    拒绝策略需要同时配合其他策略使用,即用户需要先被授予部分操作权限策略后,才可以在权限内设置拒绝策略,否则用户无任何权限的情况下,拒绝策略无实际作用。

    用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先。

    • 授权用户不能创建数据库,删除数据库,提交作业(default队列除外),删除表。
      {
          "Version": "1.1",
          "Statement": [
              {
                  "Effect": "Deny",
                  "Action": [
                      "dli:database:createDatabase",
                      "dli:database:dropDatabase",
                      "dli:queue:submitJob",
                      "dli:table:dropTable"
                  ],
                  "Resource": [
                      "dli:*:*:database:*",
                      "dli:*:*:queue:*",
                      "dli:*:*:table:*"
                  ]
              }
          ]
      }
    • 授权用户不能在队列名为demo的队列上提交作业。
      {
          "Version": "1.1",
          "Statement": [
              {
                  "Effect": "Deny",
                  "Action": [
                      "dli:queue:submitJob"
                  ],
                  "Resource": [
                      "dli:*:*:queue:queues.demo"
                  ]
              }
          ]
      }
  • 示例3:标签鉴权,指定action绑定Condition,指定g:ResourceTag的key和value。

    Condition g:ResourceTag使用表示带有标签key=value的资源,并且资源操作在策略action中包含的可以鉴权通过。

    key不区分大小写,并且目前不支持value的模糊匹配。
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "dli:database:dropDatabase",
                    "dli:table:select",
                    "dli:database:createTable",
                    "dli:table:dropTable"
                ],
                "Condition": {
                    "StringEquals": {
                        "g:ResourceTag/key": [
                            "value"
                        ]
                    }
                }
            }
        ]
    }
support.huaweicloud.com/usermanual-dli/dli_01_0451.html