Help Center/ Cloud Search Service/ API Reference/ Permissions Policies and Supported Actions
Updated on 2024-10-17 GMT+08:00

Permissions Policies and Supported Actions

This section describes fine-grained permissions management for your CSS. If your Huawei Cloud 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 roles and policies. 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.

Supported Actions

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:

  • Permissions: Allow or deny operations on specified resources under specific conditions.
  • APIs: REST APIs that can be called by a custom policy.
  • Actions: added to a custom policy to control permissions for specific operations.
  • Related actions: actions on which a specific action depends to take effect. When assigning permissions for the action to a user, you also need to assign permissions for the dependent actions.
  • IAM or enterprise projects: type of projects for which an action will take effect. Policies that contain actions supporting both IAM and enterprise projects can be assigned to user groups and take effect in both IAM and Enterprise Management. Policies that only contain actions supporting IAM projects can be assigned to user groups and only take effect for IAM. For details about the differences between IAM and enterprise projects, see Differences Between IAM and Enterprise Management.

    The check mark (√) indicates that an action takes effect. The cross mark (x) indicates that an action does not take effect.

    Table 1 API actions

    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