Manage S3 access
Access to S3 resources is regulated by:
- projects — determine access within an isolated resource group;
- roles — determine access for control panel users, service users, and groups within an account and a project.
- access policy — determines access within a bucket.
When an S3 action request is received, the user role is checked first. If the role is:
-
does not allow the action — access is denied;
-
allows the action — the presence and settings of the bucket policy are checked. If the bucket policy:
- not created — access will be granted to all users with access within roles, except users with the object_storage_user, s3.user, and s3.bucket.user roles;
- is created — everything not allowed by the policy rules is denied.
To access via API, automation tools, and FTP, use keys.
Learn more about access management in the Access management in Selectel products instructions.
Access within projects
All resources in S3 are created in a specific project. You can group resources by different projects and configure user permissions depending on which projects they need access to.
Access within roles
Access to S3 is provided by S3 roles and global roles. Learn more about role types in the Role reference instructions.
S3 roles
s3.admin
The s3.admin role provides access to managing S3 within a project. It has no access to S3 in other projects or to other products in its project.
* Managing access policies and bypassing Object Lock temporary retention are not available in the control panel.
s3.user
The s3.user role provides access to an S3 bucket if an access policy is configured for it that allows this user access to the bucket. The access level is determined by the access policy settings. It has no access to S3 in other projects or to other products in its project.
s3.bucket.user
The s3.bucket.user role provides access to an S3 bucket if an access policy is configured for it that allows this user access to the bucket. The access level is determined by the access policy settings. It has no access to S3 in other projects or to other products in its project.
data_migration.admin
The data_migration.admin role provides access to managing migrations in S3.
data_migration.user
The data_migration.user role provides access to viewing created migrations in S3 and managing their execution.
data_migration.viewer
The data_migration.viewer role provides access to viewing everything managed by data_migration.admin.
object_storage.admin
The object_storage:admin role will soon be removed and cannot be assigned to new users. Existing users with the object_storage:admin role continue to work.
Legacy version of the s3.admin role. Has identical permissions.
object_storage_user
The object_storage_user role will soon be removed and cannot be assigned to new users. Existing users with the object_storage_user role continue to work.
Legacy version of the s3.user role. Has identical permissions.
Global roles
member
The member role provides full access to all services. Does not provide access to managing control panel users, service users, user groups, and federations.
billing
The billing role provides access to managing billing without access to managing services.
iam.admin
The iam.admin role provides access to managing users and does not provide access to managing products or billing. It does not allow managing your own account: changing permissions, managing notifications, or deleting the user. The first user with the iam.admin role is created by the Account Owner.
iam.viewer
The iam.viewer role provides access to viewing everything managed by iam.admin.
reader
The reader role provides access to viewing everything managed by member in the same scope.
API access keys
Depending on the API type, the user will need:
- Project IAM token (X-Auth-Token). Used for access via the Object Storage API and Swift API. Can be issued to service users and control panel users. To issue an IAM token to a service user, see the Get project IAM token section of the Request authentication API documentation. An IAM token for a control panel user is recommended for testing purposes only; for details, see the Manage IAM tokens section of the Manage access keys guide;
- S3 key (EC2 key). Used to sign S3 API requests and for access via FTP. It consists of a pair of values: Access Key ID and Secret Key. An S3 key can be issued to service users and control panel users. You can add it for yourself or issue it to another user.