Using IAM Roles or Policies to Grant Access to BMS
System-defined permissions in role/policy-based authorization provided by Identity and Access Management (IAM) let you control access to your BMSs. With IAM, you can:
- Create IAM users for employees based on your enterprise's organizational structure. Each IAM user has their own security credentials, providing access to BMS resources.
- Grant only the permissions required for users to perform a specific task.
- Entrust a HUAWEI ID or a cloud service to perform efficient O&M on your BMS resources.
If your Huawei Cloud account does not require individual IAM users, you can skip this section.
Figure 1 shows the process flow of role/policy-based authorization.
Prerequisites
Before granting permissions to user groups, learn about system-defined permissions in role/policy-based authorization for BMS. To grant permissions for other services, learn about all system-defined permissions supported by IAM.
Process Flow
- On the IAM console, create a user group and grant permissions to it.
Create a user group on the IAM console and assign the BMS ReadOnlyAccess permissions to the group.
- Create an IAM user and add it to the user group.
On the IAM console, create a user and add it to the user group created in 1.
- Log in as the IAM user and verify permissions.
In the authorized region, perform the following operations:
- Choose Service List > Bare Metal Server. Then, click Buy BMS on the BMS console. If you are not allowed for this operation, the BMS ReadOnlyAccess policy is in effect (assume that you only have BMS ReadOnlyAccess assigned).
- Choose any other service from Service List. If a message appears indicating insufficient permissions to access the service, the BMS ReadOnlyAccess policy is in effect.
Example Custom Policies
You can create custom policies to supplement the system-defined policies of BMS. For details about actions supported in custom policies, see Actions Supported by Policy-based Authorization.
To create a custom policy, choose either visual editor or JSON.
- Visual editor: Select cloud services, actions, resources, and request conditions. This does not require knowledge of policy syntax.
- JSON: Create a JSON policy or edit an existing one.
For details, see Creating a Custom Policy. The following lists examples of common BMS custom policies.
- Example 1: Grant permission to query BMS details.
{ "Version": "5.0", "Statement": [ { "Effect": "Allow", "Action": [ " bms:servers:showBaremetalServer " ] } ] } - Example 2: Grant permission to change a BMS name.
{ "Version": "5.0", "Statement": [ { "Effect": "Allow", "Action": [ " bms:servers:updateBaremetalServer " ] } ] } - Example 3: Grant permission to start and stop BMSs in batches.
{ "Version": "5.0", "Statement": [ { "Effect": "Allow", "Action": [ " bms:servers:stop bms:servers:start " ] } ] } - Example 4: Grant permission to deny BMS deletion.
A policy with only "Deny" permissions must be used together with other policies. If the permissions granted to an IAM user contain both "Allow" and "Deny", the "Deny" permissions take precedence over the "Allow" permissions.
Assume that you want to grant the permissions of the BMS FullAccess policy to a user but want to prevent them from deleting BMSs. You can create a custom policy for denying BMS deletion, and attach this policy together with the BMS FullAccess policy to the user. As an explicit deny in any policy overrides any allows, the user can perform all operations on BMSs excepting deleting them. Example policy denying BMS deletion:
{ "Version": "5.0", "Statement": [ { "Effect": "Deny", "Action": [ "bms:servers:delete" ] } ] }
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot
