RAM policies for EDAS

更新时间:
复制 MD 格式

Resource Access Management (RAM) policies control what actions RAM users can perform on Enterprise Distributed Application Service (EDAS) resources. Each policy maps an action to a resource Alibaba Cloud Resource Name (ARN) with an Allow or Deny effect.

This topic lists all EDAS actions, resource ARN formats, and JSON policy examples for common permission scenarios.

Resource ARN format

Each EDAS resource is identified by an ARN:

acs:edas:<region-id>:<account-id>:<resource-path>

The following table lists all EDAS resource types and their ARN patterns.

Resource typeARN pattern
Microservices namespaceacs:edas:$regionid:$accountid:namespace/$namespace
Clusteracs:edas:$regionid:$accountid:namespace/$namespace/cluster/$clusterId
Applicationacs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId
Configurationacs:acms:$regionid:$accountid:cfg/$namespace/$groupId/$configId
System (global)acs:edas:$regionid:$accountid:*

Resource variables

VariableDescriptionWhere to find it
$regionidRegion where the resource is deployed, such as cn-shanghai. For more information, see Regions and zones.N/A
$namespaceMicroservices namespace ID.In the EDAS console, go to Resource Management > Microservice Namespaces. The ID is shown on the Microservices Namespace page. 查看命名空间租户ID
$clusterIdCluster ID, such as 8c349f69-505c-436f-8dc7-**********.In the EDAS console, go to Resource Management > ECS Clusters. Click a cluster ID in the Cluster ID/Name column to open the Cluster Details page. 查看集群ID
$applicationIdApplication ID, such as ec8e38a3-3dca-47a7-b6f9-5**********.In the EDAS console, go to Application Management > Applications. Click an application name, then find the ID on the Basic Information tab. 应用详情

Wildcards

Use an asterisk (*) in place of a specific ID to match all resources of that type:

  • namespace/* -- all microservices namespaces in a region

  • namespace/$namespace/cluster/* -- all clusters in a namespace

  • namespace/*/application/* -- all applications across all namespaces in a region

Actions reference

The tables below list the actions for each resource category, their dependent actions, and the target resource ARN.

Microservices namespace management

CodeOperationActionDependent actionResource
1.1Create a namespaceedas:CreateNamespace--acs:edas:$regionid:$accountid:namespace/*
1.2Delete a namespaceedas:DeleteNamespaceedas:ReadNamespaceacs:edas:$regionid:$accountid:namespace/$namespace
1.4Modify a namespaceedas:ManageNamespaceedas:ReadNamespaceacs:edas:$regionid:$accountid:namespace/$namespace
1.5View namespace detailsedas:ReadNamespace--acs:edas:$regionid:$accountid:namespace/$namespace

Cluster management

CodeOperationActionDependent actionResource
2.1Create a clusteredas:CreateCluster--acs:edas:$regionid:$accountid:namespace/$namespace/cluster/*
2.2Delete a clusteredas:DeleteClusteredas:ReadClusteracs:edas:$regionid:$accountid:namespace/$namespace/cluster/$clusterId
2.3View cluster detailsedas:ReadCluster--acs:edas:$regionid:$accountid:namespace/$namespace/cluster/$clusterId
2.4Manage a clusteredas:ManageClusteredas:ReadClusteracs:edas:$regionid:$accountid:namespace/$namespace/cluster/$clusterId

Application management

CodeOperationActionDependent actionResource
3.1Create an applicationedas:CreateApplication--acs:edas:$regionid:$accountid:namespace/$namespace/application/*
3.2Delete an applicationedas:DeleteApplicationedas:ReadApplicationacs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId
3.3View application detailsedas:ReadApplication--acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId
3.4Manage an applicationedas:ManageApplicationedas:ReadApplicationacs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId
3.5Configure an application (port, Tomcat context, load balancing, health check, JVM, Intra-zone Provider First)edas:ConfigApplicationedas:ReadApplicationacs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId
3.6Manage application logsedas:ManageAppLogedas:ReadApplicationacs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId

Microservices management

CodeOperationActionDependent actionResource
4.1View microservicesedas:ReadService--acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId
4.2Test microservicesedas:TestService--acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId
4.3Manage microservicesedas:ManageServiceedas:ReadServiceacs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId

Configuration management

CodeOperationActionDependent actionResource
5.1View configurationsacms:R--acs:acms:$regionid:$accountid:cfg/$namespace/$groupId/$configId
5.2Manage configurationsacms:*--acs:acms:$regionid:$accountid:cfg/$namespace/$groupId/$configId

System management

CodeOperationActionDependent actionResource
6.1Manage the EDAS systemedas:ManageSystem--acs:edas:$regionid:$accountid:*
6.2View operation logsedas:ReadOperationLog--acs:edas:$regionid:$accountid:*
6.3Perform system O&M operationsedas:ManageOperation--acs:edas:$regionid:$accountid:*
6.4Purchase ECS instancesedas:ECSPurchase--acs:edas:*:*:*
6.5Purchase SLB instancesedas:SLBPurchase--acs:edas:*:*:*
6.6Purchase Simple Log Service projectsedas:SLSPurchase--acs:edas:*:*:*

Commercial feature management

CodeOperationActionDependent actionResource
7Manage commercially available EDAS featuresedas:ManageCommercialization--acs:edas:$regionid:$accountid:*

Policy examples

All policies use "Version": "1". Replace variables ($regionid, $namespace, $clusterId, $applicationId) with actual values. Set a variable to * to match all resources of that type.

Application policies

Single application

Manage an application (without create or delete permissions)

Allows viewing, configuring, and managing logs for a specific application, while explicitly denying creation and deletion.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:*Application"],
      "Effect": "Allow",
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"]
    },
    {
      "Action": ["edas:DeleteApplication"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"],
      "Effect": "Deny"
    },
    {
      "Action": ["edas:CreateApplication"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/*"],
      "Effect": "Deny"
    }
  ]
}

Create an application

Important

Creating an application requires a cluster instance. Include ReadCluster alongside CreateApplication.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:CreateApplication", "edas:ReadCluster"],
      "Effect": "Allow",
      "Resource": [
        "acs:edas:$regionid:*:namespace/$namespace/application/*",
        "acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"
      ]
    }
  ]
}

Delete an application

Important

Include ReadApplication so the RAM user can locate the application before deleting it.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:DeleteApplication", "edas:ReadApplication"],
      "Effect": "Allow",
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"]
    }
  ]
}

Manage application logs

Important

Include ReadApplication so the RAM user can locate the application.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ReadApplication", "edas:ManageAppLog"],
      "Effect": "Allow",
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"]
    }
  ]
}

Configure an application

Covers the application port, Tomcat context, load balancing, health check, JVM parameters, and Intra-zone Provider First.

Important

Include ReadApplication so the RAM user can access the application settings.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ReadApplication", "edas:ConfigApplication"],
      "Effect": "Allow",
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"]
    }
  ]
}

Multiple applications

Query applications across all namespaces in a region

Note

A region may contain multiple microservices namespaces. This policy grants read access to applications in all namespaces within the specified region.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ReadApplication"],
      "Effect": "Allow",
      "Resource": ["acs:edas:$regionid:*:namespace/*/application/*"]
    }
  ]
}

Manage all applications in a namespace

Grants full application permissions and cluster read access within a specific namespace.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:*Application", "edas:ReadCluster"],
      "Effect": "Allow",
      "Resource": [
        "acs:edas:$regionid:*:namespace/$namespace/application/*",
        "acs:edas:$regionid:*:namespace/$namespace/cluster/*"
      ]
    }
  ]
}

Cluster policies

Create clusters

Important

The Resource value must end with cluster/* to allow cluster creation.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:CreateCluster"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/*"],
      "Effect": "Allow"
    }
  ]
}

View cluster details

Read-only access to a cluster, including its instances and applications.

Note

Assign permissions on a resource group to let a RAM user view all clusters in that group.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ReadCluster"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"],
      "Effect": "Allow"
    }
  ]
}

Full cluster management

Allows creating, adding instances to, modifying, and deleting a cluster.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ManageCluster"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"],
      "Effect": "Allow"
    }
  ]
}

To restrict specific operations, add explicit Deny statements:

Allow management but deny creation:

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ManageCluster"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"],
      "Effect": "Allow"
    },
    {
      "Action": ["edas:CreateCluster"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/*"],
      "Effect": "Deny"
    }
  ]
}

Allow management but deny both creation and deletion:

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ManageCluster"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"],
      "Effect": "Allow"
    },
    {
      "Action": ["edas:CreateCluster", "edas:DeleteCluster"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/*"],
      "Effect": "Deny"
    }
  ]
}
Note

Set $clusterId to a specific cluster ID to restrict management to that cluster. Set it to * to allow management of all clusters in the namespace.

Delete clusters

Requires both ReadCluster (to locate the cluster) and DeleteCluster.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ReadCluster", "edas:DeleteCluster"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"],
      "Effect": "Allow"
    }
  ]
}

Microservices namespace policies

Create microservices namespaces

Important

The Resource value must end with namespace/* to allow namespace creation.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:CreateNamespace"],
      "Resource": ["acs:edas:$regionid:*:namespace/*"],
      "Effect": "Allow"
    }
  ]
}

View microservices namespaces

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ReadNamespace"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace"],
      "Effect": "Allow"
    }
  ]
}

Manage microservices namespaces

Allows modifying or renaming a microservices namespace.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ManageNamespace"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace"],
      "Effect": "Allow"
    }
  ]
}

Delete microservices namespaces

Requires both ReadNamespace (to locate the namespace) and DeleteNamespace.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ReadNamespace", "edas:DeleteNamespace"],
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace"],
      "Effect": "Allow"
    }
  ]
}

Microservices policies

View microservices

Note

Set $applicationId to * to grant access to all microservices in the namespace.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ReadService"],
      "Effect": "Allow",
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"]
    }
  ]
}

Test microservices

Note

Set both $namespace and $applicationId to * to allow testing across all namespaces.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:TestService"],
      "Effect": "Allow",
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"]
    }
  ]
}

Manage microservices

Note

Set $applicationId to * to grant management access to all microservices in the namespace.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ManageService"],
      "Effect": "Allow",
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"]
    }
  ]
}

Remove outlier instances

Important

Removing an outlier instance affects all applications in the microservices namespace. This permission can only be scoped to the namespace level.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ManageService"],
      "Effect": "Allow",
      "Resource": ["acs:edas:$regionid:*:namespace/$namespace"]
    }
  ]
}

Resource purchase policies

Important
  • The Resource value for all purchase policies must be acs:edas:*:*:*. Finer-grained resource scoping is not supported.

  • Purchase policies apply only to RAM users.

Purchase ECS instances

Applicable when purchasing ECS instances in a cluster, creating an application in an ECS cluster, or scaling out an application.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["edas:ECSPurchase"],
      "Resource": ["acs:edas:*:*:*"]
    }
  ]
}

Purchase SLB instances

Applicable when binding an SLB instance to an application.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["edas:SLBPurchase"],
      "Resource": ["acs:edas:*:*:*"]
    }
  ]
}

Purchase Simple Log Service resources

Applicable when provisioning Log Service resources for an application.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["edas:SLSPurchase"],
      "Resource": ["acs:edas:*:*:*"]
    }
  ]
}

System policies

System policies are not scoped to specific resources. Set the Resource value to acs:edas:*:*:*.

Full system management

Grants permissions to manage RAM users, view resource usage, and view operation logs.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ManageSystem"],
      "Resource": ["acs:edas:*:*:*"],
      "Effect": "Allow"
    }
  ]
}

System O&M

Grants permissions to view operation logs, perform one or more O&M tasks at a time, and manage resource groups.

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ManageOperation"],
      "Resource": ["acs:edas:*:*:*"],
      "Effect": "Allow"
    }
  ]
}

View operation logs

{
  "Version": "1",
  "Statement": [
    {
      "Action": ["edas:ReadOperationLog"],
      "Resource": ["acs:edas:*:*:*"],
      "Effect": "Allow"
    }
  ]
}