RAM system policies only control permissions for actions on ACK One cluster resources, such as creating instances or viewing instance lists. To manage Kubernetes resources within a cluster, such as creating GitOps Applications or Argo Workflows, a RAM user or RAM role also needs Role-Based Access Control (RBAC) permissions for that cluster and its namespaces. This topic describes how to grant these permissions.
Usage notes
Only an Alibaba Cloud account, the cluster creator, or a RAM user with cluster administrator permissions can grant permissions to a specified RAM user or RAM role. Regular RAM users cannot grant permissions.
Prerequisites
You must first grant the RAM user or RAM role permissions to operate on ACK One clusters. For more information, see Grant system policies to a RAM user or RAM role.
To grant permissions by using the Alibaba Cloud CLI, install the CLI (version 3.0.159 or later) and configure your credentials. For more information, see Install Alibaba Cloud CLI and Configure credentials.
RBAC permissions supported by ACK One
RBAC permissions for Fleet
RBAC role | Description |
admin (administrator) | Grants read and write permissions on all cluster-scoped resources and on resources in all namespaces. |
dev (developer) | Grants read and write permissions on resources within selected namespaces. |
gitops-dev (GitOps developer) | Grants read and write permissions on application resources in the argocd namespace. |
RBAC permissions for workflow clusters
RBAC role | Description |
admin (administrator) | Grants read and write permissions on all cluster-scoped resources and on resources in all namespaces. |
dev (developer) | Grants read and write permissions on resources within selected namespaces. |
RBAC permissions for registered clusters
For more information, see Predefined RBAC roles for registered clusters.
Grant RBAC permissions for Fleet
Use the console
Log on to the ACK One console.
In the left-side navigation pane, choose .
On the Permissions page, click the Fleet tab, and then click the RAM User tab.
Find the RAM user to authorize and click Manage Permissions in the Actions column.
In the dialog box that appears, select the RAM Role and Namespace you want, and then click OK.
Use the CLI
Grant admin role
aliyun adcp GrantUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType cluster --RoleName adminGrant dev role
aliyun adcp GrantUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType namespace --Namespace default --RoleName devGrant gitops-dev role
aliyun adcp GrantUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType namespace --Namespace argocd --RoleName gitops-devGrant RBAC permissions for a workflow cluster
Use the CLI
Grant admin role
aliyun adcp GrantUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType cluster --RoleName adminGrant dev role
aliyun adcp GrantUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType namespace --Namespace default --RoleName devRelated operations
Update RBAC permissions
aliyun adcp UpdateUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476****** --RoleType cluster --RoleName devQuery RBAC permissions
aliyun adcp DescribeUserPermissions --UserId 1159648454******Revoke RBAC permissions
aliyun adcp DeleteUserPermission --UserId 1159648454****** --ClusterId c6caf48c192f7476******