Updated on 2024-11-05 GMT+08:00

Permissions Management

If you need to assign different permissions to employees in your enterprise to access your CCI resources, Identity and Access Management (IAM) is a good choice for fine-grained permissions management. IAM provides identity authentication, permissions management, and access control, enabling secure access to your cloud resources.

With IAM, you can use your account to create IAM users, and assign permissions to the users to control their access to specific resources. For example, some software developers in your enterprise need to use CCI resources but should not be allowed to delete the resources or perform any other high-risk operations. In this scenario, you can create IAM users for the software developers and grant them only the permissions required for using CCI resources.

If your account does not require individual IAM users for permissions management, skip this section.

IAM can be used free of charge. You pay only for the resources in your account.

For more information about IAM, see IAM Service Overview.

CCI does not support Landing Zone.

CCI Permissions

By default, new IAM 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.

CCI is a project-level service deployed and accessed in specific regions. To assign CCI permissions to a user group, specify the scope as region-specific projects and select projects for the permissions to take effect. If All projects is selected, the permissions will take effect for the user group in all region-specific projects. When accessing CCI, the users need to switch to a region where they have been authorized to use this service.

You can grant users permissions by using roles and policies.

  • Roles: A type of coarse-grained authorization mechanism that defines permissions related to user responsibilities. This mechanism provides only a limited number of service-level roles for authorization. When using roles to assign permissions, you need to also assign other roles on which the permissions depend to take effect. However, roles are not an ideal choice for fine-grained authorization and secure access control.
  • Policies: A type of fine-grained authorization mechanism that defines permissions required to perform operations on specific cloud resources under certain conditions. This mechanism allows for more flexible policy-based authorization, meeting requirements for secure access control. For example, you can grant CCI users only the permissions for managing a certain type of CCI resources. Most policies define permissions based on APIs. For the API actions supported by CCI, see Permissions Policies and Supported Actions.

Table 1 lists all the system-defined roles and policies supported by CCI.

Table 1 System-defined roles and policies supported by CCI

Role/Policy Name

Description

Type

Dependencies

CCI FullAccess

All permissions on CCI. Users granted the permissions can create, delete, query, and update all CCI resources, excluding privileged operations of administrator roles, such as agency query and authorization.

System-defined policy

N/A

CCI ReadOnlyAccess

Read-only permissions for CCI. Users granted these permissions can only view CCI resources.

System-defined policy

N/A

CCI CommonOperations

Users granted this permission can perform all operations except creating, deleting, and modifying resources related to RBAC, networks, and namespaces, excluding privileged operations of administrator roles, such as agency query and authorization.

System-defined policy

N/A

CCI Administrator

Administrator permissions for CCI. Users granted these permissions can create, delete, query, and update all CCI resources.

System-defined role

Users granted permissions of this policy must also be granted permissions of the following policies:

Global: OBS Administrator

Regional projects: Tenant Guest, VPC Administrator, ELB Administrator, EVS Administrator, AOM Administrator, SWR Administrator, KMS Administrator, and NAT Administrator

NOTE:

If an IAM user is required to grant cluster namespace permissions to other users or user groups, the user must have the IAM read-only permission.

Table 2 lists the permissions granted by a CCI FullAccess policy.

Table 2 Permissions granted by a CCI FullAccess policy

Action

Description

cci:*:*

Perform all operations on Cloud Container Instance (CCI).

vpc:*:*

Perform all operations on Virtual Private Cloud (VPC).

elb:*:*

Perform all operations on Elastic Load Balance (ELB).

sfs:*:*

Perform all operations on Scalable File Service (SFS).

evs:*:*

Perform all operations on Elastic Volume Service (EVS).

aom:*:*

Perform all operations on Application Operations Management (AOM).

apm:*:*

Perform all operations on Application Performance Management (APM).

swr:*:*

Perform all operations on Software Repository for Container (SWR).

nat:*:*

Perform all operations on NAT Gateway.

kms:*:*

Perform all operations on Data Encryption Workshop (DEW).

Table 3 lists the permissions granted by a CCI ReadOnlyAccess policy.

Table 3 Permissions granted by a CCI ReadOnlyAccess policy

Action

Description

cci:*:get

View details about all CCI resources.

cci:*:list

List all CCI resources.

vpc:*:get

View details about all VPC resources.

vpc:*:list

List all VPC resources.

ecs:*:get

View details about all ECS resources.

ecs:*:list

List all ECS resources.

elb:*:get

View details about all ELB resources.

elb:*:list

List all ELB resources.

sfs:*:get*

View details about all SFS resources.

sfs:*:list

List all SFS resources.

evs:*:get*

View details about all EVS resources.

evs:*:list

List all EVS resources.

aom:*:get

View details about all AOM resources.

aom:*:list

List all AOM resources.

amp:*:get

View details about all APM resources.

apm:*:list

List all APM resources.

swr:*:get

View details about all SWR resources.

swr:*:list

List all SWR resources.

nat:*:get

View details about all NAT Gateway resources.

nat:*:list

List all NAT Gateway resources.

kms:*:get

Query key information.

kms:*:list

List all keys.

Table 4 lists the permissions granted by a CCI CommonOperations policy.

Table 4 Permissions granted by a CCI CommonOperations policy

Action

Description

cci:rbac:get

Query RBAC policy details.

cci:rbac:list

List all RBAC policies.

cci:namespace:get

Query namespace details.

cci:namespace:list

List all namespaces.

cci:network:get

Query network details.

cci:network:list

List all networks.

cci:namespaceSubResource:*

Perform all operations on namespaced resources.

cci:addonTemplate:*

Perform all operations on add-on templates.

cci:addonInstance:*

Perform all operations on add-on instances.

vpc:*:*

Perform all operations on VPC.

elb:*:*

Perform all operations on ELB.

evs:*:*

Perform all operations on EVS.

aom:*:*

Perform all operations on AOM.

apm:*:*

Perform all operations on APM.

swr:*:*

Perform all operations on SWR.

nat:*:*

Perform all operations on NAT Gateway.

kms:*:*

Perform all operations on DEW.

Table 5 lists the actions associated with CCI fine-grained policies.

Table 5 Actions associated with CCI fine-grained policies

Action

Description

CCI:rbac:get

Query RBAC details.

CCI:rbac:list

List all RBAC policies.

CCI:rbac:update

Update RBAC policies.

CCI:rbac:delete

Delete RBAC policies.

CCI:rbac:create

Create RBAC policies.

CCI:namespaceSubResource:Create

Create resources in namespaces.

CCI:namespaceSubResource:List

List all Kubernetes resources.

CCI:namespaceSubResource:Get

Query Kubernetes resources.

CCI:namespaceSubResource:Delete

Delete Kubernetes resources.

CCI:namespaceSubResource:Update

Update Kubernetes resources.

CCI:network:update

Update networks.

CCI:network:create

Create networks.

CCI:network:delete

Delete networks.

CCI:network:list

List all networks.

CCI:network:get

Query network details.

CCI:addonInstance:create

Create add-on instances.

CCI:addonInstance:update

Update add-on instances.

CCI:addonInstance:delete

Delete add-on instances.

CCI:addonInstance:get

Query add-on instance details.

CCI:addonInstance:list

List all add-on instances.

CCI:addonTemplate:list

List all add-on templates.

CCI:addonTemplate:get

Query add-on template details.

CCI:namespace:get

Query details about a specified namespace.

CCI:namespace:update

Update namespaces.

CCI:namespace:create

Create namespaces.

CCI:namespace:list

List all namespaces.

CCI:namespace:delete

Delete namespaces.

Table 6 lists the common operations supported by each system-defined policy or role of CCI. Select the policies or roles as required.

Table 6 Common operations supported by each system-defined policy or role of CCI

Operation

CCI FullAccess

CCI ReadOnlyAccess

CCI CommonOperations

Creating Deployments

x

Deleting Deployments

x

Viewing Deployments

Upgrading workloads

x

Scaling workloads

x

Deleting pods

x

Viewing pods

Creating jobs

x

Deleting jobs

x

Viewing jobs

Creating cron jobs

x

Deleting cron jobs

x

Viewing cron jobs

Viewing the resource usage

Adding EVS volumes

x

Deleting EVS volumes

x

Viewing EVS volumes

Creating ConfigMaps

x

Deleting ConfigMaps

x

Viewing ConfigMaps

Creating secrets

x

Deleting secrets

x

Viewing secrets

Adding SSL certificates

x

Deleting SSL certificates

x

Viewing SSL certificates

Adding log storage

x

Viewing logs

Installing add-ons

x

Deleting add-ons

x

Viewing add-ons

Viewing permissions

Granting permissions

x

x

Deleting permissions

x

x

Querying details about a specified namespace

x

Creating namespaces

x

x

Deleting namespaces

x

x

Creating networks

x

x

Deleting networks

x

x

Listing all networks

Querying network details