Reviewed-by: Sabelnikov, Dmitriy <dmitriy.sabelnikov@t-systems.com> Co-authored-by: zhangyue <zhangyue164@huawei.com> Co-committed-by: zhangyue <zhangyue164@huawei.com>
15 KiB
Granting IAM User Groups Specific Permissions on a Folder
Scenario
This topic describes how to grant specified permissions for a folder in an OBS bucket to multiple IAM users or user groups.
Recommended Configuration
Use an IAM custom policy to configure the permissions.
Precautions
After configuration, IAM users can perform allowed operations using APIs. If they log in to OBS Console or OBS Browser+ to perform those operations, a message will be displayed indicating that they do not have required permissions.
This is because when they log in to OBS Console or OBS Browser+, APIs (such as ListAllMyBuckets and ListBucket) are called to load the bucket list and object list and some other APIs will also be called on other pages, but their permissions do not cover those APIs. In such case, the message is diplayed.
To allow IAM users to operate buckets and objects on OBS Console or OBS Browser+, add at least the obs🪣ListAllMyBuckets and obs🪣ListBucket permissions to the custom policy. (In this case, these two permissions are configured in permissions 2 and 3.)
Procedure
- Log in to the management console using a cloud service account.
- On the top menu bar, choose Service List > Management & Deployment > Identity and Access Management.
- In the navigation pane, choose Permissions.
- Click Create Custom Policy in the upper right corner.
- Configure a custom policy.
Table 1 Parameters for configuring a custom policy Parameter
Description
Policy Name
Enter a policy name.
Policy View
Select one based on your own habits. Visual editor is used here.
Policy Content
[Permission 1]
- Select Allow.
- Select Object Storage Service (OBS).
- Select all the object-related permissions under ReadOnly, ReadWrite, and Permissions.
- On the All tab, choose Specific > Specify resource path to specify a folder.
[Path Format]
obs:*:*:object:Bucket name/Folder name/*
[Notes]
For bucket resources, IAM automatically generates the prefix of the resource path obs:*:*:object:.
You can add Bucket name/Object name at the end of the generated path prefix to specify a resource path. Wildcards (*) are also supported. For example, OBS:*:*:object:example-002/folder-001/* indicates any object in folder folder-001 of bucket example-002.
[Permission 2] It is mandatory when an authorized user needs to perform operations on OBS Console or OBS Browser+.
- Select Allow.
- Select Object Storage Service (OBS).
- Select obs🪣ListBucket from the actions.
- On the All tab, choose Specific > Specify resource path to specify a bucket.
[Path Format]
obs:*:*🪣Bucket name
- On the (Optional) Add request condition tab, click Add Request Condition.
- Condition key: Select obs:prefix from the drop-down list.
- Operator: Select StringMatch from the drop-down list.
- Value: Folder name/
[Notes]
If you want a user to have only the permission to list a folder in the bucket, add a request condition for action obs🪣ListBucket. prefix is included in the request for listing objects in a bucket. In this way, when you specify prefix to list objects whose names start with Folder name/, the objects in the bucket can be listed.
[Permission 3] It is mandatory when an authorized user needs to perform operations on OBS Console or OBS Browser+.- Select Allow.
- Select Object Storage Service (OBS).
- Select obs🪣ListAllMyBuckets under ListOnly.
- Select All for Resources.
Scope
The default value is Global services.
- Click OK.
- Create a user group and assign permissions.
Apply the created custom policy to the user group by following the instructions in the IAM document.
- Add the IAM user you want to authorize to the created user group.
Verification
- Log in to OBS Console as an IAM user.
- In the bucket list, click bucket example-002 to go to the Overview page.
- In the navigation pane, select Objects. If a message indicating no sufficient is available and no object can be viewed, ignore the message and continue with the operations.
- In the search box, enter folder-001/ to view the list of objects in folder-001. Objects 222.txt and 111.txt are displayed.
- Click Create Folder to create folder folder-002.
- Click Upload Object to upload file 333.txt.