Help Center/ Intelligent EdgeFabric/ API Reference/ Permissions Policies and Supported Actions
Updated on 2022-02-21 GMT+08:00

Permissions Policies and Supported Actions

This chapter describes fine-grained permissions management for your IEF. If your cloud account does not need individual Identity and Access Management (IAM) users, then you may skip over this chapter.

By default, new users do not have permissions assigned. You need to add a user 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 service-based, 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.

If you want to allow or deny the access to an API, fine-grained authorization is a good choice.

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 a user queries ECSs using an API, the user must have been granted permissions that allow the ecs:servers:list action.

Supported Actions

IEF 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 lists common concepts related to policies:

  • Permissions: Statements in a policy that allow or deny certain operations.
  • APIs: REST APIs that can be called by a user who has been granted specific permissions.
  • Actions: Specific operations that are allowed or denied.
  • 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 related actions.
  • IAM or enterprise projects: A custom policy can be applied to IAM projects or enterprise projects or both. 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. Such policies will not take effect if they are assigned to user groups in Enterprise Project. For details about the differences between IAM and enterprise projects, see What Are the Differences Between IAM and Enterprise Management.

    The check mark (√) and cross symbol (x) indicate that an action takes effect or does not take effect for the corresponding type of projects.

Table 1 IEF actions

Permission

API

Action

Related Action

IAM Project

Enterprise Project

Creating an Application Template Version

POST /v2/{project_id}/edgemgr/apps/{app_id}/versions

ief:appVersion:create

-

×

Deleting an Application Template Version

DELETE /v2/{project_id}/edgemgr/apps/{app_id}/versions/{version_id}

ief:appVersion:delete

-

×

Querying Application Template Version Information

GET /v2/{project_id}/edgemgr/apps/{app_id}/versions/{version_id}

ief:appVersion:get

-

×

Querying a List of Application Template Versions

GET /v2/{project_id}/edgemgr/apps/{app_id}/versions

ief:appVersion:list

-

×

Updating an Application Template Version

PUT /v2/{project_id}/edgemgr/apps/{app_id}/versions/{version_id}

ief:appVersion:update

-

×

Creating an Application Template

POST /v2/{project_id}/edgemgr/apps

ief:application:create

-

×

Deleting an Application Template

DELETE /v2/{project_id}/edgemgr/apps/{app_id}

ief:application:delete

-

×

Querying Application Template Information

GET /v2/{project_id}/edgemgr/apps/{app_id}

ief:application:get

-

×

Querying a List of Application Templates

GET /v2/{project_id}/edgemgr/apps

ief:application:list

-

×

Updating an Application Template

PUT /v2/{project_id}/edgemgr/apps/{app_id}

ief:application:update

-

×

Creating a Deployment

POST /v3/{project_id}/edgemgr/deployments

ief:deployment:create

-

×

Deleting a Deployment

DELETE /v3/{project_id}/edgemgr/deployments/{deployment_id}

ief:deployment:delete

-

×

Querying Deployment Information

GET /v3/{project_id}/edgemgr/deployments/{deployment_id}

ief:deployment:get

-

×

Querying a List of Deployments

GET /v3/{project_id}/edgemgr/deployments

ief:deployment:list

-

×

Updating a Deployment

PUT /v3/{project_id}/edgemgr/deployments/{deployment_id}

ief:deployment:update

-

×

Starting or Stopping an Edge Node

POST /v2/{project_id}/edgemgr/nodes/{node_id}/action

ief:node:action

-

×

Creating an Edge Node

POST /v2/{project_id}/edgemgr/nodes

ief:node:create

-

×

Creating an Edge Node Certificate

POST /v2/{project_id}/edgemgr/nodes/{node_id}/certs

ief:node:createNodeCert

-

×

Deleting an Edge Node

DELETE /v2/{project_id}/edgemgr/nodes/{node_id}

ief:node:delete

-

×

Deleting an Edge Node Certificate

DELETE /v2/{project_id}/edgemgr/nodes/{node_id}/certs/{cert_id}

ief:node:deleteNodeCert

-

×

Querying Edge Node Information

GET /v2/{project_id}/edgemgr/nodes/{node_id}

ief:node:get

-

×

Querying a List of Edge Nodes

GET /v2/{project_id}/edgemgr/nodes

ief:node:list

-

×

Querying Edge Node Certificates

GET /v2/{project_id}/edgemgr/nodes/{node_id}/certs

ief:node:listNodeCert

-

×

Updating an Edge Node

PUT /v2/{project_id}/edgemgr/groups/{group_id}/nodes

ief:node:update

-

×

Upgrading an Edge Node

POST /v2/{project_id}/edgemgr/nodes/{node_id}/upgrade

ief:node:upgrade

-

×