Updated on 2024-08-09 GMT+08:00

Introduction

This section describes fine-grained permissions management for your BMS. If your Huawei Cloud account does not need individual IAM users, you may skip over this section.

By default, new IAM users do not have any permissions granted. You need to add a user to one or more groups, and assign policies or roles to these groups. The user then inherits permissions from the groups it is a member of. This process is called authorization. After authorization, the user can perform specified operations on BMS based on the permissions.

You can grant users permissions by using roles and policies. Roles are provided by IAM to define service-based permissions depending on users' job responsibilities. Policies define API-based permissions for operations on specific resources under certain conditions, allowing for more fine-grained, secure access control of cloud resources.

Policy-based authorization is useful if you want to allow or deny the access to an API.

An account has all of the permissions required to call all APIs, but IAM users must have the required permissions specifically assigned. The permissions required for calling an API are determined by the actions supported by the API. Only users who have the permissions allowing the actions can call the API. For example, if an IAM user queries BMSs using an API, the user must have been granted permissions that allow the bms:servers:list action.

Supported Actions

BMS provides system-defined policies that can be directly used in IAM. You can also create custom policies and use them to supplement system-defined policies, implementing more refined access control. Actions supported by policies are specific to APIs. The following are common concepts related to policies:

  • Permission: a statement in a policy that allows or denies certain operations.
  • APIs: REST APIs that can be called in a custom policy.
  • Actions: Added to a custom policy to control permissions for specific operations.
  • Dependent actions: When assigning an action to users, you also need to assign dependent permissions for that action to take effect.
  • IAM project/Enterprise project: A custom policy can be applied to IAM projects or enterprise projects or both. Policies that contain actions supporting both IAM and enterprise projects can be assigned to user groups and take effect in both IAM and Enterprise Management. Policies that only contain actions supporting IAM projects can be assigned to user groups and only take effect for IAM. Such policies will not take effect if they are assigned to user groups in Enterprise Management.

√: supported; x: not supported

BMS supports the following actions that can be defined in custom policies:

  • Lifecycle management actions, including actions supported by BMS's lifecycle management APIs, such as the APIs for creating BMSs and querying BMS details.
  • Status management actions, including actions supported by BMS's status management APIs, such as the APIs for stopping, restarting, and starting BMSs in batches.
  • Password management actions, including actions supported by BMS's password-related APIs, such as the APIs for querying whether BMS passwords can be reset and for resetting a BMS password.
  • Flavor query actions, including actions supported by BMS's flavor-related APIs, such as the APIs for querying details about flavors and extended flavor information.
  • NIC management actions, including actions supported by BMS's NIC-related APIs, such as the APIs for querying BMS NICs.
  • Disk management actions, including actions supported by BMS's disk-related APIs, such as the APIs for attaching disks to a BMS and detaching disks from a BMS.
  • Metadata management actions, including actions supported by BMS's metadata-related APIs, such as the API for updating the BMS metadata.
  • Tenant quota management actions, including actions supported by BMS's quota-related APIs, such as the API for querying tenant quotas.

Action Descriptions

  • The actions and scopes of native OpenStack APIs of BMS are the same as those of ECS. For details, see Permissions and Supported Actions in Elastic Cloud Server API Reference.
  • When customizing a BMS user policy in IAM, add the ecs:*:get and ecs:*:list permissions. Otherwise, functions on some pages cannot work properly.
  • High-speed networks and user-defined networks do not support enterprise projects. To use the two functions, use the primary account.
  • The vpc:ports:get permission must be assigned to the sub-account of an enterprise project. Otherwise, the EIP and security group cannot be properly displayed on the BMS details page.