Actions Supported by Policy-based Authorization
This section describes the actions supported by DMS for Kafka in policy-based authorization.
Supported Actions
System-defined policies that can be directly used in IAM are provided. You can also create custom policies to supplement system-defined policies for more refined access control. Operations supported by policies are specific to APIs. The following are common concepts related to policies:
- Permissions: statements in a policy that allow or deny certain operations
- APIs: REST APIs that can be called by a user who has been granted specific permissions
- Actions: specific operations that are allowed or denied in a custom policy
- Dependencies: actions which a specific action depends on. When allowing an action for a user, you also need to allow any existing action dependencies for that user.
- IAM projects/Enterprise projects: the authorization scope of a custom policy. A custom policy can be applied to IAM projects or enterprise projects or both. Policies that contain actions for both IAM and enterprise projects can be used and applied for both IAM and Enterprise Management. Policies that contain actions only for IAM projects can be used and applied to IAM only. Administrators can check whether an action supports IAM projects or enterprise projects in the action list. For details about the differences between IAM and enterprise management, see Differences Between IAM and Enterprise Management.
DMS for Kafka supports the following actions in custom policies:
- Lifecycle management actions, including actions supported by Kafka instance lifecycle management APIs, such as the APIs for creating an instance, querying the instance list, modifying instance information, and batch restarting or deleting instances.
- Instance management actions, including actions supported by Kafka instance management APIs, such as the APIs for resetting passwords and enabling or disabling automatic topic creation.
- Smart Connect actions, including actions supported by Smart Connect APIs, such as the APIs for enabling or disabling Smart Connect, creating a Smart Connect task.
- Specification modification management action, supported by the specification modification management API for modifying instance specifications.
- Topic management actions, including actions supported by topic management APIs, such as the APIs for creating, querying, and modifying topics.
- User management actions, including actions supported by user management APIs, such as the APIs for creating users, querying users, and configuring user permissions.
- Message query actions, including actions supported by message query APIs, such as the API for querying messages.
- Background task management actions, including actions supported by background task management APIs, such as the APIs for querying the background task list of an instance and querying a specified background task.
- Tag management actions, including actions supported by tag management APIs, such as the APIs for querying instance tags and project tags.
Lifecycle Management
|
Permission |
API |
Action |
IAM (Project) |
Enterprise (Enterprise Project) |
|---|---|---|---|---|
|
Creating an instance |
POST /v2/{project_id}/kafka/instances |
dms:instance:create |
√ |
√ |
|
Querying the instance list |
GET /v2/{project_id}/instances |
dms:instance:list |
√ |
√ |
|
Querying an instance |
GET /v2/{project_id}/instances/{instance_id} |
dms:instance:get |
√ |
√ |
|
Deleting an instance |
DELETE /v2/{project_id}/instances/{instance_id} |
dms:instance:delete |
√ |
√ |
|
Modifying an instance |
PUT /v2/{project_id}/instances/{instance_id} |
dms:instance:modify |
√ |
√ |
|
Batch restarting or deleting instances |
POST /v2/{project_id}/instances/action |
Restart: dms:instance:modifyStatus Delete: dms:instance:delete |
√ |
√ |
Instance Management
|
Permission |
API |
Action |
IAM (Project) |
Enterprise (Enterprise Project) |
|---|---|---|---|---|
|
Resetting a password |
POST /v2/{project_id}/instances/{instance_id}/password |
dms:instance:resetAuthInfo |
√ |
√ |
|
Resetting the Kafka Manager password |
PUT /v2/{project_id}/instances/{instance_id}/kafka-manager-password |
dms:instance:resetAuthInfo |
√ |
√ |
|
Restarting Kafka Manager |
PUT /v2/{project_id}/instances/{instance_id}/restart-kafka-manager |
dms:instance:modifyStatus |
√ |
√ |
|
Configuring automatic topic creation |
POST /v2/{project_id}/instances/{instance_id}/autotopic |
dms:instance:modify |
√ |
√ |
|
Modifying the private IP address for cross-VPC access |
POST /v2/{project_id}/instances/{instance_id}/crossvpc/modify |
dms:instance:modify |
√ |
√ |
|
Resetting consumer group offset to the specified position |
POST /v2/{project_id}/instances/{instance_id}/management/groups/{group}/reset-message-offset |
dms:instance:modify |
√ |
√ |
Smart Connect
|
Permission |
API |
Action |
IAM Project |
Enterprise Project |
|---|---|---|---|---|
|
Enabling Smart Connect |
POST /v2/{project_id}/instances/{instance_id}/connector |
dms:instance:connector |
√ |
√ |
|
Disabling Smart Connect |
POST /v2/{project_id}/kafka/instances/{instance_id}/delete-connector |
dms:instance:connector |
√ |
√ |
|
Creating a Smart Connect task |
POST /v2/{project_id}/instances/{instance_id}/connector/tasks |
dms:instance:createConnectorSinkTask |
√ |
√ |
|
Listing Smart Connect tasks |
GET /v2/{project_id}/instances/{instance_id}/connector/tasks |
dms:instance:listConnectorSinkTask |
√ |
√ |
|
Querying Smart Connect task details |
GET /v2/{project_id}/instances/{instance_id}/connector/tasks/{task_id} |
dms:instance:getConnectorSinkTask |
√ |
√ |
|
Deleting Smart Connect tasks |
DELETE /v2/{project_id}/instances/{instance_id}/connector/tasks/{task_id} |
dms:instance:deleteConnectorSinkTask |
√ |
√ |
|
Pausing Smart Connect tasks |
PUT /v2/{project_id}/instances/{instance_id}/connector/tasks/{task_id}/pause |
dms:instance:updateConnectorTask |
√ |
√ |
|
Restarting Smart Connect tasks |
PUT /v2/{project_id}/instances/{instance_id}/connector/tasks/{task_id}/resume |
dms:instance:updateConnectorTask |
√ |
√ |
|
Starting a Smart Connect task or restarting a paused or running Smart Connect task |
PUT /v2/{project_id}/kafka/instances/{instance_id}/connector/tasks/{task_id}/restart |
dms:instance:updateConnectorTask |
√ |
√ |
Specification Modification Management
|
Permission |
API |
Action |
IAM Project |
Enterprise Project |
|---|---|---|---|---|
|
Modifying instance specifications |
POST /v2/{project_id}/kafka/instances/{instance_id}/extend |
dms:instance:scale |
√ |
√ |
Topic Management
|
Permission |
API |
Action |
IAM Project |
Enterprise Project |
|---|---|---|---|---|
|
Creating a topic in a Kafka instance |
POST /v2/{project_id}/instances/{instance_id}/topics |
dms:instance:modify |
√ |
√ |
|
Querying a topic in a Kafka instance |
GET /v2/{project_id}/instances/{instance_id}/topics |
dms:instance:get |
√ |
√ |
|
Modifying topics of a Kafka instance |
PUT /v2/{project_id}/instances/{instance_id}/topics |
dms:instance:modify |
√ |
√ |
|
Deleting topics in a Kafka instance in batches |
POST /v2/{project_id}/instances/{instance_id}/topics/delete |
dms:instance:modify |
√ |
√ |
User Management
|
Permission |
API |
Action |
IAM Project |
Enterprise Project |
|---|---|---|---|---|
|
Querying the user list |
GET /v2/{project_id}/instances/{instance_id}/users |
dms:instance:get |
√ |
√ |
|
Creating a user |
POST /v2/{project_id}/instances/{instance_id}/users |
dms:instance:modify |
√ |
√ |
|
Deleting users in batches |
PUT /v2/{project_id}/instances/{instance_id}/users |
dms:instance:modify |
√ |
√ |
|
Resetting a user password |
PUT /v2/{project_id}/instances/{instance_id}/users/{user_name} |
dms:instance:get |
√ |
√ |
|
Querying user permissions |
GET /v1/{project_id}/instances/{instance_id}/topics/{topic_name}/accesspolicy |
dms:instance:get |
√ |
√ |
|
Granting user permissions |
POST /v1/{project_id}/instances/{instance_id}/topics/accesspolicy |
dms:instance:modify |
√ |
√ |
Message Query
|
Permission |
API |
Action |
IAM Project |
Enterprise Project |
|---|---|---|---|---|
|
Querying messages |
GET /v2/{project_id}/instances/{instance_id}/messages |
dms:instance:get |
√ |
√ |
Background Task Management
|
Permission |
API |
Action |
IAM Project |
Enterprise Project |
|---|---|---|---|---|
|
Listing background tasks |
GET /v2/{project_id}/instances/{instance_id}/tasks |
dms:instance:getBackgroundTask |
√ |
√ |
|
Querying a background task |
GET /v2/{project_id}/instances/{instance_id}/tasks/{task_id} |
dms:instance:getBackgroundTask |
√ |
√ |
|
Deleting a background task |
DELETE /v2/{project_id}/instances/{instance_id}/tasks/{task_id} |
dms:instance:deleteBackgroundTask |
√ |
√ |
Tag Management
|
Permission |
API |
Action |
IAM Project |
Enterprise Project |
|---|---|---|---|---|
|
Batch adding or deleting tags |
POST /v2/{project_id}/kafka/{instance_id}/tags/action |
dms:instance:modify |
√ |
√ |
|
Listing tags of an instance |
GET /v2/{project_id}/kafka/{instance_id}/tags |
dms:instance:get |
√ |
√ |
|
Listing tags of a project |
GET /v2/{project_id}/kafka/tags |
dms:instance:get |
√ |
√ |
Table 10 shows fine-grained permission dependencies of DMS for Kafka.
|
Permission |
Description |
Dependency |
|---|---|---|
|
dms:instance:list |
Viewing the instance list |
None. |
|
dms:instance:get |
Viewing instance details |
None. |
|
dms:instance:create |
Creating an instance |
|
|
dms:instance:getBackgroundTask |
Viewing background task details |
None. |
|
dms:instance:deleteBackgroundTask |
Deleting a background task |
None. |
|
dms:instance:modifyStatus |
Restarting an instance |
None. |
|
dms:instance:resetAuthInfo |
Resetting an instance password |
None. |
|
dms:instance:modifyAuthInfo |
Changing an instance password |
None. |
|
dms:instance:modify |
Modifying an instance |
|
|
dms:instance:scale |
Enabling instance scale-up |
|
|
dms:instance:delete |
Deleting an instance |
None. |
|
dms:instance:connector |
Enabling dumping |
|
|
dms:instance:createConnectorSinkTask |
Creating a dumping task |
None. |
|
dms:instance:getConnectorSinkTask |
Viewing dumping task details |
None. |
|
dms:instance:listConnectorSinkTask |
Viewing the dumping task list |
None. |
|
dms:instance:deleteConnectorSinkTask |
Deleting a dumping task |
None. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot