Using IAM Identity Policies to Grant Access to GaussDB
System-defined permissions in Identity Policy-Based Authorization provided by Identity and Access Management (IAM) let you control access to GaussDB. With IAM, you can:
- Create IAM users or user groups for personnel based on your enterprise's organizational structure. Each IAM user has their own identity credentials for accessing GaussDB resources.
- Grant only the permissions required for users to perform a specific task.
- Entrust a Huawei Cloud account or a cloud service to perform professional and efficient O&M on your GaussDB resources.
If your Huawei Cloud account meets your permissions requirements, you can skip this section.
Figure 1 shows the process flow of identity policy-based authorization.
Prerequisites
Before granting permissions, learn about the GaussDB permissions and select them as required. For the system-defined identity policies for GaussDB, see Identity Policy-based Authorization. To grant permissions for other services, learn about all system-defined permissions supported by IAM.
Process Flow
- Create an IAM user or create a user group.
Log in to the IAM console to create a user or user group.
- Attach a system-defined policy to the user or user group.
Assign the permissions defined in the system-defined policy GaussDBReadOnlyPolicy to a user or user group.
- Log in as the IAM user and verify permissions.
In the authorized region, perform the following operations:
- Choose Service List > GaussDB. On the GaussDB console, click Create DB Instance in the upper right corner to create a GaussDB instance. If the GaussDB instance cannot be created (assuming only the GaussDBReadOnlyPolicy permission is assigned), the GaussDBReadOnlyPolicy permission has already taken effect.
- Choose any other service in the service list. If a message appears indicating that you have insufficient permissions to access the service, the GaussDBReadOnlyPolicy policy has already taken effect.
Example Custom Identity Policies
Custom identity policies can be created to supplement the system-defined policies of GaussDB. For details about actions supported in custom identity policies, see Actions Supported by Identity Policy-based Authorization.
- 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 Identity Policy and Attaching It to a Principal.
When creating a custom identity policy, use the Resource element to specify the resources the identity policy applies to and use the Condition element (service-specific condition keys) to control when the identity policy is in effect. For details about the supported resource types and condition keys, see Actions Supported by Identity Policy-based Authorization. The following contains examples of common custom identity policies for GaussDB.
- Example 1: Grant the permission to create and delete GaussDB instances.
{ "Version": "5.0", "Statement": [ { "Effect": "Allow", "Action": [ "gaussdb:instance:createInstance", "gaussdb:instance:deleteInstance" ] } ] } - Example 2: Create a custom policy containing multiple actions.
A custom identity policy can contain the actions of one or more services. The following is an example policy containing actions of multiple services:
{ "Version": "5.0", "Statement": [ { "Effect": "Allow", "Action": [ "gaussdb:instance:createInstance", "gaussdb:instance:deleteInstance" ] }, { "Effect": "Allow", "Action": [ "evs:volumes:create", "evs:volumes:list" ] }, { "Effect": "Allow", "Action": [ "ecs:cloudServers:createServers", "ecs:cloudServers:listServersDetails" ] } ] }
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
