# 身份策略授权参考 BSS
云服务在IAM预置了常用授权项，称为系统身份策略。如果IAM系统身份策略无法满足授权要求，管理员可以根据各服务支持的授权项，创建IAM自定义身份策略来进行精细的访问控制，IAM自定义身份策略是对系统身份策略的扩展和补充。
除IAM服务外，[Organizations](https://support.huaweicloud.com/productdesc-organizations/org_01_0011.html)服务中的[服务控制策略](https://support.huaweicloud.com/usermanual-organizations/org_03_0065.html)（Service Control Policies，以下简称SCP）也可以使用这些授权项元素设置访问控制策略。
SCP不直接进行授权，只划定权限边界。将SCP绑定到组织单元或者成员账号时，并没有直接对组织单元或成员账号授予操作权限，而是规定了成员账号或组织单元包含的成员账号的授权范围。IAM策略授予权限的有效性受SCP限制，只有在SCP允许范围内的权限才能生效。
IAM服务与Organizations服务在使用这些元素进行访问控制时，存在着一些区别，详情请参见：[IAM服务与Organizations服务权限访问控制的区别](https://support.huaweicloud.com/organizations_faq/org_06_0004.html)
本章节介绍IAM服务基于身份策略授权场景中自定义策略和组织服务中SCP使用的元素，这些元素包含了操作（Action）、资源（Resource）和条件（Condition）。
- 如何使用这些元素编辑IAM自定义身份策略，请参考[创建自定义身份策略](https://support.huaweicloud.com/usermanual-iam5/iam_01_0917.html)
- 如何使用这些元素编辑SCP自定义策略，请参考[创建SCP](https://support.huaweicloud.com/usermanual-organizations/org_03_0035.html)。
#### 操作（Action）
操作（Action）即为身份策略中支持的授权项。
- **"访问级别"**列描述如何对操作进行分类（list、read和write等）。此分类可帮助您了解在策略中相应操作对应的访问级别。
- **"资源类型"** 列指每个操作是否支持资源级权限。
  - 资源类型支持通配符号\*表示所有。如果此列没有值（-），则必须在策略语句的Resource元素中指定所有资源类型（"\*"）。
  
  - 如果该列包含资源类型，则必须在具有该操作的语句中指定该资源的URN。
  
  - 资源类型列中必需资源在表中用星号（\*）标识，表示使用此操作必须指定该资源类型。
  
  
  关于**BSS** 定义的资源类型的详细信息请参见[资源类型（Resource）]。
  
- **"条件键"** 列包括了可以在策略语句的Condition元素中支持指定的键值。
  - 如果该授权项资源类型列存在值，则表示条件键仅对列举的资源类型生效。
  
  - 如果该授权项资源类型列没有值（-），则表示条件键对整个授权项生效。
  
  - 如果此列条件键没有值（-），表示此操作不支持指定条件键。
  
  
  关于**BSS** 定义的条件键的详细信息请参见[条件（Condition）]。
  
- "**别名** "列包括了可以在身份策略中配置的策略授权项。通过这些授权项，可以控制支持策略授权的API访问。详细信息请参见[身份策略兼容性说明](https://support.huaweicloud.com/iam5_faq/iam_01_1103.html)。
您可以在身份策略语句的Action元素中指定以下API的相关操作。
![](https://support.huaweicloud.com/api-oce/public_sys-resources/note_3.0-zh-cn.png)
billing:contract:viewDiscount 授权项仅影响响应中的折扣信息返回。即使没有该权限，接口仍可正常调用，但响应中将不返回折扣信息。
表1**BSS** 支持的授权项 
| 授权项                                                                          | 描述          | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名  |
|:---|:---|:---|:---|:---|:---|
| billing:contract:viewDiscount                                                                              | 授予查看商务折扣的权限 | read | -                                         | -                               | -    |
| billing:contract:view                                                                                     | 授予在费用中心查看线上合同、商务及商务折扣的权限。                | read                              | -                                        | -                                  | -     |
| billing:balance:view                                                                                          | 授予查看收支明细，付款历史记录，消费配额，调账记录，欠费查询的权限         | list                               | -                                       | -                                 | -   |
| billing:coupon:view                                                                                         | 授予查看优惠券、储值卡、激活代金券的权限                       | read                               | -                                        | -                                | -    |
| billing:order:view                                                                                           | 授予查看订单信息、查看按需套餐包的权限                     | list                              | -                                       | -                               | -   |
| billing:order:pay                                                                                         | 授予支付订单的权限                                | write                               | -                                          | -                                | -   |
| billing:subscription:view                                                                                     | 授予查看续费管理信息，查询可按需转包年/包月资源列表的权限            | read                              | -                                      | -                              | -   |
| billing:subscription:renew                                                                                   | 授予续费、设置自动续费、设置到期策略、按需转包年/包月的权限             | write                               | -                                        | -                                | -  |
| billing:subscription:toDemand                                                                                  | 授予即时转按需的权限。                                | write                             | -                                      | -                                 | -   |
| billing:subscription:resourceUnsubscribe billing:subscription:unsubscribe（待下线） | 授予查看可退订资源，退订资源，取消发货，硬件退换货的权限            | write                            | -                                        | -                               | - |
| billing:resourcePackages:view                                                                              | 授予查看资源包，剩余量汇总，使用明细查询/导出的权限                | list                               | -                                        | -                                | -   |
| billing:billDetail:view                                                                                   | 授予查看账单明细的权限  | read                               | -                                         | -                                 | -   |
| billing:bill:view                                                                                         | 授予查看账单、本月消费、近7天扣费资源，消费走势的权限                | list                               | -                                        | -                                | -    |
| costCenter:costDetail:listCostDetails                                                                      | 授予查询成本明细的权限                                | read                                  | -                                           | -                                   | -      |
| costCenter:costAnalysis:listCosts                                                                           | 授予查看成本分析的权限                               | read                               | -                                       | -                                | -    |
| Billing::activeEPFinance                                                                                   | 授予开通企业项目功能的权限                             | write                               | -                                       | -                                | -  |
| businessUnitCenter:businessUnit:view                                                                      | 授予查看组织与账号的权限                             | read                            | -                                      | -                                 | -     |
| businessUnitCenter:businessUnitFinance:view                                                               | 授予查看企业组织财务信息的权限                          | read                             | -                                        | -                                  | -   |
| businessUnitCenter:businessUnitFinance:update                                                               | 授予修改企业组织财务信息的权限                          | write                           | -                                      | -                                | -    |
   
**BSS** 的API通常对应着一个或多个授权项。[表 API与授权项的关系]展示了API与授权项的关系，以及该API需要依赖的授权项。
![](https://support.huaweicloud.com/api-oce/public_sys-resources/note_3.0-zh-cn.png)
细粒度鉴权失败情况下，响应字段encoded_authorization_message的值需要调安全令牌服务STS提供的接口解密后才能查看。解密接口的APIE地址：[解密鉴权失败的原因](https://console.huaweicloud.com/apiexplorer/#/openapi/STS/debug?version=v1&api=DecodeAuthorizationMessage)。
注意：调用者需要有 sts::decodeAuthorizationMessage 的权限才在APIE调用解密接口，否则报错：STS5.1001。
 表2API与授权项的关系 
| **场景**                                                                                                                 | **子场景**                                                   | 接口名称                           | 接口URL（API）                                                      | 对应的授权项                                                                                                                                                                                                              | 授权项名称                                 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|:---|
| 管理产品                                                                                                           | 查询商品价格                                         | 查询按需产品价格                    | POST /v2/bills/ratings/on-demand-resources                       | billing:contract:viewDiscount                                                                                                                                                                                       | 查看折扣、价格信息。                             | -      |
| 管理产品                                                                                                           | 查询商品价格                                         | 查询包年/包月产品价格                  | POST /v2/bills/ratings/period-resources/subscribe-rate           | billing:contract:viewDiscount                                                                                                                                                                                       | 查看折扣、价格信息                             | -      |
| 管理产品                                                                                                           | 查询商品价格                                         | 查询包年/包月资源的续订金额                | POST /v2/bills/ratings/period-resources/renew-rate                | billing:contract:viewDiscount                                                                                                                                                                                        | 查看折扣、价格信息。                          | -         |
| 管理账户                                                                                                       | 管理账户                                            | 查询账户余额                        | GET /v2/accounts/customer-accounts/balances                        | billing:balance:view                                                                                                                                                                                                | 查看账户信息。                               | -        |
| 管理账户                                                                                                       | 管理账户                                            | 查询储值卡列表                      | GET /v2/promotions/benefits/stored-value-cards                  | billing:coupon:view                                                                                                                                                                                                | 查看优惠券、现金券、代金券。                       | -      |
| 管理账户                                                                                                       | 管理账户                                            | 查询收支明细                    | GET /v2/accounts/customer-accounts/account-change-records        | billing:balance:view                                                                                                                                                                                                | 查看账户信息。                              | -     |
| 管理交易                 | 管理优惠折扣                                          | 查询优惠券列表                    | GET /v2/promotions/benefits/coupons                                 | billing:coupon:view                                                                                                                                                                                                 | 查看优惠券、现金券、代金券。                        | -      |
| 管理交易                 | 管理优惠折扣                                          | 查询优惠券收支明细                    | GET /v2/promotions/benefits/account-change-records               | billing:balance:view                                                                                                                                                                                               | 查看账户信息。                              | -     |
| 管理交易                 | 管理优惠折扣                                          | 查询商务折扣信息                   | POST /v2/promotions/business/discount-info                      | billing:contract:view                                                                                                                                                                                              | 授予在费用中心查看线上合同、商务及商务折扣的权限。           | -      |
| 管理交易                 | 管理包年/包月订单         | 查询订单列表                        | GET /v2/orders/customer-orders                                  | billing:order:view                                                                                                                                                                                                   | 查看订单信息。                             | -      |
| 管理交易                 | 管理包年/包月订单         | 查询订单详情                       | GET /v2/orders/customer-orders/details/{order_id}                 | billing:order:view                                                                                                                                                                                                    | 查看订单信息。                              | -      |
| 管理交易                 | 管理包年/包月订单         | 查询订单可用优惠券                   | GET /v2/orders/customer-orders/order-coupons                    | billing:order:view                                                                                                                                                                                                   | 查看订单信息。                           | -       |
| 管理交易                 | 管理包年/包月订单         | 查询订单可用折扣                      | GET /v2/orders/customer-orders/order-discounts                  | billing:contract:viewDiscount                                                                                                                                                                                      | 查看折扣、价格信息。                          | -      |
| 管理交易                 | 管理包年/包月订单         | 支付包年/包月产品订单                   | POST /v3/orders/customer-orders/pay                                | billing:order:pay                                                                                                                                                                                                  | 订单支付。                                | -      |
| 管理交易                 | 管理包年/包月订单         | 查询退款订单的金额详情                  | GET /v2/orders/customer-orders/refund-orders                      | billing:order:view                                                                                                                                                                                                  | 查看订单信息。                             | -      |
| 管理交易                 | 管理包年/包月资源        | 查询客户包年/包月资源列表               | POST /v2/orders/suscriptions/resources/query                        | - billing:subscription:view  - billing:order:view（待下线）                                       | 查看订单信息。                               | -     |
| 管理交易                 | 管理包年/包月资源        | 续订包年/包月资源                    | POST /v2/orders/subscriptions/resources/renew                    | billing:subscription:renew                                                                                                                                                                                         | 下单、取消订单、修改收货地址。                       | -       |
| 管理交易                 | 管理包年/包月资源        | 退订包年/包月资源                   | POST /v2/orders/subscriptions/resources/unsubscribe              | - billing:subscription:resourceUnsubscribe  - billing:subscription:unsubscribe（待下线）       | 下单、取消订单、修改收货地址。                    | -       |
| 管理交易                 | 管理包年/包月资源        | 设置包年/包月资源自动续费                 | POST /v2/orders/subscriptions/resources/autorenew/{resource_id} | billing:subscription:renew                                                                                                                                                                                         | 下单、取消订单、修改收货地址。                     | -        |
| 管理交易                 | 管理包年/包月资源        | 取消包年/包月资源自动续费                  | DELETE /v2/orders/subscriptions/resources/autorenew/{resource_id}  | billing:subscription:renew                                                                                                                                                                                         | 下单、取消订单、修改收货地址。                     | -      |
| 管理交易                 | 管理包年/包月资源        | 设置或取消包年/包月资源到期转按需            | POST /v2/orders/subscriptions/resources/to-on-demand               | billing:subscription:renew                                                                                                                                                                                       | 下单、取消订单、修改收货地址。                      | -      |
| 管理交易                 | 管理包年/包月资源        | 设置包年/包月资源即时转按需             | POST /v2/orders/subscriptions/resources/to-on-demand/instantly    | billing:subscription:toDemand                                                                                                                                                                                     | 授予即时转按需的权限。                         | -       |
| 管理交易                 | 管理包年/包月资源        | 设置包年/包月资源自动续费扣款日和续费后资源统一到期日 | POST /v2/orders/subscriptions/resources/renew/config           | billing:subscription:renew                                                                                                                                                                                         | 下单、取消订单、修改收货地址。                     | -       |
| 管理交易                 | 管理资源包                                   | 查询资源包列表                       | POST /v3/payments/free-resources/query                           | billing:resourcePackages:view                                                                                                                                                                                       | 查看账单、月度成本、用量明细、成本管理、收支以及总览页面的费用走势。    | -       |
| 管理交易                 | 管理资源包                                   | 查询资源包使用明细                     | GET /v2/bills/customer-bills/free-resources-usage-records         | - billing:resourcePackages:view  - billing:billDetail:view（待下线）                        | 查看消费明细、资源消费、账单分析、付款历史记录。             | -       |
| 管理交易                 | 管理资源包                                   | 查询资源包使用量                    | POST /v2/payments/free-resources/usages/details/query             | billing:resourcePackages:view                                                                                                                                                                                       | 查看账单、月度成本、用量明细、成本管理、收支以及总览页面的费用走势。   | -      |
| 管理账单                                                                                          | 管理账单                                         | 查询资源详单                       | POST /v2/bills/customer-bills/res-records/query                  | billing:billDetail:view                                                                                                                                                                                             | 查看消费明细、资源消费、账单分析、付款历史记录。               | -         |
| 管理账单                                                                                          | 管理账单                                         | 查询汇总账单                      | GET /v2/bills/customer-bills/monthly-sum                        | billing:bill:view                                                                                                                                                                                                   | 查看账单、月度成本、用量明细、成本管理、收支以及总览页面的费用走势。 | -      |
| 管理账单                                                                                          | 管理账单                                         | 查询资源消费记录                     | GET /v2/bills/customer-bills/res-fee-records                      | - billing:billDetail:view  - billing:bill:view（待下线）                                               | 查看账单、月度成本、用量明细、成本管理、收支以及总览页面的费用走势。   | -      |
| 管理账单                                                                                          | 管理账单                                         | 查询流水账单                         | GET /v2/bills/customer-bills/fee-records                            | - billing:billDetail:view  - billing:bill:view（待下线）                                       | 查看账单、月度成本、用量明细、成本管理、收支以及总览页面的费用走势。  | -       |
| 管理账单                                                                                          | 查询95计费资源用量                                           | 查询95计费资源用量明细              | GET /v2/bills/customer-bills/resources/usage/details            | billing:billDetail:view                                                                                                                                                                                              | 查看消费明细、资源消费、账单分析、付款历史记录。           | -      |
| 管理账单                                                                                          | 查询95计费资源用量                                           | 查询95计费资源用量汇总                | GET /v2/bills/customer-bills/resources/usage/summary            | billing:resourcePackages:view                                                                                                                                                                                     | 查看账单、月度成本、用量明细、成本管理、收支以及总览页面的费用走势。 | -      |
| 管理成本                                                                                                                  | 管理成本                                           | 查询月度成本                      | GET /v2/costs/cost-analysed-bills/monthly-breakdown             | - costCenter:costDetail:listCostDetails  - costCenter:costAnalysis:listCosts（待下线）   | 查看成本分析。                           | -       |
| 管理成本                                                                                                                  | 管理成本                                           | 查询成本数据                        | POST /v4/costs/cost-analysed-bills/query                         | costCenter:costAnalysis:listCosts                                                                                                                                                                                  | 查看成本分析。                             | -      |
| 管理企业                                                                                                            | 管理企业项目                                                     | 开通客户企业项目权限                  | POST /v2/enterprises/enterprise-projects/authority                  | Billing::activeEPFinance                                                                                                                                                                                            | 开通企业项目功能。                           | -      |
| 管理企业                                                                                                            | 管理企业多账号                                               | 查询企业子账号列表                   | GET /v2/enterprises/multi-accounts/sub-customers                  | businessUnitCenter:businessUnit:view                                                                                                                                                                                | 企业中心组织与账号查看权限。                         | -       |
| 管理企业                                                                                                            | 管理企业多账号                                               | 查询企业组织结构                      | GET /v2/enterprises/multi-accounts/enterprise-organizations       | businessUnitCenter:businessUnit:view                                                                                                                                                                               | 企业中心组织与账号查看权限。                       | -        |
| 管理企业                                                                                                            | 管理企业多账号                                               | 查询企业主的可拨款余额                  | GET /v2/enterprises/multi-accounts/transfer-amount                | businessUnitCenter:businessUnitFinance:view                                                                                                                                                                       | 查看企业组织财务信息。                          | -       |
| 管理企业                                                                                                            | 管理企业多账号                                               | 查询企业子账号可回收余额                | GET /v2/enterprises/multi-accounts/retrieve-amount             | businessUnitCenter:businessUnitFinance:view                                                                                                                                                                         | 查看企业组织财务信息。                         | -       |
| 管理企业                                                                                                            | 管理企业多账号                                               | 创建企业子账号                     | POST /v2/enterprises/multi-accounts/sub-customers                  | businessUnitCenter:businessUnit:view                                                                                                                                                                                | 修改企业组织与子账号                         | -      |
| 管理企业                                                                                                            | 管理企业多账号                                               | 企业主账号向企业子账号拨款               | POST /v2/enterprises/multi-accounts/transfer-amount               | businessUnitCenter:businessUnitFinance:update                                                                                                                                                                        | 修改企业组织财务信息。                       | -       |
| 管理企业                                                                                                            | 管理企业多账号                                               | 企业主账号从企业子账号回收余额           | POST /v2/enterprises/multi-accounts/retrieve-amount              | businessUnitCenter:businessUnitFinance:update                                                                                                                                                                     | 修改企业组织财务信息。                          | -      |
| 管理企业                                                                                                            | 管理企业多账号                                               | 查询企业主账号可拨款优惠券列表            | GET /v2/enterprises/multi-accounts/transfer-coupons              | businessUnitCenter:businessUnitFinance:view                                                                                                                                                                       | 查看企业组织财务信息                           | -       |
| 管理企业                                                                                                            | 管理企业多账号                                               | 查询企业子账号可回收优惠券列表             | GET /v2/enterprises/multi-accounts/retrieve-coupons              | businessUnitCenter:businessUnitFinance:view                                                                                                                                                                        | 查看企业组织财务信息                          | -     |
| 管理企业                                                                                                            | 管理企业多账号                                               | 企业主账号向企业子账号拨款优惠券             | POST v2/enterprises/multi-accounts/transfer-coupon               | businessUnitCenter:businessUnitFinance:update                                                                                                                                                                       | 修改企业组织财务信息                            | -        |
| 管理企业                                                                                                            | 管理企业多账号                                               | 企业主账号从企业子账号回收优惠券           | POST /v2/enterprises/multi-accounts/retrieve-coupon              | businessUnitCenter:businessUnitFinance:update                                                                                                                                                                       | 修改企业组织财务信息                          | -      |
   
 #### 资源类型（Resource）
**BSS** 服务不支持在身份策略中的资源中指定资源进行权限控制。如需允许访问**BSS**服务，请在策略的Resource元素中使用通配符号\*，表示策略将应用到所有资源。
 #### 条件（Condition）
条件（Condition）是身份策略生效的特定条件，包括[条件键](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html)和[运算符](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html)。
- 条件键表示身份策略语句的Condition元素中的键值。根据适用范围，分为全局级条件键和服务级条件键。
  - 全局级条件键（前缀为g:）适用于所有操作，在鉴权过程中，云服务不需要提供用户身份信息，系统将自动获取并鉴权。详情请参见：[全局条件键](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html)。
  
  - 服务级条件键（前缀通常为服务缩写，如BSS:）仅适用于对应服务的操作，详情请参见[表3]。
  
  - 单值/多值表示API调用时请求中与条件关联的值数。单值条件键在API调用时的请求中最多包含一个值，多值条件键在API调用时请求可以包含多个值。例如：g:SourceVpce是单值条件键，表示仅允许通过某个VPC终端节点发起请求访问某资源，一个请求最多包含一个VPC终端节点ID值。g:TagKeys是多值条件键，表示请求中携带的所有标签的key组成的列表，当用户在调用API请求时传入标签可以传入多个值。
   
- 运算符与条件键、条件值一起构成完整的条件判断语句，当请求信息满足该条件时，身份策略才能生效。支持的运算符请参见：[运算符](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html)。
**BSS**定义了以下可以在身份策略的Condition元素中使用的条件键，您可以使用这些条件键进一步细化身份策略语句应用的条件。
 表3BSS支持的服务级条件键 
| 服务级条件键                    | 类型     | 单值/多值  | 说明                       |
|:---|:---|:---|:---|
| billing:cloudServiceType | string | 多值 | 根据请求参数中云服务的类型，过滤访问。常见问题 |
   
**条件键示例**
- billing:cloudServiceType 示例：表示仅支持退订hws.service.type.ebs云服务资源订单
  ```
  {
  "Version": "5.0",
  "Statement": [{
  "Effect": "Allow",
  "Action": [
  "billing:subscription:resourceUnsubscribe"
  ],
  "Condition": {
  "ForAnyValue:StringEquals": {
  "billing:cloudServiceType": [
                                   "hws.service.type.ebs"
                               ]
  }
  }
  }]
  }
  ```
  
 
