Updated on 2024-04-15 GMT+08:00

UCS Permissions

UCS allows you to grant cluster permissions to IAM users and user groups under your account, so that departments or projects can be isolated by permission policy or cluster group.

Figure 1 Permission design

UCS Permission Types

UCS provides refined permission management based on the role access control (RBAC) capability of IAM and Kubernetes. Permission control can be implemented by UCS service resource and Kubernetes resource in a cluster. The two permission types apply to different resource types and are granted using different methods.

  • UCS resource permissions are granted based on the system policies of IAM. UCS resources include container fleets, clusters, and federation instances. Administrators can grant different permissions to different user roles (such as development and O&M) to control their use of UCS resources.
  • Kubernetes resource permissions in a cluster are granted based on the Kubernetes RBAC capability. Refined permissions can be granted to Kubernetes resource objects in a cluster. With permission setting, the permissions for performing operations on different Kubernetes resource objects (such as workloads, jobs, and services) will vary with users.

UCS permissions apply to three phases: creating and managing infrastructure resources in the first phase, that is, creating container fleets, registering clusters, and enabling cluster federation; using cluster Kubernetes resource objects (such as workloads and services) in the second phase; monitoring O&M infrastructure resources and Kubernetes resources in the third phase. In the first and third phases, UCS resource permissions are granted following the IAM system policies on the IAM console. In the second phase, Kubernetes resource permission policies are created by the administrator on the Permissions page of the UCS console, and are associated with specific fleets or clusters on the Fleets page.

Permission Management Flow

Figure 2 shows the permission management flow of a new IAM user.

Figure 2 Permission management flow

Basic Concepts

Figure 3 shows the relationships between the following basic concepts:

  • User: You can use your administrator account to create IAM users and grant permissions on specific resources. Each IAM user has their own identity credentials (password and access keys) and uses cloud resources based on granted permissions.
  • User group: You can use user groups to grant permissions to IAM users. IAM users added to a user group automatically obtain the permissions granted to the group. For example, after the administrator grants the UCS FullAccess permission to a user group, users in the user group have the administrator permissions of UCS. If a user is added to multiple user groups, the user inherits the permissions granted to all these groups.
  • Permission: The UCS administrator defines the scope of operations performed by one or more users on Kubernetes resources in a cluster. UCS presets several common permissions, including Admin, Viewer, and Developer permissions, and supports custom permissions. For details, see Creating a Permission Policy.
  • Fleet: A fleet contains multiple clusters. Administrators can use fleets to classify associated clusters. The fleet can also implement unified management of multiple clusters, including permissions, security policies, configurations, and multi-cluster orchestration. Fleets and permissions are in a many-to-many relationship. That is, a permission policy can be associated with multiple fleets, and a fleet can be associated with multiple permission policies.
Figure 3 Permission relationship

Constraints

  • An on-premises cluster can use the Huawei Cloud IAM token to access kube-apiserver, and does not identify the system policies (UCS FullAccess, UCS CommonOperations, UCS CIAOperations, and UCS ReadOnlyAccess) of UCS.
  • Multi-cloud clusters can only be registered using a Huawei Cloud account. Cluster registration through IAM system policies is not supported.