华为云用户手册

  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 业务风险总数 最小值:0 最大值:100000 data Array of BusinessRiskItem objects 业务风险列表 数组长度:0 - 100000 表5 BusinessRiskItem 参数 参数类型 描述 risk_id String 业务风险ID 最小长度:40 最大长度:40 risk_url String 有风险的URL 最小长度:1 最大长度:256 risk_type String 业务风险类型: text - 不合规文字 image - 不合规图片 dead_link - 不合规链接(死链) dark_link - 不合规链接(暗链) business_risk - 业务风险 枚举值: text image dead_link dark_link business_risk find_time String 业务风险发现时间 最小长度:0 最大长度:19 risk_content String 业务风险内容 最小长度:0 最大长度:100000 risk_status String 漏洞状态: repairing - 未修复 repaired - 已修复 false_report - 误报,已忽略 枚举值: repairing repaired false_report 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
  • 响应示例 状态码: 200 OK { "total" : 1, "data" : [ { "risk_id" : "fff18e42a6deeffb83f9e37f741e687ed2a3dd1a", "risk_url" : "https://127.0.0.1:8080/links/index.php1", "risk_type" : "dead_link", "risk_content" : "http://evilllllllllll.com/code.txt700", "risk_status" : "repairing", "find_time" : "2021-09-18 16:26:24" } ] }
  • URI GET /v3/{project_id}/webscan/results/business-risk 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户的project_id,获取方法请参见获取项目ID。 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 task_id 是 String 任务ID 最小长度:32 最大长度:50 offset 否 Integer 分页查询,偏移量,表示从此偏移量开始查询 最小值:0 最大值:10000 缺省值:0 limit 否 Integer 分页查询,每页显示的条目数量 最小值:1 最大值:10000 缺省值:5
  • 响应示例 状态码: 200 OK { "object_scope" : "table", "target_root_db" : { "db_name" : "mytest", "db_encoding" : "utf8" }, "object_info" : { "TEST" : { "name" : "TEST", "tables" : { "TBL_2" : { "name" : "TBL_2", "type" : "table", "all" : true, "is_synchronized" : true } }, "is_synchronized" : true, "total_table_num" : 1 } }, "max_table_num" : 50000, "id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r" } 状态码: 400 Bad Request { "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job ID." }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn
  • URI GET /v5.1/{project_id}/jobs/{job_id}/db-object 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 job_id 是 String 任务ID。 表2 Query参数 参数 是否必选 参数类型 描述 type 是 String 查询对象信息类型。 取值: modified:查询已选择的(已同步的和未下发的)对象信息。
  • 响应示例 状态码: 200 OK 查询灾备进度响应示例 1: { "count" : 1, "results" : [ { "progress" : "100", "job_id" : "8d0e8e36-a618-490d-8a46-8c61ac9jb502", "incre_trans_delay" : "0", "task_mode" : "FULL_INCR_TRANS", "transfer_status" : "INCRE_TRANSFER_STARTED", "process_time" : "1608274919000", "remaining_time" : "0" } ] } 查询灾备进度响应示例 2: { "count" : 2, "results" : [ { "progress" : "100", "job_id" : "edae91cb-5892-49b6-a529-4921fb26jb21", "incre_trans_delay" : "0", "task_mode" : "FULL_INCR_TRANS", "transfer_status" : "INCRE_TRANSFER_STARTED", "process_time" : "1594864576000", "remaining_time" : "10" }, { "progress" : "0", "job_id" : "f95c5d83-d0c9-42bd-b295-38c31cd1jb15", "incre_trans_delay" : "-1", "task_mode" : "FULL_INCR_TRANS", "transfer_status" : "FULL_TRANSFER_COMPLETE", "process_time" : "0", "remaining_time" : "0", "progress_map" : { "struct" : { "completed" : "94%", "remaining_time" : null }, "data" : { "completed" : "100%", "remaining_time" : null }, "index" : { "completed" : "100%", "remaining_time" : null } } } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 指定类型为application/json。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 X-Language 否 String 请求语言类型。 缺省值:en-us 取值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 jobs 是 Array of strings 批量查询进度任务ID请求列表。
  • 接口约束 任务创建成功之后,任务状态为CONFIGURATION,并且与源库和目标库测试连接通过、修改任务接口调用成功后才能调用。 支持设置Kafka同步策略的有:PostgreSQL-Kafka同步,Oracle-Kafka同步,GaussDB主备版-Kafka同步,GaussDB(for MySQL)-Kafka,MySQL-Kafka。 GaussDB(for MySQL)-Kafka,MySQL-Kafka支持任务状态为INCRE_TRANSFER_STARTED时修改Kafka策略配置,修改配置后需等任务状态为INCRE_TRANSFER_STARTED时再进行编辑同步对象操作。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 count Integer 总数。 results Array of objects 批量设置同步策略返回列表。 详情请参见表6。 表6 results字段数据结构说明 参数 参数类型 描述 id String 任务ID。 status String 状态。取值: success:成功。 failed:失败。 error_code String 错误码。 error_msg String 错误信息。
  • 请求示例 批量设置同步任务策略,其中增量冲突策略为忽略,同步增量DDL并过滤drop_database操作 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-sync-policy { "jobs": [{ "conflict_policy": "ignore", "ddl_trans": true, "filter_ddl_policy": "drop_database", "index_trans": true, "job_id": "19557d51-1ee6-4507-97a6-8f69164jb201" }] } 批量设置MySQL单增量同步任务策略示例: https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-sync-policy { "jobs": [ { "conflict_policy": "ignore", "ddl_trans": true, "filter_ddl_policy": "drop_database", "index_trans": true, "job_id": "19557d51-1ee6-4507-97a6-8f69164jb201", "file_and_position": "mysql-bin.000019:197", "gtid_set":"e4979f26-4bc3-11ee-b279-fa163ef21d64:1-23" } ] }
  • 响应示例 状态码: 202 OK { "id" : "0eacda0b-9422-4535-8b62-537d1833638b", "status" : "pending" } 状态码: 400 Bad Request { "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job ID." }
  • 响应参数 状态码: 202 表4 响应Body参数 参数 参数类型 描述 id String 查询结果ID。 status String 查询状态。 枚举值: pending failed success 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 db_names 否 Array of strings 查询指定库的信息。 type 是 String 查询对象信息类型。取值: source:查询源库对象信息。 modified:查询已选择的(已同步的和未下发的)对象信息。 synchronized:查询已同步的(已下发的)对象信息 , 使用场景在任务处于全量中或者增量中。 is_refresh 否 String 是否强制刷新。取值: true:是,表示从源库重新查询。 false:否,表示从已缓存中数据查询。
  • 响应示例 状态码: 202 Accepted 结束任务响应示例 { "count" : 2, "results" : [ { "id" : "4c6ac8c0-2f51-426a-97b2-cb2c668jb201", "status" : "success" }, { "id" : "6211d20d-0006-41da-836e-db3301ajb20b", "status" : "failed", "error_code" : "DRS.M01504", "error_msg" : "Another operation is being performed on the migration task or the migration task is abnormal. Try again later." } ] } 删除任务响应示例 { "count" : 1, "results" : [ { "id" : "140b5236-88ad-43c8-811c-1268453jb101", "status" : "success" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 指定类型为application/json。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 X-Language 否 String 请求语言类型。 缺省值:en-us 取值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 jobs 是 Array of objects 批量结束与删除任务请求列表。 详情请参见表4。 表4 jobs字段数据结构说明 参数 是否必选 参数类型 描述 delete_type 是 String terminate:结束迁移任务,force_terminate:强制结束迁移任务,delete:删除迁移任务。 取值: terminate force_terminate delete 说明: 包年/包月任务需要先手动退订,然后delete_type参数设置为delete调用该接口删除任务。 job_id 是 String 任务ID。 is_show_breakpoint_position 否 Boolean MySQL为源的实时迁移、实时同步、实时灾备任务,结束任务时是否展示断点信息。缺省为null,表示不展示断点信息。
  • 响应参数 状态码: 202 表5 响应Body参数 参数 参数类型 描述 results Array of objects 批量结束任务或删除任务的响应体集合。 详情请参见表6。 count Integer 总数。 表6 results字段数据结构说明 参数 参数类型 描述 id String 任务ID。 status String 状态。取值: success failed error_code String 错误码。 error_msg String 错误信息。
  • 请求示例 结束指定的两个任务 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-jobs { "jobs" : [ { "delete_type" : "terminate", "job_id" : "4c6ac8c0-2f51-426a-97b2-cb2c668jb201" }, { "delete_type" : "terminate", "job_id" : "6211d20d-0006-41da-836e-db3301ajb20b" } ] } 删除指定任务 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-jobs { "jobs" : [ { "delete_type" : "delete", "job_id" : "140b5236-88ad-43c8-811c-1268453jb101" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用multipart/form-data,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn 表3 FormData参数 参数 是否必选 参数类型 描述 file 是 File 驱动文件,驱动文件名称长度5-64,以jar结尾,name相同会替换远程驱动文件
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 driver_name 是 String jdbc驱动文件名称,name的长度5-64,结尾以.jar结尾。
  • URI URI格式 PUT https://{Endpoint}/v3/{project_id}/instances/{instance_id}/name URI样例 https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in14/name 参数说明 表1 参数说明 名称 是否必选 说明 project_id 是 租户在某一region下的project ID。 获取方法请参见获取项目ID/名称。 instance_id 是 实例ID。
  • 响应示例 状态码: 200 OK { "tasks" : [ { "src_cloud_type" : "Aliyun", "src_region" : "cn-beijing", "src_bucket" : "api-auto-test1", "create_time" : 1577749013456, "last_start_time" : 1586249019394, "dst_bucket" : "oms-sonar-north", "dst_region" : "cn-north-1", "description" : "XXXX", "status" : "STOPPED", "enable_kms" : false, "enable_restore" : false, "total_acceptance_request" : 323, "total_success_object" : 123456, "total_failure_object" : 123, "total_skip_object" : 45623, "total_size" : 3241567342 }, { "src_cloud_type" : "Aliyun", "src_region" : "cn-beijing", "src_bucket" : "api-auto-test2", "create_time" : 1577749017780, "last_start_time" : 1586249012347, "dst_bucket" : "oms-sonar-north", "dst_region" : "cn-north-4", "description" : "XXXX", "status" : "STOPPED", "enable_kms" : false, "enable_restore" : false, "total_acceptance_request" : 34, "total_success_object" : 23423, "total_failure_object" : 6790, "total_skip_object" : 4727, "total_size" : 1454625400 } ], "count" : 2 }
  • 响应示例 状态码: 200 OK { "src_cloud_type" : "Aliyun", "src_region" : "cn-beijing", "src_bucket" : "api-auto-test1", "create_time" : 1577749013456, "last_start_time" : 1586249019394, "dst_bucket" : "oms-sonar-north", "dst_region" : "cn-north-1", "description" : "XXXX", "status" : "STOPPED", "enable_kms" : false, "enable_restore" : false, "total_acceptance_request" : 323, "total_success_object" : 123456, "total_failure_object" : 123, "total_skip_object" : 45623, "total_size" : 3241567342 }
  • Windows部分: 创建C:\smsWindowesAgent文件夹,在该文件夹下创建bin,Python,smsAgent等文件夹。 名称 作用 位置 bin 存放开机自启动脚本和peagent目录 C:\smsWiondowesAgent\bin python 安装python的目录 C:\smsWiondowesAgent\python smsAgent 利用python获取元数据的目录 C:\smsWiondowesAgent\smsAgent peagent 存放源端传输到目的端的迁移组件 C:\smsWiondowesAgent\bin\peagnet smsAgent文件夹中包含所有的获取证书的逻辑。 sms-agent将ssh公钥和私钥,上传到ECS的metedata中,需要编写脚本,从metedata中获取该数据,元数据中主要分为三个部分。 名称 作用 作用于的文件 sms_rsa_part(待弃用) ssh公钥(主机认证,身份认证) C:\Users\Administrator\.ssh\authorized_keys,C:\ProgramData\ssh\ssh_host_rsa_key.pub sms_rsa_pri_part(待弃用) ssh私钥(主机认证,身份认证) C:\ProgramData\ssh\ssh_host_rsa_key sms_rsa_host_old 新ssh公钥(主机认证) C:\ProgramData\ssh\ssh_host_rsa_key.pub sms_rsa_host_old_pri 新ssh私钥(主机认证) C:\ProgramData\ssh\ssh_host_rsa_key sms_rsa_identity ssh公钥证书(身份认证) C:\Users\Administrator.ssh\authorized_keys cert_part(待弃用) TSL1.2认证公钥 C:\smsWindowesAgent\bin\peAgent\config\cert.pem prikey_part(待弃用) TSL1.2认证私钥 C:\smsWindowesAgent\bin\peAgent\config\prikey.pem sms_rsa_part和sms_rsa_pri_part为通信用的ssh公钥和私钥。需要从目的端metedata中获取sms_rsa_part中的公钥和私钥,写入作用的文件。 bin目录下包含开机自启动需要包含的脚本,检测是否有peagent.exe程序在运行。 'tasklist /nh /fi "imagename eq peAgent.exe' 如果没有则持续开始启动peAgent.exe文件 start cmd /k "C:\smsWindowesAgent\bin\peAgent\peAgent.exe" 如果有则结束该脚本 注意该部分需要在smsAgent执行结束后,再执行该部分逻辑。
  • Linux部分: 需要创建~\smsMetadataAgent目录,目录中包含bin,Python,smsAgent 文件夹。 名称 作用 位置 bin 存放开机自启动脚本和peagent目录 ~\smsMetadataAgent\bin smsAgent 利用python获取元数据的目录 ~\smsMetadataAgent\smsAgent 同样需要注入公私钥,可以参考Windows部分从metedata中进行获取。 名称 作用 作用于的文件 sms_rsa_part(待弃用) ssh公钥(主机认证,身份认证) root/.ssh/authorized_keys,/etc/ssh/ssh_host_rsa_key.pub sms_rsa_pri_part(待弃用) ssh私钥(主机认证,身份认证) /etc/ssh/ssh_host_rsa_key sms_rsa_host_old 新ssh公钥(主机认证) /etc/ssh/ssh_host_rsa_key.pub sms_rsa_host_old_pri 新ssh私钥(主机认证) /etc/ssh/ssh_host_rsa_key sms_rsa_identity ssh公钥证书(身份认证) /root/.ssh/authorized_keys cert_part(待弃用) TSL1.2认证公钥 /home/config/cert.pem prikey_part(待弃用) TSL1.2认证私钥 /home/config/prikey.pem Linux开机自动运行脚本,将对应值写入对应文件即可。
  • 注意事项: 代理镜像脚本分为Linux代理镜像和Windows代理镜像。迁移请制作对应系统的脚本包。 用户自行制作代理镜像时,需要自行编写函数。如有疑问,请联系技术支持人员提供帮助。 Windows 临时代理镜像和Linux 临时代理镜像制作方法是基于迁移团队提供的脚本样例,用户如自行编写,仅做参考。 用户可以参考测试代理镜像中的脚本进行编写脚本,测试代理镜像脚本获取方法请参考测试代理镜像脚本获取办法。
  • 测试代理镜像脚本获取办法 登录SMS控制台,在左侧导航树,单击“迁移Agent",进入“迁移Agent”页面。 下载Windows Py2版本Agent,并上传源端服务器,双击“SMS-Agent-Py2.exe”文件,安装SMS-Agent。安装完成后,进入SMS-Agent命令行页面 输入AK/SK,sms_domain成功启动SMS-Agent后。 选择目的端创建迁移任务并开始迁移。 等待迁移任务进度“Mount the Agent image and relaunch the target" 到60%,单击暂停。 查看目的端,此时目的端是代理镜像临时磁盘。 登录代理镜像。 可以查看到(Linux:~\smsMetadataAgent,Windows:C:\smsWindowesAgent),即为测试代理镜像中所需脚本,用户可参考该脚本设置代理镜像。 密码需要使用密码重置插件进行重置,如果无法重置密码,可以使用新建目的端场景,新建目的端场景下可查看目的端密码。 Linux: Windows:
  • 创建SMS全局级云服务自定义策略 参考创建自定义策略中的“JSON视图配置自定义策略”,创建IAM自定义策略。 JSON视图策略内容如下:(将如下内容复制到策略内容中) { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "sms:server:registerServer", "sms:server:migrationServer", "sms:server:queryServer" ] } ] } 在统一身份认证服务,左侧导航窗格中,选择“用户组”,进入用户组列表页面。 单击创建的用户组“Test_EPS”名称,进入“授权记录”页签。 单击“授权”,勾选创建的SMS全局级云服务自定义策略,单击“下一步”。 授权范围选择“所有资源”,单击“确定”。
  • 创建IAM自定义策略并为用户组IAM项目授权 参考创建自定义策略中的“JSON视图配置自定义策略”,创建IAM自定义策略“SMS Custom Policy For EPS At IAM”。 JSON视图策略内容如下:(将如下内容复制到策略内容中) { "Version": "1.1", "Statement": [ { "Action": [ "ecs:availabilityZones:list", "ecs:servers:list", "ecs:servers:unlock", "ecs:servers:lock", "ecs:servers:reboot", "ecs:serverPasswords:manage", "ecs:diskConfigs:use", "ecs:servers:setMetadata", "ecs:serverVolumes:use", "ecs:serverKeypairs:create", "ecs:serverKeypairs:get", "ecs:serverKeypairs:delete", "ecs:serverInterfaces:use", "ecs:serverGroups:manage", "ecs:securityGroups:use", "vpc:securityGroupRules:create", "vpc:securityGroupRules:delete", "vpc:securityGroupRules:get", "vpc:securityGroupRules:update", "vpc:networks:get", "vpc:ports:get", "vpc:vpcTags:get", "vpc:subnetTags:get", "vpc:routers:get", "vpc:securityGroups:get", "evs:volumes:list", "evs:types:get" ], "Effect": "Allow" } ] } 在统一身份认证服务,左侧导航窗格中,选择“用户组”,进入用户组列表页面。 单击创建的用户组“Test_EPS”名称,进入“授权记录”页签。 单击“授权”,勾选“SMS Custom Policy For EPS At IAM”策略,单击“下一步”。 授权范围选择“所有资源”,单击“确定”。
  • 创建IAM自定义策略并为用户组企业项目授权 参考创建自定义策略中的“JSON视图配置自定义策略”,创建IAM自定义策略“SMS Custom Policy For EPS”。 JSON视图策略内容如下:(将如下内容复制到策略内容中) { "Version": "1.1", "Statement": [ { "Action": [ "vpc:securityGroups:create", "vpc:securityGroups:delete", "vpc:vpcs:create", "vpc:vpcs:delete", "vpc:publicIps:create", "vpc:publicIps:delete", "vpc:subnets:create", "vpc:subnets:delete", "ecs:cloudServers:create", "ecs:cloudServers:attach", "ecs:cloudServers:detachVolume", "ecs:cloudServers:start", "ecs:cloudServers:stop", "ecs:cloudServers:delete", "ecs:cloudServers:reboot", "ecs:cloudServers:updateMetadata", "ecs:cloudServers:vnc", "ecs:serverPasswords:manage", "ecs:serverKeypairs:delete", "ecs:diskConfigs:use", "ecs:CloudServers:create", "ecs:servers:setMetadata", "ecs:serverVolumes:use", "ecs:serverKeypairs:create", "ecs:serverInterfaces:use", "ecs:serverGroups:manage", "ecs:securityGroups:use", "ecs:servers:unlock", "ecs:servers:rebuild", "ecs:servers:lock", "evs:volumes:use", "evs:volumes:create", "evs:volumes:update", "evs:volumes:delete", "evs:snapshots:create", "evs:snapshots:delete", "evs:snapshots:rollback", "ecs:*:get*", "ecs:*:list*", "evs:*:get*", "evs:*:list*", "vpc:*:list*", "vpc:*:get*", "ims:*:get*", "ims:*:list*" ], "Effect": "Allow" } ] } 在统一身份认证服务,左侧导航窗格中,选择“用户组”,进入用户组列表页面。 单击创建的用户组“Test_EPS”名称,进入“授权记录”页签。 单击“授权”,勾选”SMS FullAccess” 和“SMS Custom Policy For EPS”策略,单击“下一步”。 授权范围选择“指定企业项目资源”,在项目资源列表中选择开通并创建企业项目所创建的企业项目,单击“确定”。
共100000条