Help Center/ Server Migration Service/ API Reference/ Permissions and Supported Actions/ Actions Supported by Policy-based Authorization
Updated on 2025-11-11 GMT+08:00

Actions Supported by Policy-based Authorization

This section describes the actions supported by SMS in policy-based authorization.

Supported Actions

SMS provides system-defined policies that can be directly used in IAM. 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.
  • Related actions: actions on which a specific action depends to take effect. When assigning permissions for the action to a user, you also need to assign permissions for the related actions.
  • 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 take effect for both IAM and Enterprise Management. Policies that only contain actions for IAM projects can be used and only take effect for IAM. Administrators can check whether an action supports IAM projects or enterprise projects in the action list. "√" indicates that the action supports the project and "×" indicates that the action does not support the project. For details about the differences between IAM and enterprise management, see Differences Between IAM and Enterprise Management

SMS supports the following actions in custom policies:

Template Management

Table 1 Template management

Permission

API

Action

IAM

Project

Enterprise

Project

Listing templates

GET /v3/vm/templates

sms:server:queryServer

×

Creating a template

POST /v3/vm/templates

sms:server:migrationServer

×

Batch deleting templates

POST /v3/vm/templates/delete

sms:server:migrationServer

×

Querying details about a template

GET /v3/vm/templates/{id}

sms:server:queryServer

×

Modifying a template

PUT /v3/vm/templates/{id}

sms:server:migrationServer

×

Querying the target server password in a template

GET /v3/vm/templates/{id}/target-password

sms:server:queryServer

×

Deleting a template

DELETE /v3/vm/templates/{id}

sms:server:migrationServer

×

Source Server Management

Table 2 Source server management

Permission

API

Action

IAM

Project

Enterprise

Project

Listing failed source servers

GET /v3/errors

sms:server:queryServer

×

Listing source servers

GET /v3/sources

sms:server:queryServer

Registering a source server with SMS

POST /v3/sources

sms:server:registerServer

Batch deleting source server records

POST /v3/sources/delete

sms:server:migrationServer

Querying details about a source server

GET /v3/sources/{source_id}

sms:server:queryServer

Modifying a source server name

PUT /v3/sources/{source_id}

sms:server:migrationServer

Deleting a source server record

DELETE /v3/sources/{source_id}

sms:server:migrationServer

Updating disk information

PUT /v3/sources/{source_id}/diskinfo

sms:server:registerServer

Obtaining a source server summary

GET /v3/sources/overview

sms:server:queryServer

×

Updating the migration task status of a source server

PUT /v3/sources/{source_id}/changestate

sms:server:migrationServer

Task Management

Table 3 Task management

Permission

API

Action

IAM

Project

Enterprise

Project

Listing migration tasks

GET /v3/tasks

sms:server:queryServer

Creating a migration task

POST /v3/tasks

sms:server:migrationServer

Batch deleting migration tasks

POST /v3/tasks/delete

sms:server:migrationServer

Querying details about a migration task

GET /v3/tasks/{task_id}

sms:server:queryServer

Updating a migration task

PUT /v3/tasks/{task_id}

sms:server:migrationServer

Deleting a migration task

DELETE /v3/tasks/{task_id}

sms:server:migrationServer

Managing migration tasks

POST /v3/tasks/{task_id}/action

sms:server:migrationServer

Reporting migration progress and rate

PUT /v3/tasks/{task_id}/progress

sms:server:migrationServer

Unlocking a target server

POST /v3/tasks/{task_id}/unlock

sms:server:migrationServer

Uploading migration task logs

POST /v3/tasks/{task_id}/log

sms:server:migrationServer

Querying a certificate passphrase

GET /v3/tasks/{task_id}/passphrase

sms:server:queryServer

Checking NICs and security groups

GET /v3/tasks/{t_project_id}/networkacl/{t_network_id}/check

sms:server:queryServer

×

Querying the migration rate limiting rules of a migration task

GET /v3/tasks/{task_id}/speed-limit

sms:server:queryServer

Setting migration rate limit rules for a migration task

POST /v3/tasks/{task_id}/speed-limit

sms:server:migrationServer

Command Management

Table 4 Command management

Permission

API

Action

IAM

Project

Enterprise

Project

Obtaining commands from SMS

GET /v3/sources/{server_id}/command

sms:server:queryServer

Reporting command execution results to SMS

POST /v3/sources/{server_id}/command_result

sms:server:migrationServer

Key Management

Table 5 Key management

Permission

API

Action

IAM

Project

Enterprise

Project

Obtaining an SSL certificate and private key

GET /v3/tasks/{task_id}/certkey

sms:server:queryServer

Calculating an SHA256 hash

GET /v3/sha256/{key}

sms:server:queryServer

×

Migration Project Management

Table 6 Migration project management

Permission

API

Action

IAM

Project

Enterprise

Project

Listing migration projects

GET /v3/migprojects

sms:server:queryServer

×

Creating a migration project

POST /v3/migprojects

sms:server:migrationServer

×

Querying details about a migration project

GET /v3/migprojects/{mig_project_id}

sms:server:queryServer

×

Modifying a migration project

PUT /v3/migprojects/{mig_project_id}

sms:server:migrationServer

×

Deleting a migration project

DELETE /v3/migprojects/{mig_project_id}

sms:server:migrationServer

×

Changing the default migration project

PUT /v3/migprojects/{mig_project_id}/default

sms:server:migrationServer

×

API Version Management

Table 7 API version management

Permission

API

Action

IAM

Project

Enterprise

Project

Querying an API version

GET /{version}

sms:server:queryServer

×

Listing API versions

GET /

sms:server:queryServer

×

Agent Running

Table 8 Agent running

Permission

API

Action

IAM

Project

Enterprise

Project

Obtaining the Agent configuration information

GET /v3/config

sms:server:queryServer

×

Network Measurement Management

Table 9 Network measurement management

Permission

API

Action

IAM

Project

Enterprise

Project

Updating network measurement information

POST /v3/{task_id}/update-network-check-info

sms:server:migrationServer

Advanced Migration Options Management

Table 10 Advanced migration options management

Permission

API

Action

IAM

Project

Enterprise

Project

Querying the settings of advanced migration options of a task

GET /v3/tasks/{task_id}/configuration-setting

sms:server:queryServer

Configuring advanced migration options

POST /v3/tasks/{task_id}/configuration-setting

sms:server:migrationServer

Privacy Agreement Management

Table 11 Privacy agreement management

Permission

API

Action

IAM

Project

Enterprise

Project

Querying whether a user has signed the privacy agreement.

GET /v3/privacy-agreements

sms:server:queryServer

×

Signing the privacy agreement

POST /v3/privacy-agreements

sms:server:registerServer