This section describes fine-grained permissions management for your CSS. If your account does not need individual IAM users, then you may skip over this chapter.
By default, new IAM users do not have any permissions assigned. You need to add a user to one or more groups, and assign permissions policies to these groups. Users inherit permissions from the groups to which they are added and can perform specified operations on cloud services based on the permissions.
You can grant users permissions by using and . Roles are a type of coarse-grained authorization mechanism that defines permissions related to user responsibilities. Policies define API-based permissions for operations on specific resources under certain conditions, allowing for more fine-grained, secure access control of cloud resources.
Policy-based authorization is useful if you want to allow or deny the access to an API.
An account has all the permissions required to call all APIs, but each IAM user must be assigned the required permissions before they can start calling APIs. The permissions required for calling an API are determined by the actions supported by the API. Only users who have been granted permissions allowing the actions can call the API successfully.
CSS provides system-defined policies that can be directly used in IAM. CSS administrators can create custom policies and use them to supplement system-defined policies, implementing more refined access control. Actions supported by policies are specific to APIs. The following are common concepts related to policies:
The check mark (√) indicates that an action takes effect. The cross mark (x) indicates that an action does not take effect.
Permission |
API |
Action
|
IAM Project (Project) |
Enterprise Project (Enterprise Project) |
---|---|---|---|---|
Creating a cluster |
POST /v1.0/{project_id}/clusters |
css:cluster:create |
√ |
√ |
Querying a cluster list |
GET /v1.0/{project_id}/clusters |
css:cluster:list |
√ |
√ |
Querying cluster details |
GET /v1.0/{project_id}/clusters/{cluster_id} |
css:cluster:get |
√ |
√ |
Deleting a cluster |
DELETE /v1.0/{project_id}/clusters/{cluster_id} |
css:cluster:delete |
√ |
√ |
Restarting a cluster |
POST /v1.0/{project_id}/clusters/{cluster_id}/restart |
css:cluster:restart |
√ |
√ |
Scaling out a cluster |
POST /v1.0/{project_id}/clusters/{cluster_id}/extend |
css:cluster:scaleOut |
√ |
√ |
Adding instances and expanding instance storage capacity |
POST /v1.0/{project_id}/clusters/{cluster_id}/role_extend |
css:cluster:expand |
√ |
√ |
Querying tags of a specified cluster |
GET /v1.0/{project_id}/css-cluster/{cluster_id}/tags |
css:tag:get |
√ |
√ |
Loading a custom word dictionary |
POST /v1.0/{project_id}/clusters/{cluster_id}/thesaurus |
css:IKThesaurus:load |
√ |
√ |
Querying the status of a custom word dictionary |
GET /v1.0/{project_id}/clusters/{cluster_id}/thesaurus |
css:IKThesaurus:get |
√ |
√ |
Deleting a custom word dictionary |
DELETE /v1.0/{project_id}/clusters/{cluster_id}/thesaurus |
css:IKThesaurus:delete |
√ |
√ |
Automatically setting basic configurations of a cluster snapshot |
POST /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/auto_setting |
css:snapshot:enableAtomaticSnapsot |
√ |
√ |
Modifying basic configurations of a cluster snapshot |
POST /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/setting |
css:snapshot:setSnapshotContiguration |
√ |
√ |
Setting the automatic snapshot creation policy |
POST /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/policy |
css:snapshot:setSnapshotPolicy |
√ |
√ |
Querying the automatic snapshot creation policy |
GET /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/policy |
css:snapshot:getSnapshotPolicy |
√ |
√ |
Manually creating a snapshot |
POST /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot |
css:snapshot:create |
√ |
√ |
Querying the snapshot list |
GET /v1.0/{project_id}/clusters/{cluster_id}/index_snapshots |
css:snapshot:list |
√ |
√ |
Restoring a snapshot |
POST /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/{snapshot_id}/restore |
css:snapshot:restore |
√ |
√ |
Deleting a snapshot |
DELETE /v1.0/{project_id}/clusters/{cluster_id}/index_snapshot/{snapshot_id} |
css:snapshot:delete |
√ |
√ |
Disabling the snapshot function |
DELETE /v1.0/{project_id}/clusters/{cluster_id}/index_snapshots |
css:snapshot:disableSnapshotFuction |
√ |
√ |