更新时间:2025-07-25 GMT+08:00

权限及授权项说明

如果您需要对您所拥有的CloudDC进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),如果华为云账号已经能满足您的要求,您可以跳过本章节,不影响您使用CloudDC服务的其它功能。

通过IAM,您可以通过授权控制主体(IAM用户、用户组、IAM委托或信任委托)对华为云资源的访问范围。目前IAM支持两类授权,一类是角色与策略授权,另一类为身份策略授权。

表1 两类授权的区别

名称

核心关系

涉及的权限

授权方式

适用场景

角色与策略授权

用户-权限-授权范围

  • 系统角色
  • 系统策略
  • 自定义策略

为主体授予角色或策略

核心关系为“用户-权限-授权范围”,每个用户根据所需权限和所需授权范围进行授权,无法直接给用户授权,需要维护更多的用户组,且支持的条件键较少,难以满足细粒度精确权限控制需求,更适用于对细粒度权限管控要求较低的中小企业用户。

身份策略授权

用户-策略

  • 系统策略
  • 自定义身份策略
  • 为主体授予身份策略
  • 身份策略附加至主体

核心关系为“用户-策略”,管理员可根据业务需求定制不同的访问控制策略,能够做到更细粒度更灵活的权限控制,新增资源时,对比角色与策略授权,基于身份策略的授权模型可以更快速地直接给用户授权,灵活性更强,更方便,但相对应的,整体权限管控模型构建更加复杂,对相关人员专业能力要求更高,因此更适用于中大型企业。

例如:如果需要对IAM用户授予可以创建华北-北京四区域的CloudDC资源和华南-广州区域的CloudDC资源的权限,基于策略授权的场景中,管理员需要创建两个自定义策略,并且为IAM用户同时授予这两个自定义策略才可以实现权限控制。在基于身份策略授权的场景中,管理员仅需要创建一个自定义身份策略,在策略中通过条件键“g:RequestTag”的配置即可达到策略对于授权区域的控制。将身份策略附加主体或为主体授予该身份策略即可获得相应权限,权限配置方式更细粒度更灵活。

两种授权场景下的策略/身份策略、授权项等并不互通,云化数据中心 (CloudDC)服务支持使用身份策略进行授权。

账号下的IAM用户发起API请求时,该IAM用户必须具备调用该接口所需的权限,否则,API请求将调用失败。每个接口所需要的权限,与各个接口所对应的授权项相对应,只有发起请求的用户被授予授权项所对应的策略,该用户才能成功调用该接口。

例如:用户要调用接口来查询iMetal服务器列表,那么在策略授权的场景中,这个IAM用户被授予的权限中必须包含允许“clouddc:imetal:list”的授权项,该接口才能调用成功。在身份策略授权的场景中,这个IAM用户被授予的权限中包含“clouddc:imetal:list”的授权项,该接口才能调用成功。

支持的授权项

策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下:

  • 权限:允许或拒绝某项操作。
  • 对应API接口:自定义策略实际调用的API接口。
  • 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。
  • 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。
  • IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目,“√”表示支持,“×”表示暂不支持。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别

云化数据中心 (CloudDC)支持的自定义策略授权项如下所示:

表2 机柜管理

权限

对应API接口

授权项(Action)

IAM项目(Project)

企业项目 (Enterprise Project)

更新 iRack 实例

PUT /api/v1/{project_id}/iracks/{irack_id}

clouddc:irack:update

×

查询 iRack 实例列表

GET /api//v1/{project_id}/iracks

clouddc:irack:list

×

表3 机房管理

权限

对应API接口

授权项(Action)

IAM项目(Project)

企业项目 (Enterprise Project)

修改 IDC 描述

PUT /api/v1/{project_id}/idcs

clouddc:idc:update

×

查询 IDC 列表

GET /api/v1/{project_id}/idcs

clouddc:idc:list

×

表4 物理服务器管理

权限

对应API接口

授权项(Action)

IAM项目(Project)

企业项目 (Enterprise Project)

批量查询物理服务器

GET /v1/{project_id}/physicalservers

clouddc:imetal:listServer

×

查询物理服务器信息

GET /v1/{project_id}/physicalservers/{id}

clouddc:imetal:getServer

×

获取console地址信息

GET /v1/{project_id}/physicalservers/{id}/remote-console-address

clouddc:imetal:createRemoteConsoleLink

×

查询服务器硬件详细信息

GET /v1/{project_id}/physicalservers/{id}/hardware-attributes

clouddc:imetal:getHardwareAttribute

×

查询服务器固件详细信息

GET /v1/{project_id}/physicalservers/{id}/firmware-attributes

clouddc:imetal:getFirmwareAttribute

×

批量修改物理服务器电源状态

PUT /v1/{project_id}/physicalservers/power-state

clouddc:imetal:updatePowerStatus

×

导出服务器日志请求

POST /v1/{project_id}/physicalservers/{id}/logs/exports

clouddc:imetal:createDumpLog

×

查询日志导出状态

GET /v1/{project_id}/physicalservers/{id}/logs/exports/{export_id}

clouddc:imetal:getDumpLogProgress

×

下载日志文件

GET /v1/{project_id}/physicalservers/{id}/logs/exports/{export_id}/content

clouddc:imetal:createDownloadLog

×

表5 裸机实例管理

权限

对应API接口

授权项(Action)

IAM项目(Project)

企业项目 (Enterprise Project)

批量创建实例

POST /v1/{project_id}/instances/batch-create

clouddc:instance:createBatch

×

创建实例

POST /v1/{project_id}/instances

clouddc:instance:create

×

批量查询实例

GET /v1/{project_id}/instances

clouddc:instance:list

×

批量删除实例

POST /v1/{project_id}/instances/batch-delete

clouddc:instance:deleteBatch

×

查询实例状态

GET /v1/{project_id}/instances/{id}/status

clouddc:instance:get

×

批量重新安装OS

PUT /v1/{project_id}/instances/reinstall

clouddc:instance:reinstallOS

×

批量修改实例密码

PUT /v1/{project_id}/instances/password

clouddc:instance:changePassword

×

删除实例

DELETE /v1/{project_id}/instances/{id}

clouddc:instance:delete

×

修改实例ip

PUT /v1/{project_id}/instances/{id}/ip

clouddc:imetal:updateIP

×

表6 物理服务器诊断

权限

对应API接口

授权项(Action)

IAM项目(Project)

企业项目 (Enterprise Project)

服务器概览

GET /v1/{project_id}/physicalservers/status

clouddc::listStatus

×

服务器告警概览

GET /v1/{project_id}/physicalservers/alarms/summary

clouddc::listAlarmStat

×

服务器告警趋势

GET /v1/{project_id}/physicalservers/alarms/trend

clouddc::listAlarmTrend

×

服务器告警列表

GET /v1/{project_id}/physicalservers/alarms

clouddc::listAlarm

×

服务器事件列表

GET /v1/{project_id}/physicalservers/events

clouddc::listEvent

×

查询事件定义

GET /v1/{project_id}/physicalservers/events/{event_id}

clouddc::listIEventDicts

×

表7 标签管理

权限

对应API接口

授权项(Action)

IAM项目(Project)

企业项目 (Enterprise Project)

批量创建机柜标签

POST https://www.example.com/v1/{project_id}/iracks/{id}/tags/create

clouddc:irack:tagResource

×

批量删除机柜标签

POST https://www.example.com/v1/{project_id}/iracks/{id}/tags/delete

clouddc:irack:unTagResource

×

批量创建资源标签

POST /v1/{project_id}/{resource_type}/{resource_id}/tags/create

clouddc::tagResource

×

批量删除资源标签

POST /v1/{project_id}/{resource_type}/{resource_id}/tags/delete

clouddc::unTagResource

×