数据湖探索 DLI-权限策略和授权项:支持的授权项

时间:2025-02-12 14:55:48

支持的授权项

策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下:

  • 权限:允许或拒绝对指定资源在特定条件下进行某项操作。
  • 对应API接口:自定义策略实际调用的API接口。
  • 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。
  • 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。
  • IAM 项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。

    关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别

    仅在表1中的接口支持自定义授权,其他不在表格中的接口不支持自定义授权。

“√”表示支持,“x”表示暂不支持。

DLI 支持自定义策略授权项如下表所示。

表1 API授权项列表

权限

对应API接口

授权项

IAM项目

(Project)

企业项目

(Enterprise Project)

创建队列

POST /v1.0/{project_id}/queues

dli:queue:createQueue

删除队列

DELETE /v1.0/{project_id}/queues/{queue_name}

dli:queue:dropQueue

提交作业

POST /v1.0/{project_id}/jobs/submit-job

dli:queue:submitJob

×

取消作业

DELETE /v1.0/{project_id}/jobs/{job_id}

dli:queue:cancelJob

×

查看其他用户具备的队列权限

GET /v1.0/{project_id}/queues/{queue_name}/users

dli:queue:showPrivileges

×

重启队列

PUT /v1.0/{project_id}/queues/{queue_name}/action

dli:queue:restart

×

扩缩容队列

PUT /v1.0/{project_id}/queues/{queue_name}/action

dli:queue:scaleQueue

×

赋予指定用户弹性资源权限

PUT /v1.0/{project_id}/user-authorization

dli:elasticresourcepool:grantPrivilege

×

移除指定用户弹性资源池权限

PUT /v1.0/{project_id}/user-authorization

dli:elasticresourcepool:revokePrivilege

×

创建数据库

POST /v1.0/{project_id}/databases

dli:database:createDatabase

×

删除数据库

DELETE /v1.0/{project_id}/databases/{database_name}

dli:database:dropDatabase

×

修改数据库配置

POST /v1.0/{project_id}/jobs/submit-job

dli:database:alterDatabaseProperties

×

将SQL语句解释为执行计划

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:explain

×

创建表

POST /v1.0/{project_id}/databases/{database_name}/tables

dli:database:createTable

×

创建视图

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:createView

×

创建函数

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:createFunction

×

描述函数

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:describeFunction

×

删除函数

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:dropFunction

×

显示函数

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:showFunctions

×

创建角色

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:createRole

×

删除角色

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:dropRole

×

显示角色

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:showRoles

×

显示所有角色

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:showAllRoles

×

绑定角色

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:grantRole

×

解除角色绑定

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:revokeRole

×

显示所有角色和用户的绑定关系

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:database:showUsers

×

查看其他用户具备的数据库权限

GET /v1.0/{project_id}/databases/{database_name}/users

dli:database:showPrivileges

×

显示数据库

GET /v1.0/{project_id}/databases

dli:database:displayDatabase

×

显示所有数据库

GET /v1.0/{project_id}/databases

dli:database:displayAllDatabases

×

显示所有表

GET /v1.0/{project_id}/databases

dli:database:displayAllTables

×

赋予指定用户数据库权限

PUT /v1.0/{project_id}/user-authorization

dli:database:grantPrivilege

×

移除指定用户数据库权限

PUT /v1.0/{project_id}/user-authorization

dli:database:revokePrivilege

×

删除表

DELETE /v1.0/{project_id}/databases/{database_name}/tables/{table_name}

dli:table:dropTable

×

显示表结构

GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}

dli:table:describeTable

×

查询表

GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/preview

dli:table:select

×

显示表配置

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:showTableProperties

×

显示建表语句

GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/preview

dli:table:showCreateTable

×

显示所有分区

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:showPartitions

×

设置表配置

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:alterTableSetProperties

×

添加列

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:alterTableAddColumns

×

在分区表中添加分区

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:alterTableAddPartition

×

重命名表分区

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:alterTableRenamePartition

×

删除分区表的分区

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:alterTableDropPartition

×

恢复表分区

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:alterTableRecoverPartition

×

重命名表

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:alterTableRename

×

设置分区路径

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:alterTableSetLocation

×

插入表数据

POST /v1.0/{project_id}/jobs/submit-job,语句调用

dli:table:insertIntoTable

×

重写表数据

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:insertOverwriteTable

×

查看其他用户具备的表权限

GET /v1.0/{project_id}/databases/{database_name}/tables/{table_name}/users

dli:table:showPrivileges

×

清空表

POST /v1.0/{project_id}/jobs/submit-job

dli:table:truncateTable

×

更新表

POST /v1.0/{project_id}/jobs/submit-job

dli:table:update

×

删除表数据

POST /v1.0/{project_id}/jobs/submit-job

dli:table:delete

×

修改列信息

POST /v1.0/{project_id}/jobs/submit-job

dli:table:alterTableChangeColumn

×

删除列

POST /v1.0/{project_id}/jobs/submit-job

dli:table:alterTableDropColumns

×

显示数据段

POST /v1.0/{project_id}/jobs/submit-job

dli:table:showSegments

×

合并数据段

POST /v1.0/{project_id}/jobs/submit-job

dli:table:compaction

×

修改视图

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:table:alterView

×

显示表结构

POST /v1.0/{project_id}/jobs/submit-job,执行对应SQL

dli:table:describeTable

×

赋予指定用户数据表权限

PUT /v1.0/{project_id}/user-authorization

dli:table:grantPrivilege

×

移除指定用户数据表权限

PUT /v1.0/{project_id}/user-authorization

dli:table:revokePrivilege

×

查看其它用户的安全认证信息权限列表

GET /v1.0/{project_id}/datasource/auth-infos/{auth_name}/users

dli:datasourceauth:showPrivileges

×

使用安全认证信息

POST /v1.0/{project_id}/jobs/submit-job

dli:datasourceauth:useAuth

×

删除安全认证信息

DELETE /v2.0/{project_id}/datasource/auth-infos/{auth_info_name}

dli:datasourceauth:dropAuth

×

更新安全认证信息

PUT /v2.0/{project_id}/datasource/auth-infos

dli:datasourceauth:updateAuth

×

赋予指定用户安全认证权限

PUT /v1.0/{project_id}/user-authorization

dli:datasourceauth:grantPrivilege

×

移除指定用户安全认证权限

PUT /v1.0/{project_id}/user-authorization

dli:datasourceauth:revokePrivilege

×

移除指定用户作业权限

PUT /v1.0/{{project_id}}/authorization

dli:jobs:revokePrivilege

×

查询列

POST /v1.0/{project_id}/jobs/submit-job,SQL语句调用

dli:column:select

×

赋予指定用户列权限

PUT /v1.0/{project_id}/user-authorization

dli:column:grantPrivilege

×

移除指定用户列权限

PUT /v1.0/{project_id}/user-authorization

dli:column:revokePrivilege

×

查询flink作业列表

GET /v1.0/{project_id}/streaming/jobs

dli:jobs:listAll

×

查询flink作业详情

GET /v1.0/{project_id}/streaming/jobs/{job_id}

dli:jobs:get

×

创建flink SQL作业

POST /v1.0/{project_id}/streaming/sql-jobs

dli:jobs:create

×

创建flinkJar作业

POST /v1.0/{project_id}/streaming/flink-jobs

dli:jobs:create

×

更新flinkSQL作业

PUT /v1.0/{project_id}/streaming/sql-jobs/{job_id}

dli:jobs:update

×

更新flinkJar作业

PUT /v1.0/{project_id}/streaming/flink-jobs/{job_id}

dli:jobs:update

×

删除flink作业

DELETE /v1.0/{project_id}/streaming/jobs/{job_id}

dli:jobs:delete

×

批量运行flink作业

POST /v1.0/{project_id}/streaming/jobs/run

dli:jobs:start

×

停止flink作业

POST /v1.0/{project_id}/streaming/jobs/stopob_id/stop

dli:jobs:stop

×

support.huaweicloud.com/api-dli/dli_02_0201.html