All Products
Search
Document Center

Enterprise Distributed Application Service:Use resource groups to manage permissions

Last Updated:Mar 11, 2026

When multiple teams share an Alibaba Cloud account, each team typically needs access to only its own Enterprise Distributed Application Service (EDAS) clusters and applications. Instead of creating and maintaining separate Resource Access Management (RAM) policies for every user and resource, you can group related resources and grant permissions at the group level. This reduces policy maintenance overhead and prevents permission gaps when resources are added or removed.

Supported resources

Not all EDAS resource types can be added to resource groups. Review this table before planning your permission structure.

Resource typeSupports resource groupsPermission management method
ClustersYesResource group + custom policy
ApplicationsYesResource group + custom policy
Microservices namespacesNoDirect RAM policy
Application Configuration Management (ACM) resourcesNoDirect RAM policy
Application Real-Time Monitoring Service (ARMS) resourcesNoDirect RAM policy

For resource types that do not support resource groups, grant permissions through direct RAM policies. See Grant permissions on unsupported resource types for an example.

Key concepts

Resource-group-based permissions combine three building blocks:

ConceptDefinition
Resource groupA logical container that holds one or more Alibaba Cloud resources. Assign clusters and applications to a resource group so that permissions apply at the group level rather than per resource.
RAM userAn identity within your Alibaba Cloud account that represents a person or service. Each team member who needs access to EDAS resources uses a RAM user.
Custom policyA JSON document that defines what actions a RAM user can perform. When attached to a RAM user within the scope of a resource group, the policy limits those actions to the resources in that group.

You create resource groups, assign EDAS resources to them, create RAM users for each team, and attach a custom policy that scopes each user's permissions to their resource group.

Resource groups vs. RAM policies

RAM supports two approaches to permission management. The following table compares them.

DimensionRAM policiesResource groups
ScopePer resource. Each policy lists specific resource IDs.Per group. A single policy covers all resources in a group.
Policy maintenanceSeparate policies for each user, even when permissions are identical. Update policies whenever resources change.One shared policy. Control access by adding or removing resources from the group.
Best forFine-grained control over individual resources. Small-scale setups with few resources.Team-based access control. Environments where resources are frequently added or removed.
Note

EDAS supports two independent permission management systems, and each Alibaba Cloud account can use only one of them. We recommend that you use RAM.

Prerequisites

Before you begin, make sure that you have:

  • Switched to RAM-based permission management. EDAS has a legacy primary and sub-account management system. Each Alibaba Cloud account can use only one permission management system. To use resource groups, switch to RAM. For details, see Replace EDAS-defined permissions with RAM policies

  • An active Alibaba Cloud account with the Resource Management service (automatically activated for all accounts and RAM users)

Set up resource-group-based permissions

The following example demonstrates the full setup. Company A has two departments:

  • deptA manages clusterA, appA1, and appA2.

  • deptB manages clusterB, appB1, and appB2.

Each department should only access its own resources.

Scenario

Step 1: Create resource groups

  1. Log on to the Resource Management console.

  2. Create two resource groups: groupA and groupB.

Step 2: Assign resources to resource groups

Add clusters and applications to the corresponding resource groups:

  • Add clusterA, appA1, and appA2 to groupA.

  • Add clusterB, appB1, and appB2 to groupB.

For detailed steps, see Transfer resources to a resource group.

Step 3: Create RAM users

  1. Log on to the RAM console.

  2. Create two RAM users: subA for deptA and subB for deptB.

Step 4: Create a custom policy

In the RAM console, create a custom policy that grants cluster and application management permissions. Because the scope is controlled at the resource group level, a single policy works for both users.

For detailed steps, see Create custom policies.

Use the following policy content:

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

The Resource element uses a wildcard because the resource group scope, applied in the next step, determines which specific resources the user can access.

Step 5: Attach the policy to RAM users

  1. In the Resource Management console, attach the custom policy to subA within the scope of groupA.

  2. Attach the same policy to subB within the scope of groupB.

After this step, subA can only manage clusters and applications in groupA, and subB can only manage those in groupB.

Step 6 (optional): Adjust resource assignments

To change a user's access, add or remove resources from their resource group. No policy changes are required.

For example, if deptA creates a new application appA3, add it to groupA. subA automatically gains access to it.

Grant permissions on unsupported resource types

Microservices namespaces cannot be added to resource groups. If a RAM user needs to query microservices in a specific namespace, grant the permission through a separate RAM policy.

Note

Even if a RAM user has the AliyunEDASFullAccess policy on a resource group, queries that specify a microservices namespace return a permission error. Namespaces exist outside the resource group scope.

To grant namespace-level read access, create and attach the following policy to the RAM user. For detailed steps, see Grant permissions to a RAM user.

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

Replace the following placeholders with your values:

PlaceholderDescriptionExample
$regionidThe region where the namespace is locatedcn-hangzhou
$namespaceThe microservices namespace IDdefault

This policy grants only the edas:ReadService action. For the full list of EDAS policy actions, including cluster management, application management, and application-based microservice management, see RAM policies.

Verify the result

After completing the setup, verify that each RAM user can only access resources in their assigned resource group:

  1. Log on to the EDAS console as subA.

  2. Confirm that subA can view and manage clusterA, appA1, and appA2.

  3. Confirm that subA cannot view or manage resources in groupB (clusterB, appB1, appB2).

  4. Repeat the verification for subB with groupB resources.