Help Center> Data Lake Insight> Service Overview> Permissions Management

Permissions Management

If you need to assign different permissions to employees in your enterprise to access your DLI resources, IAM is a good choice for fine-grained permissions management. IAM provides identity authentication, permissions management, and access control, helping you securely access your HUAWEI CLOUD resources.

With IAM, you can use your HUAWEI CLOUD account to create IAM users for your employees, and assign permissions to the users to control their access to specific resource types. For example, some software developers in your enterprise need to use DLI resources but must not delete them or perform any high-risk operations. To achieve this result, you can create IAM users for the software developers and grant them only the permissions required for using DLI resources.

If the HUAWEI CLOUD account has met your requirements, you do not need to create an independent IAM user for permission management. Then you can skip this section. This will not affect other functions of DLI.

IAM can be used free of charge. You pay only for the resources in your account. For more information about IAM, see the IAM Service Overview.

DLI Permissions

By default, new IAM users do not have permissions assigned. You need to add the users to one or more groups, and attach permissions policies or roles to these groups. The users then inherit permissions from the groups to which they are added. After authorization, the users can perform specified operations on DLI based on the permissions.

DLI is a project-level service deployed and accessed in specific physical regions. To assign DLI permissions to a user group, specify the scope as region-specific projects and select projects for the permissions to take effect. If All projects is selected, the permissions will take effect for the user group in all region-specific projects. When accessing DLI, the users need to switch to a region where they have been authorized to use cloud services.

Type: There are roles and policies.
  • Roles: A type of coarse-grained authorization mechanism that defines permissions related to user responsibilities. This mechanism provides only a limited number of service-level roles for authorization. When using roles to grant permissions, you need to also assign other roles on which the permissions depend to take effect. However, roles are not an ideal choice for fine-grained authorization and secure access control.
  • Policies: A type of fine-grained authorization mechanism that defines permissions required to perform operations on specific cloud resources under certain conditions. This mechanism allows for more flexible policy-based authorization, meeting requirements for secure access control. For example, you can grant DLI users only the permissions for managing a certain type of cloud servers. For the API actions supported by DLI, see Permissions Policies and Supported Actions.
Table 1 DLI system permissions

Role/Policy Name

Description

Policy Type

DLI FullAccess

Full permissions for DLI.

System-Defined Policies

DLI ReadOnlyAccess

Read-only permissions for DLI.

System-Defined Policies

Tenant Administrator

Tenant administrator

  • Job execution permissions for DLI resources. After a database or a queue is created, the user can use the ACL to assign rights to other users.
  • Function scope: Project-level service.

System-defined role

DLI Service Admin

DLI administrator.

  • Job execution permissions for DLI resources. After a database or a queue is created, the user can use the ACL to assign rights to other users.
  • Function scope: Project-level service.

System-defined role

Table 2 lists the common SQL operations supported by each system policy of DLI. Choose proper system policies according to this table. For details about how to grant permission to SQL statements, see the SQL Syntax Reference > Data Control > Permission List.

Table 2 Common operations supported by each system policy

Resources

Operation

Description

DLI FullAccess

DLI ReadOnlyAccess

Tenant Administrator

DLI Service Admin

Queue

DROP_QUEUE

Deleting a queue

×

SUBMIT_JOB

Submitting the job

×

CANCEL_JOB

Terminating the job

×

GRANT_PRIVILEGE

Granting permissions to the queue

×

REVOKE_PRIVILEGE

Revoking permissions from the queue

×

SHOW_PRIVILEGES

Viewing the queue permissions of other users

×

Database

DROP_DATABASE

Deleting a database

×

CREATE_TABLE

Creating a table

×

CREATE_VIEW

Creating a view

×

EXPLAIN

Explaining the SQL statement as an execution plan

×

CREATE_ROLE

Creating a role

×

DROP_ROLE

Deleting a role

×

SHOW_ROLES

Displaying a role

×

GRANT_ROLE

Binding a role

×

REVOKE_ROLE

Unbinding the role

×

SHOW_USERS

Displaying the binding relationships between all roles and users

×

GRANT_PRIVILEGE

Granting permissions to the database

×

REVOKE_PRIVILEGE

Revoking permissions to the database

×

SHOW_PRIVILEGES

Viewing database permissions of other users

×

DISPLAY_ALL_TABLES

Displaying table information in the database

×

DISPLAY_DATABASE

Displaying database information

×

CREATE_FUNCTION

Creating a function

×

DROP_FUNCTION

Deleting a function

×

SHOW_FUNCTIONS

Displaying all functions

×

DESCRIBE_FUNCTION

Displaying function details

×

Table

DROP_TABLE

Deleting a table

×

SELECT

Querying a table

×

INSERT_INTO_TABLE

Inserting

×

ALTER_TABLE_ADD_COLUMNS

Adding a column

×

INSERT_OVERWRITE_TABLE

Rewriting

×

ALTER_TABLE_RENAME

Renaming a table

×

ALTER_TABLE_ADD_PARTITION

Adding partitions to the partition table

×

ALTER_TABLE_RENAME_PARTITION

Renaming a table partition

×

ALTER_TABLE_DROP_PARTITION

Deleting partitions from a partition table

×

SHOW_PARTITIONS

Displaying all partitions

×

ALTER_TABLE_RECOVER_PARTITION

Restoring table partitions

×

ALTER_TABLE_SET_LOCATION

Setting the partition path

×

GRANT_PRIVILEGE

Granting permissions to the table

×

REVOKE_PRIVILEGE

Revoking permissions from the table

×

SHOW_PRIVILEGES

Viewing table permissions of other users

×

DISPLAY_TABLE

Displaying a table

×

DESCRIBE_TABLE

Displaying table information

×