Help Center> Blockchain Service> Service Overview> Permissions Management
Updated on 2023-08-18 GMT+08:00

Permissions Management

If you need to assign different permissions to employees in your enterprise to access your BCS resources, Identity and Access Management (IAM) is a good choice for fine-grained permissions management. IAM provides identity authentication, permissions management, and access control, helping you secure access to your Huawei Cloud resources.

With IAM, you can use your Huawei Cloud account to create IAM users, and assign permissions to the users to control their access to specific resources. For example, some software developers in your enterprise need to use BCS resources but should not be allowed to delete the resources or perform any other high-risk operations. In this scenario, you can create IAM users for the software developers and grant them only the permissions required for using BCS resources. For details about permission management and configuration, see Permissions Management for enhanced Hyperledger Fabric.

If your Huawei Cloud account does not require individual IAM users for permissions management, skip this section.

IAM is free of charge. You pay only for the resources you use.

You can grant users permissions by using roles and policies.

  • Roles: A type of coarse-grained authorization mechanism that defines permissions related to user responsibilities. This mechanism provides only a limited number of service-level roles for authorization. When using roles to grant permissions, you also need to assign other roles on which the permissions depend to take effect. However, roles are not an ideal choice for fine-grained authorization and secure access control.
  • Policies: A type of fine-grained authorization mechanism that defines permissions required to perform operations on specific cloud resources under certain conditions. This mechanism allows for more flexible policy-based authorization, meeting requirements for secure access control. For example, you can grant ECS users only the permissions for managing a certain type of ECSs.

Enhanced Hyperledger Fabric

By default, new IAM users do not have permissions assigned. You need to add a user to one or more groups, and attach permissions policies or roles to these groups. Users inherit permissions from the groups to which they are added and can perform specified operations on cloud services based on the permissions.

BCS is a project-level service deployed and accessed in specific physical regions. To assign BCS permissions to a user group, specify the scope as region-specific projects and select projects for the permissions to take effect. If All projects is selected, the permissions will take effect for the user group in all region-specific projects. Switch to a region where you have been authorized to access BCS.

Table 1 lists the system-defined policy supported by enhanced Hyperledger Fabric.

Table 1 System-defined roles and policies supported by enhanced Hyperledger Fabric

Role/Policy Name

Description

Type

Dependency

BCS Administrator

Full operation permissions for enhanced Hyperledger Fabric BCS

System-defined role

Tenant Guest, Server Administrator, ELB Administrator, SFS Administrator, SWR Admin, APM FullAccess, AOM FullAccess, CCE Administrator, VPC Administrator, EVS Administrator, and CCE Cluster Admin

BCS Fabric FullAccess

Full permissions for enhanced Hyperledger Fabric BCS

System-defined policy

None

BCS Fabric ReadOnlyAccess

Read-only permissions for enhanced Hyperledger Fabric BCS

System-defined policy

None

  • BCS Fabric FullAccess content:
    {
        "Version": "1.1",
        "Statement": [
            {
                "Action": [
                    "bcs:fabric*:*",
                    "cce:*:*",
                    "ecs:*:*",
                    "evs:*:*",
                    "vpc:*:*",
                    "elb:*:*",
                    "aom:*:*",
                    "apm:*:*",
                    "rds:*:*",
                    "dms:*:*",
                    "sfs:*:*",
                    "sfsturbo:*:*",
                    "cloudIDE:*:*"
                ],
                "Effect": "Allow"
            }
        ]
    }
  • BCS Fabric ReadOnlyAccess content:
    {
        "Version": "1.1",
        "Statement": [
            {
                "Action": [
                    "bcs:fabric*:get*",
                    "bcs:fabric*:list*",
                    "cce:*:get*",
                    "cce:*:list*",
                    "ecs:*:get*",
                    "ecs:*:list*",
                    "evs:*:get*",
                    "evs:*:list*",
                    "vpc:*:get*",
                    "vpc:*:list*",
                    "elb:*:get*",
                    "elb:*:list*",
                    "aom:*:get*",
                    "aom:*:list*",
                    "apm:*:get*",
                    "apm:*:list*",
                    "rds:*:get*",
                    "rds:*:list*",
                    "dms:*:get*",
                    "dms:*:list*",
                    "sfs:*:get*",
                    "sfsturbo:*:get*",
                    "cloudIDE:*:get*",
                    "cloudIDE:*:list*"
                ],
                "Effect": "Allow"
            }
        ]
    }