
# 权限管理
如果您需要为华为云上购买的ROMA Connect资源，给企业中的员工设置不同的访问权限，以达到不同员工之间的权限隔离，您可以使用统一身份认证服务（Identity and Access Management，简称IAM）进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能，可以帮助您安全的控制资源的访问。
通过IAM，您可以在华为云账号中给员工创建IAM用户，并使用策略来控制他们对华为云资源的访问范围。例如您的员工中有负责软件开发的人员，您希望他们拥有ROMA Connect的使用权限，但是不希望他们拥有删除ROMA Connect等高危操作的权限，那么您可以使用IAM为开发人员创建用户，通过授予仅能使用ROMA Connect，但是不允许删除ROMA Connect的权限，控制他们对ROMA Connect资源的使用范围。
如果华为云账号已经能满足您的要求，不需要创建独立的IAM用户进行权限管理，您可以跳过本章节，不影响您使用ROMA Connect服务的其它功能。
IAM是华为云提供权限管理的基础服务，无需付费即可使用，您只需要为您账号中的资源进行付费。关于IAM的详细介绍，请参见[IAM产品介绍](https://support.huaweicloud.com/productdesc-iam/iam_01_0026.html)。
#### ROMA Connect权限
默认情况下，管理员创建的IAM用户没有任何权限，需要将其加入用户组，并给用户组授予策略或角色，才能使得用户组中的用户获得对应的权限，这一过程称为授权。授权后，用户就可以基于被授予的权限对云服务进行操作。
ROMA Connect部署时通过物理区域划分，为项目级服务。授权时，"作用范围"需要选择"区域级项目"，然后在指定区域（如华北-北京1）对应的项目（cn-north-1）中设置相关权限，并且该权限仅对此项目生效；如果在"所有项目"中设置权限，则该权限在所有区域项目中都生效。访问ROMA Connect时，需要先切换至授权区域。
权限根据授权精细程度分为角色和策略。
- 角色：IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度，提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系，因此给用户授予角色时，可能需要一并授予依赖的其他角色，才能正确完成业务。角色并不能满足用户对精细化授权的要求，无法完全达到企业对权限最小化的安全管控要求。
- 策略：IAM最新提供的一种细粒度授权的能力，可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式，能够满足企业对权限最小化的安全管控要求。例如：针对ROMA Connect服务，管理员能够控制IAM用户仅能对实例内的资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分，ROMA Connect支持的API授权项请参见[细粒度策略支持的授权项](https://support.huaweicloud.com/api-roma/roma_06_0018.html)
如[表1]所示，包括了ROMA Connect的所有系统权限。
 表1ROMA Connect系统权限 
| 系统角色/策略名称             | 描述                                                   | 类别   | 依赖关系 |
|:---|:---|:---|:---|
| ROMA FullAccess       | ROMA Connect服务管理员权限，拥有该权限的用户可以操作所有ROMA Connect服务的功能。 | 系统策略 | 无    |
| ROMA CommonOperations | ROMA Connect服务普通用户权限（无实例创建、修改、删除的权限）。                | 系统策略 | 无    |
| ROMA ReadOnlyAccess   | ROMA Connect服务的只读权限，拥有该权限的用户仅能查看ROMA Connect服务数据。    | 系统策略 | 无    |
| ROMA Administrator    | ROMA Connect服务管理员权限，拥有该权限的用户可以操作所有ROMA Connect服务的功能。 | 系统角色 | 无    |
   
[表2]列出了ROMA Connect常用操作与系统权限的授权关系，您可以参照该表选择合适的系统权限。
 表2常用操作与系统权限的关系 
| 操作                 | ROMA FullAccess | ROMA CommonOperations | ROMA ReadOnlyAccess | ROMA Administrator |
|:---|:---|:---|:---|:---|
| 创建ROMA Connect实例   | √               | x                     | x                   | √                  |
| 查询ROMA Connect实例信息 | √               | √                     | √                   | √                  |
| 修改ROMA Connect实例   | √               | x                     | x                   | √                  |
| 删除ROMA Connect实例   | √               | x                     | x                   | √                  |
| 操作实例下资源            | √               | √                     | x                   | √                  |
   
#### 集成应用权限
ROMA Connect对用户资源实现了严格的权限管理，在同一实例内，非管理员权限（Tenant Administrator权限）的 IAM用户只能查看和管理自己创建的集成应用和资源，默认不能查看其他IAM用户创建的集成应用和资源。ROMA Connect支持通过集成应用授权的方式，把集成应用下的资源共享给同一账号下的其他IAM用户来查看和使用。
表3应用权限说明 
| 权限     | FDI              | APIC                                  | MQS                   | LINK                                            |
|:---|:---|:---|:---|:---|
| read   | 可查看授权应用的数据源。     | 可查看、调试和导出授权应用的API。                    | 可查看和导出授权应用的Topic。     | 可查看授权应用的设备、产品和规则，可导出授权应用的设备、产品和规则，并调试设备。        |
| modify | 可在授权应用下创建和编辑数据源。 | 可在授权应用下创建、编辑、发布、下线和导入API。             | 可在授权应用下创建和编辑Topic。    | 可在授权应用下创建和编辑设备、产品和规则，可导入设备、产品和规则，可重置设备和产品的密码。   |
| delete | 可删除授权应用的数据源。     | 可删除授权应用的API。                          | 可删除授权应用的Topic。        | 可删除授权应用的设备、产品和规则，可删除产品属性、Topic类、规则数据源端、规则数据目的端。 |
| access | 不涉及。             | 可对授权应用的API进行授权、访问控制、流量控制、签名密钥绑定API配置。 | 可对授权应用的Topic进行应用权限配置。 | 可对设备进行命令下发和强制下线，并且可以对协议为OPC UA和Modbus的设备进行插件配置。 |
| admin  | 应用管理员权限。         | 应用管理员权限。                              | 应用管理员权限。              | 应用管理员权限。                                        |
   
#### ROMA资产市场权限
如[表4]所示，包含了新版ROMA Connect资产中心的相关操作权限。
 表4资产市场权限 
| 系统角色/策略名称                    | 描述                           | 类别   | 依赖关系                 |
|:---|:---|:---|:---|
| ROMA Assets FullAccess       | ROMA资产市场管理员权限，支持资产发布、使用、审批。  | 系统策略 | Tenant Administrator |
| ROMA Assets ResourceUser     | ROMA资产市场资源使用者相关权限，支持资产订阅和使用。 | 系统策略 | 无                    |
| ROMA Assets ResourceProvider | ROMA资产市场资源提供者相关权限，支持资产发布。    | 系统策略 | 无                    |
| ROMA Assets ResourceAuditor  | ROMA资产市场的资源审核者权限，支持资产审核。     | 系统策略 | 无                    |
   
#### ROMA业务流权限
如[表5]所示，包含了ROMA Connect组合应用及业务流的相关操作权限。
 表5ROMA业务流系统权限 
| 系统策略/策略名称                 | 描述                      | 类别   | 依赖关系 |
|:---|:---|:---|:---|
| ROMA BFS CommonOperations | ROMA业务流服务的操作权限，如创建业务流等。 | 系统策略 | 无    |
| ROMA BFS FullAccess       | ROMA业务流管理员权限。           | 系统策略 | 无    |
| ROMA BFS ReadOnlyAccess   | ROMA业务流服务只读权限。          | 系统策略 | 无    |
   
