更新时间:2022-05-05 GMT+08:00
分享

创建DLI自定义策略

用户可以根据场景设置不同级别的Action和Resource。策略字段介绍请参考《数据湖探索用户指南》>《DLI自定义策略》。

  1. 定义Action

    Action由服务名:资源类型:操作三段组成,通配符为*。例如:

    表1 Action

    Action

    说明

    dli:queue:submit_job

    DLI队列的提交操作

    dli:queue:*

    DLI队列的全部操作

    dli:*:*

    DLI所有资源类型的所有操作

    更多操作与系统权限的关系请参考《常用操作与系统权限关系》。

  2. 定义Resource

    Resource由<服务名:region:domainId:资源类型:资源路径>5个字段组成,通配符号*表示所有资源。5个字段可以灵活设置,资源路径可以按照场景需要,设置不同级别的权限控制,DLI资源路径和资源类型可以参考《DLI资源》。当需要设置该服务下的所有资源时,可以不指定该字段。例如:

    表2 Resource

    Resource

    说明

    DLI:*:*:table:databases.dbname.tables.*

    DLI服务,任意region,任意账号ID下,数据库名为dbname下的所有表资源。

    DLI:*:*:database:databases.dbname

    DLI服务,任意region,任意账号ID下,数据库名为dbname的队列。

    DLI:cn-north-1:xxx:column: databases.db.tables.tb.columns.col

    DLI服务,cn-north-1,账号ID为xxx,数据库名为db,表名为tb,列名为col的资源。

    DLI:*:*:queue:queues.*

    DLI服务,任意region,任意账号ID下,任意队列资源。

    DLI:*:*:jobs:jobs.flink.1

    DLI服务,任意region,任意账号ID下,作业Id为1的flink作业。

    • 特定资源:
      图1 特定资源
    • 所有资源: 指该服务下的所有资源
      图2 所有资源
  3. 将上述的所有字段拼接为一个json就是一个完整的策略了,其中action和resource均可以设置多个,当然也可以通过IAM提供的可视化界面进行创建,例如:

    授权用户拥有DLI服务,任意region,任意账号ID下,任意数据库的创建删除权限,任意队列的提交作业权限,任意表的删除权限。

    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": " Allow",
                "Action": [
                      "dli:database:create_database",
                    "dli:database:drop_database",
                      "dli:queue:submit_job",
                      "dli:table:drop_table"
                ],
                "Resource": [
                      "dli:*:*:database:*",
                    "dli:*:*:queue:*",
                    "dli:*:*:table:*"
                ]
            }
        ]
    }
分享:

授权相关问题所有常见问题

more

close