Help Center> > API Reference > Permissions Policies and Supported Actions >Introduction

Introduction

This chapter describes fine-grained permissions management for your MRS. 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 permissions assigned. You need to add them to one or more groups, and attach permissions policies or roles 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 IAM users must be assigned the required permissions. 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. For example, if an IAM user queries MRS clusters using an API, the user must have been granted permissions that allow the mrs:cluster:list action.

Supported Actions

MRS provides system-defined policies that can be directly used in IAM. You can also create custom policies and use them to supplement system-defined policies, implementing more refined access control. Operations supported by policies are specific to APIs. The following are common concepts related to policies:

  • Permission: A statement in a policy that allows or denies certain operations.
  • Action: Specific operations that are allowed or denied.
  • Authorization scope: Type of projects in which policies can be used to grant permissions. A policy can be applied to IAM projects, enterprise projects, or both. Policies that contain actions for both IAM and enterprise projects can be used and take effect for both IAM and Enterprise Management. Policies that only contain actions for IAM projects can be used and only take effect for IAM. For details about the differences between IAM and enterprise projects, see Differences Between IAM Projects and Enterprise Projects.
  • API: REST APIs that can be called by a user who has been granted specific permissions.
Table 1 Actions

Permissions

Actions

Authorization Scope

APIs

Creating a Cluster and Running a Job

mrs:cluster:create

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

POST /v1.1/{project_id}/run-job-flow

Resizing a Cluster

mrs:cluster:resize

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

PUT /v1.1/{project_id}/cluster_infos/{cluster_id}

Querying a Cluster List

mrs:cluster:list

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

GET /v1.1/{project_id}/cluster_infos

Querying Cluster Details

mrs:cluster:get

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

GET /v1.1/{project_id}/cluster_infos/{cluster_id}

Deleting a Cluster

mrs:cluster:delete

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

DELETE /v1.1/{project_id}/clusters/{cluster_id}

Querying a Host List

mrs:host:list

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

GET /v1.1/{project_id}/clusters/{cluster_id}/hosts

Adding and Executing a Job (V1)

mrs:job:submit

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

POST /v1.1/{project_id}/jobs/submit-job

Querying the exe Object List of Jobs (V1)

mrs:job:list

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

GET /v1.1/{project_id}/job-exes

Querying exe Object Details (V1)

mrs:job:get

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

GET /v1.1/{project_id}/job-exes/{job_exe_id}

Configuring an Auto Scaling Rule

mrs:cluster:policy

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

POST /v1.1/{project_id}/autoscaling-policy/{cluster_id}

Querying Tags of a Specified Cluster

mrs:tag:list

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

GET /v1.1/{project_id}/clusters/{cluster_id}/tags

Adding or Deleting Cluster Tags in Batches

mrs:tag:batchOperate

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

POST /v1.1/{project_id}/clusters/{cluster_id}/tags/action

Querying All Tags

mrs:tag:list

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

GET /v1.1/{project_id}/clusters/tags

Querying a List of Clusters with Specified Tags

mrs:tag:listResource

  • Supported:

    IAM projects

  • Not supported:

    Enterprise projects

POST /v1.1/{project_id}/clusters/resource_instances/action

Adding and Executing a Job (V2)

mrs:job:submit

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

POST /v2/{project_id}/clusters/{cluster_id}/job-executions

Querying Information About a Job (V2)

mrs:job:list

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

GET /v2/{project_id}/clusters/{cluster_id}/job-executions/{job_execution_id}

Querying a List of Jobs (V2)

mrs:job:list

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

GET /v2/{project_id}/clusters/{cluster_id}/job-executions

Terminating a Job (V2)

mrs:job:stop

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

POST /v2/{project_id}/clusters/{cluster_id}/job-executions/{job_execution_id}/kill

Deleting Jobs in Batches (V2)

mrs:job:batchDelete

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

POST /v2/{project_id}/clusters/{cluster_id}/job-executions/batch-delete

Obtaining the SQL Result (V2)

mrs:job:list

  • Supported:

    IAM projects

    Enterprise projects

  • Not supported: none

GET /v2/{project_id}/clusters/{cluster_id}/job-executions/{job_execution_id}/sql-result