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.
- 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.
|
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
|
System-defined role |
|
DLI Service Admin |
DLI administrator.
|
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.
|
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 |
√ |
× |
√ |
√ |
References
- IAM Service Overview
- Creating a User and Granting Permissions
- Syntax of RBAC Policies
- How Do I Modify a User Policy?
- Granting Users with the Queue Usage Permission (Using API)
- Granting Users with the Data Usage Permission (Using API)
- Setting Queue Permissions (Using console)
- Database Permissions Management (Using console)
- Table Permissions Management (Using console)
Last Article: Constraints and Limitations on Using DLI
Next Article: Related Services
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.