You can create a custom ClusterRole to perform the Commvault backups and restores. The role is then bind to the service account.
Before You Begin
You must have a service account that meets the following requirements:
- 
Has, at a minimum, read-only (GET API verb permission) for all the API resources/objects that you want Commvault to protect.
 - 
Can run the
kubectl api-resourcescommand against the cluster that you want to protect. - 
Can create new ClusterRole API resources to create the restricted role on the cluster.
 
The permissions for resources and sub-resources are as follows:
| 
 Resources and sub-resources  | 
 Permissions  | 
|---|---|
| 
 
  | 
 
  | 
| 
 All resources obtained by the   | 
 
  | 
Procedure
- 
Download the following Linux bash script. The script is used to create the Kubernetes role that is required to perform Commvault backups and restores.
 - 
On a host that has access to the Kubernetes cluster that you want Commvault to protect, run the following command to create the custom ClusterRole definition:
./cvrolescript.sh | kubectl apply -f - - 
To confirm that the ClusterRole is created as expected, run the following command:
kubectl describe clusterrole cv-role [-n namespace] 
Important
If new Kubernetes API resources are added to your cluster, then you must run the role definition command again to regenerate the custom ClusterRole definition.