This topic describes how to grant an IAM user certain permissions on specific objects in a bucket. Below explains how to grant the object download permission.
If you need to configure other permissions, select the corresponding actions from the Action Name drop-down list in the bucket policy. For details about the actions supported by OBS, see Action/NotAction.
You are advised to use bucket policies to grant resource-level permissions to an IAM user.
After the configuration is complete, you can download objects using APIs. However, if you log in to OBS Console or OBS Browser+ to download an object, an error is reported indicating that you do not have required permissions.
This is because when you 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 your permissions do not cover those APIs. In such case, your access is denied or your operation is not allowed.
If you want an IAM user to successfully download objects on OBS Console or OBS Browser+, configure custom IAM policies by referring to Follow-up Procedure.
Parameter |
Description |
---|---|
Policy Mode |
Select Customized. |
Effect |
Select Allow. |
Principal |
|
Resources |
|
Actions |
To configure other permissions, select the corresponding actions. For details about the actions supported by OBS, see Action/NotAction. |
To perform specific operations on OBS Console or OBS Browser+, you must add the obs:bucket:ListAllMyBuckets (for listing buckets) and obs:bucket:ListBucket (for listing objects in a bucket) permissions to the custom IAM policy.
obs:bucket:ListAllMyBuckets applies to all resources, while obs:bucket:ListBucket applies to the authorized bucket only. Therefore, you need to add two permissions to the policy.
Parameter |
Description |
---|---|
Policy Name |
Name of the custom policy |
Policy View |
Set this parameter based on your own habits. Visual editor is used here. |
Policy Content |
[Permission 1]
[Permission 2]
|
Scope |
The default value is Global services. |
Add the created custom policy to the user group by following the instructions in the IAM document.
Due to data caching, it takes about 10 to 15 minutes for a custom policy to take effect after the authorization.