Uploaded image for project: 'OpenShift Request For Enhancement'
  1. OpenShift Request For Enhancement
  2. RFE-8072

CSV cert-manager-operator.v1.15.1 has cluster permissions

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • None
    • Product / Portfolio Work
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Ref: https://github.ibm.com/PrivateCloud-analytics/CPD-Quality/issues/44029

      Problem Description:

      There is non compliance found in cert-manager Operator for Red Hat OpenShift. 
      cpd_nc_sh_026_csv_clusterPermissions_present

      CSV: cert-manager-operator.v1.15.1 - we are using this in CPD.

      ClusterPermissions give operators cluster-wide access, which violates CPD’s requirement for namespace-scoped RBAC.
      This poses a security risk by enabling potential privilege escalation for tenant admins through service account tokens. So, we need the clusterpermissions removed from CSV's.

      CSV info:

      apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata:   annotations:     alm-examples: |-       [         {           "apiVersion": "acme.cert-manager.io/v1",           "kind": "Challenge",           "metadata": {             "name": "tls-cert-sample",             "namespace": "default"           },           "spec": {             "authorizationURL": "https://acme-staging-v02.api.letsencrypt.org/acme/authz-v3/XXXXX",             "dnsName": "sample.dns.name",             "issuerRef": {               "kind": "Issuer",               "name": "letsencrypt-staging"             },             "key": "XXX",             "solver": {               "dns01": {                 "route53": {                   "accessKeyID": "XXX",                   "hostedZoneID": "XXX",                   "region": "us-east-1",                   "secretAccessKeySecretRef": {                     "key": "awsSecretAccessKey",                     "name": "aws-secret"                   }                 }               },               "selector": {                 "dnsNames": [                   "sample.dns.name"                 ]               }             },             "token": "XXX",             "type": "DNS-01",             "url": "https://acme-staging-v02.api.letsencrypt.org/acme/chall-v3/XXXXXX/XXXXX",             "wildcard": false           }         },         {           "apiVersion": "acme.cert-manager.io/v1",           "kind": "Order",           "metadata": {             "annotations": {               "cert-manager.io/certificate-name": "tls-cert",               "cert-manager.io/certificate-revision": "1",               "cert-manager.io/private-key-secret-name": "tls-cert-sample"             },             "name": "tls-cert-sample",             "namespace": "default"           },           "spec": {             "commonName": "sample.dns.name",             "dnsNames": [               "sample.dns.name"             ],             "issuerRef": {               "kind": "Issuer",               "name": "letsencrypt-staging"             },             "request": "XXX"           }         },         {           "apiVersion": "cert-manager.io/v1",           "kind": "Certificate",           "metadata": {             "name": "selfsigned-ca",             "namespace": "default"           },           "spec": {             "commonName": "selfsigned-ca.dns.name",             "isCA": true,             "issuerRef": {               "group": "cert-manager.io",               "kind": "ClusterIssuer",               "name": "selfsigned-issuer"             },             "privateKey": {               "algorithm": "ECDSA",               "size": 256             },             "secretName": "ca-root-secret"           }         },         {           "apiVersion": "cert-manager.io/v1",           "kind": "Certificate",           "metadata": {             "name": "tls-cert",             "namespace": "default"           },           "spec": {             "commonName": "sample.dns.name",             "dnsNames": [               "sample.dns.name"             ],             "isCA": false,             "issuerRef": {               "kind": "Issuer",               "name": "letsencrypt-staging"             },             "secretName": "tls-cert"           }         },         {           "apiVersion": "cert-manager.io/v1",           "kind": "CertificateRequest",           "metadata": {             "annotations": {               "cert-manager.io/certificate-name": "tls-cert",               "cert-manager.io/certificate-revision": "1",               "cert-manager.io/private-key-secret-name": "tls-cert-sample"             },             "name": "tls-cert-sample",             "namespace": "default"           },           "spec": {             "groups": [               "system:serviceaccounts",               "system:serviceaccounts:cert-manager",               "system:authenticated"             ],             "issuerRef": {               "kind": "Issuer",               "name": "letsencrypt-staging"             },             "request": "XXX",             "username": "system:serviceaccount:cert-manager:cert-manager"           }         },         {           "apiVersion": "cert-manager.io/v1",           "kind": "ClusterIssuer",           "metadata": {             "name": "selfsigned-issuer"           },           "spec": {             "selfSigned": {}           }         },         {           "apiVersion": "cert-manager.io/v1",           "kind": "Issuer",           "metadata": {             "name": "ca-issuer",             "namespace": "default"           },           "spec": {             "ca": {               "secretName": "ca-root-secret"             }           }         },         {           "apiVersion": "cert-manager.io/v1",           "kind": "Issuer",           "metadata": {             "name": "letsencrypt-staging",             "namespace": "default"           },           "spec": {             "acme": {               "email": "aos-ci-cd@redhat.com",               "privateKeySecretRef": {                 "name": "letsencrypt-staging"               },               "server": "https://acme-staging-v02.api.letsencrypt.org/directory",               "solvers": [                 {                   "dns01": {                     "route53": {                       "accessKeyID": "ACCESS_KEY_ID",                       "hostedZoneID": "HOSTED_ZONE_ID",                       "region": "AWS_REGION",                       "secretAccessKeySecretRef": {                         "key": "access-key",                         "name": "sample-aws-secret"                       }                     }                   },                   "selector": {                     "dnsNames": [                       "sample.dns.name"                     ]                   }                 }               ]             }           }         },         {           "apiVersion": "operator.openshift.io/v1alpha1",           "kind": "CertManager",           "metadata": {             "name": "cluster"           },           "spec": {             "logLevel": "Normal",             "managementState": "Managed"           }         },         {           "apiVersion": "operator.openshift.io/v1alpha1",           "kind": "IstioCSR",           "metadata": {             "annotations": {               "kubernetes.io/description": "Creating this resource requires the istio-csr tech-preview feature to be enabled, which otherwise has no effect. Please refer to the cert-manager documentation for more information on enabling the istio-csr feature. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process"             },             "name": "default",             "namespace": "istio-csr"           },           "spec": {             "istioCSRConfig": {               "certManager": {                 "issuerRef": {                   "group": "cert-manager.io",                   "kind": "Issuer",                   "name": "istio-csr-issuer"                 }               },               "istio": {                 "namespace": "istio-system"               },               "istiodTLSConfig": {                 "trustDomain": "cluster.local"               }             }           }         }       ]     capabilities: Seamless Upgrades     categories: Security     console.openshift.io/disable-operand-delete: "true"     containerImage: registry.redhat.io/cert-manager/cert-manager-operator-rhel9@sha256:f328263e2d29e34ede65e4501f0447b2d9f84e9445a365c2fa2fbb253939e274     createdAt: 2025-03-13T18:26:37     features.operators.openshift.io/cnf: "false"     features.operators.openshift.io/cni: "false"     features.operators.openshift.io/csi: "false"     features.operators.openshift.io/disconnected: "false"     features.operators.openshift.io/fips-compliant: "true"     features.operators.openshift.io/proxy-aware: "true"     features.operators.openshift.io/tls-profiles: "false"     features.operators.openshift.io/token-auth-aws: "true"     features.operators.openshift.io/token-auth-azure: "true"     features.operators.openshift.io/token-auth-gcp: "true"     olm.operatorGroup: openshift-cert-manager-operator     olm.operatorNamespace: cert-manager-operator     olm.skipRange: '>=1.15.0 <1.15.1'     operator.openshift.io/uninstall-message: The cert-manager Operator for Red Hat       OpenShift will be removed from cert-manager-operator namespace. If your Operator       configured any off-cluster resources, these will continue to run and require       manual cleanup. All operands created by the operator will need to be manually       cleaned up. Please refer to https://docs.openshift.com/container-platform/latest/security/cert_manager_operator/cert-manager-operator-uninstall.html       for additional steps.     operatorframework.io/cluster-monitoring: "true"     operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"acme.cert-manager.io","kind":"Challenge","version":"v1"}},{"type":"olm.gvk","value":{"group":"acme.cert-manager.io","kind":"Order","version":"v1"}},{"type":"olm.gvk","value":{"group":"cert-manager.io","kind":"Certificate","version":"v1"}},{"type":"olm.gvk","value":{"group":"cert-manager.io","kind":"CertificateRequest","version":"v1"}},{"type":"olm.gvk","value":{"group":"cert-manager.io","kind":"ClusterIssuer","version":"v1"}},{"type":"olm.gvk","value":{"group":"cert-manager.io","kind":"Issuer","version":"v1"}},{"type":"olm.gvk","value":{"group":"operator.openshift.io","kind":"CertManager","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"operator.openshift.io","kind":"IstioCSR","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"openshift-cert-manager-operator","version":"1.15.1"}}]}'     operatorframework.io/suggested-namespace: cert-manager-operator     operators.openshift.io/infrastructure-features: '["proxy-aware"]'     operators.openshift.io/valid-subscription: '["OpenShift Kubernetes Engine", "OpenShift       Container Platform", "OpenShift Platform Plus"]'     operators.operatorframework.io/builder: operator-sdk-v1.25.1     operators.operatorframework.io/project_layout: go.kubebuilder.io/v3     repository: https://github.com/openshift/cert-manager-operator     support: Red Hat, Inc.   creationTimestamp: "2025-04-06T22:10:47Z"   generation: 1   labels:     olm.copiedFrom: cert-manager-operator     olm.managed: "true"     operatorframework.io/arch.amd64: supported     operatorframework.io/arch.arm64: supported     operatorframework.io/arch.ppc64le: supported     operatorframework.io/arch.s390x: supported     operatorframework.io/os.linux: supported   name: cert-manager-operator.v1.15.1   namespace: cpd-ops   resourceVersion: "86876"   uid: 8eba92b9-fad3-46b0-87e6-d80e8f0019d6 spec:   apiservicedefinitions: {}   cleanup:     enabled: false   customresourcedefinitions:     owned:     - kind: CertificateRequest       name: certificaterequests.cert-manager.io       version: v1     - kind: Certificate       name: certificates.cert-manager.io       version: v1     - description: CertManager is the Schema for the certmanagers API       displayName: CertManager       kind: CertManager       name: certmanagers.operator.openshift.io       version: v1alpha1     - kind: Challenge       name: challenges.acme.cert-manager.io       version: v1     - kind: ClusterIssuer       name: clusterissuers.cert-manager.io       version: v1     - kind: Issuer       name: issuers.cert-manager.io       version: v1     - kind: IstioCSR       name: istiocsrs.operator.openshift.io       version: v1alpha1     - kind: Order       name: orders.acme.cert-manager.io       version: v1   description: |     The cert-manager Operator for Red Hat OpenShift provides seamless support for [cert-manager v1.15.5](https://github.com/cert-manager/cert-manager/tree/v1.15.2), which automates certificate management.     For more information, see the [cert-manager Operator for Red Hat OpenShift documentation](https://docs.openshift.com/container-platform/latest/security/cert_manager_operator/index.html).   displayName: cert-manager Operator for Red Hat OpenShift   icon:   - base64data: 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     mediatype: image/png   install:     spec:       clusterPermissions:       - rules:         - apiGroups:           - ""           resources:           - configmaps           - events           - namespaces           - serviceaccounts           - services           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - ""           resources:           - pods           - secrets           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - acme.cert-manager.io           resources:           - challenges           - challenges/finalizers           - challenges/status           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - acme.cert-manager.io           resources:           - challenges           - challenges/finalizers           - challenges/status           - orders           - orders/finalizers           - orders/status           verbs:           - create           - delete           - deletecollection           - get           - list           - patch           - update           - watch         - apiGroups:           - admissionregistration.k8s.io           resources:           - mutatingwebhookconfigurations           - validatingwebhookconfigurations           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - apiextensions.k8s.io           resources:           - customresourcedefinitions           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - apiregistration.k8s.io           resources:           - apiservices           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - apps           resources:           - deployments           - replicasets           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - cert-manager.io           resources:           - certificaterequests           - certificaterequests/finalizers           - certificaterequests/status           - certificates           - certificates/finalizers           - certificates/status           - clusterissuers           - clusterissuers/status           - issuers           - issuers/status           verbs:           - create           - delete           - deletecollection           - get           - list           - patch           - update           - watch         - apiGroups:           - cert-manager.io           resourceNames:           - clusterissuers.cert-manager.io/*           - issuers.cert-manager.io/*           resources:           - signers           verbs:           - approve         - apiGroups:           - certificates.k8s.io           resources:           - certificatesigningrequests           - certificatesigningrequests/status           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - certificates.k8s.io           resources:           - signers           verbs:           - create           - delete           - get           - list           - patch           - sign           - update           - watch         - apiGroups:           - config.openshift.io           resources:           - certmanagers           - clusteroperators           - clusteroperators/status           - infrastructures           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - coordination.k8s.io           resources:           - leases           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - gateway.networking.k8s.io           resources:           - gateways           - gateways/finalizers           - httproutes           - httproutes/finalizers           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - networking.k8s.io           resources:           - ingresses           - ingresses/finalizers           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - operator.openshift.io           resources:           - certmanagers           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - operator.openshift.io           resources:           - certmanagers/finalizers           verbs:           - update         - apiGroups:           - operator.openshift.io           resources:           - certmanagers/status           verbs:           - get           - patch           - update         - apiGroups:           - operator.openshift.io           resources:           - istiocsrs           verbs:           - get           - list           - patch           - update           - watch         - apiGroups:           - operator.openshift.io           resources:           - istiocsrs/finalizers           verbs:           - update         - apiGroups:           - operator.openshift.io           resources:           - istiocsrs/status           verbs:           - get           - patch           - update         - apiGroups:           - rbac.authorization.k8s.io           resources:           - clusterrolebindings           - clusterroles           - rolebindings           - roles           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - route.openshift.io           resources:           - routes           - routes/custom-host           verbs:           - create           - delete           - get           - list           - patch           - update           - watch         - apiGroups:           - authentication.k8s.io           resources:           - tokenreviews           verbs:           - create         - apiGroups:           - authorization.k8s.io           resources:           - subjectaccessreviews           verbs:           - create         serviceAccountName: cert-manager-operator-controller-manager       deployments:       - label:           app.kubernetes.io/component: manager           app.kubernetes.io/created-by: cert-manager-operator           app.kubernetes.io/instance: controller-manager           app.kubernetes.io/managed-by: kustomize           app.kubernetes.io/name: deployment           app.kubernetes.io/part-of: cert-manager-operator         name: cert-manager-operator-controller-manager         spec:           replicas: 1           selector:             matchLabels:               name: cert-manager-operator           strategy: {}           template:             metadata:               annotations:                 kubectl.kubernetes.io/default-container: cert-manager-operator               creationTimestamp: null               labels:                 name: cert-manager-operator             spec:               affinity:                 nodeAffinity:                   requiredDuringSchedulingIgnoredDuringExecution:                     nodeSelectorTerms:                     - matchExpressions:                       - key: kubernetes.io/arch                         operator: In                         values:                         - amd64                         - arm64                         - ppc64le                         - s390x                       - key: kubernetes.io/os                         operator: In                         values:                         - linux               containers:               - args:                 - start                 - --v=$(OPERATOR_LOG_LEVEL)                 - --trusted-ca-configmap=$(TRUSTED_CA_CONFIGMAP_NAME)                 - --cloud-credentials-secret=$(CLOUD_CREDENTIALS_SECRET_NAME)                 - --unsupported-addon-features=$(UNSUPPORTED_ADDON_FEATURES)                 command:                 - /usr/bin/cert-manager-operator                 env:                 - name: WATCH_NAMESPACE                   valueFrom:                     fieldRef:                       fieldPath: metadata.annotations['olm.targetNamespaces']                 - name: POD_NAME                   valueFrom:                     fieldRef:                       fieldPath: metadata.name                 - name: OPERATOR_NAME                   value: cert-manager-operator                 - name: RELATED_IMAGE_CERT_MANAGER_WEBHOOK                   value: registry.redhat.io/cert-manager/jetstack-cert-manager-rhel9@sha256:6af3ee8b2a5a87042fb7158bda8d6cf2e6324d1e265974acf77214d4cd0ea0d3                 - name: RELATED_IMAGE_CERT_MANAGER_CA_INJECTOR                   value: registry.redhat.io/cert-manager/jetstack-cert-manager-rhel9@sha256:6af3ee8b2a5a87042fb7158bda8d6cf2e6324d1e265974acf77214d4cd0ea0d3                 - name: RELATED_IMAGE_CERT_MANAGER_CONTROLLER                   value: registry.redhat.io/cert-manager/jetstack-cert-manager-rhel9@sha256:6af3ee8b2a5a87042fb7158bda8d6cf2e6324d1e265974acf77214d4cd0ea0d3                 - name: RELATED_IMAGE_CERT_MANAGER_ACMESOLVER                   value: registry.redhat.io/cert-manager/jetstack-cert-manager-acmesolver-rhel9@sha256:20efff60a0caf5eafb38986fd21611697b5bc534c2e789da233983a9739938ed                 - name: RELATED_IMAGE_CERT_MANAGER_ISTIOCSR                   value: registry.redhat.io/cert-manager/cert-manager-istio-csr-rhel9@sha256:9573d74bd2b926ec94af76f813e6358f14c5b2f4e0eedab7c1ff1070b7279a5c                 - name: OPERAND_IMAGE_VERSION                   value: 1.15.5                 - name: ISTIOCSR_OPERAND_IMAGE_VERSION                   value: 0.14.0                 - name: OPERATOR_IMAGE_VERSION                   value: 1.15.1                 - name: OPERATOR_LOG_LEVEL                   value: "2"                 - name: TRUSTED_CA_CONFIGMAP_NAME                 - name: CLOUD_CREDENTIALS_SECRET_NAME                 - name: UNSUPPORTED_ADDON_FEATURES                 image: registry.redhat.io/cert-manager/cert-manager-operator-rhel9@sha256:f328263e2d29e34ede65e4501f0447b2d9f84e9445a365c2fa2fbb253939e274                 imagePullPolicy: IfNotPresent                 name: cert-manager-operator                 ports:                 - containerPort: 8443                   name: https                   protocol: TCP                 resources:                   requests:                     cpu: 10m                     memory: 32Mi                 securityContext:                   allowPrivilegeEscalation: false                   capabilities:                     drop:                     - ALL                   privileged: false                   runAsNonRoot: true                   seccompProfile:                     type: RuntimeDefault               securityContext:                 runAsNonRoot: true                 seccompProfile:                   type: RuntimeDefault               serviceAccountName: cert-manager-operator-controller-manager               terminationGracePeriodSeconds: 10       permissions:       - rules:         - apiGroups:           - ""           resources:           - configmaps           verbs:           - get           - list           - watch           - create           - update           - patch           - delete         - apiGroups:           - coordination.k8s.io           resources:           - leases           verbs:           - get           - list           - watch           - create           - update           - patch           - delete         - apiGroups:           - ""           resources:           - events           verbs:           - create           - patch         serviceAccountName: cert-manager-operator-controller-manager     strategy: deployment   installModes:   - supported: true     type: OwnNamespace   - supported: true     type: SingleNamespace   - supported: false     type: MultiNamespace   - supported: true     type: AllNamespaces   keywords:   - cert-manager   - cert-manager-operator   - cert   - certificates   - security   - TLS   links:   - name: Documentation     url: https://github.com/openshift/cert-manager-operator/blob/master/README.md   maintainers:   - email: support@redhat.com     name: Red Hat Support   maturity: stable   minKubeVersion: 1.25.0   provider:     name: Red Hat   relatedImages:   - image: registry.redhat.io/cert-manager/jetstack-cert-manager-rhel9@sha256:6af3ee8b2a5a87042fb7158bda8d6cf2e6324d1e265974acf77214d4cd0ea0d3     name: cert-manager-webhook   - image: registry.redhat.io/cert-manager/jetstack-cert-manager-rhel9@sha256:6af3ee8b2a5a87042fb7158bda8d6cf2e6324d1e265974acf77214d4cd0ea0d3     name: cert-manager-ca-injector   - image: registry.redhat.io/cert-manager/jetstack-cert-manager-rhel9@sha256:6af3ee8b2a5a87042fb7158bda8d6cf2e6324d1e265974acf77214d4cd0ea0d3     name: cert-manager-controller   - image: registry.redhat.io/cert-manager/jetstack-cert-manager-acmesolver-rhel9@sha256:20efff60a0caf5eafb38986fd21611697b5bc534c2e789da233983a9739938ed     name: cert-manager-acmesolver   - image: registry.redhat.io/cert-manager/cert-manager-istio-csr-rhel9@sha256:9573d74bd2b926ec94af76f813e6358f14c5b2f4e0eedab7c1ff1070b7279a5c     name: cert-manager-istiocsr   replaces: cert-manager-operator.v1.15.0   version: 1.15.1 status:   cleanup: {}   conditions:   - lastTransitionTime: "2025-04-06T22:10:41Z"     lastUpdateTime: "2025-04-06T22:10:41Z"     message: requirements not yet checked     phase: Pending     reason: RequirementsUnknown   - lastTransitionTime: "2025-04-06T22:10:41Z"     lastUpdateTime: "2025-04-06T22:10:41Z"     message: one or more requirements couldn't be found     phase: Pending     reason: RequirementsNotMet   - lastTransitionTime: "2025-04-06T22:10:43Z"     lastUpdateTime: "2025-04-06T22:10:43Z"     message: all requirements found, attempting install     phase: InstallReady     reason: AllRequirementsMet   - lastTransitionTime: "2025-04-06T22:10:43Z"     lastUpdateTime: "2025-04-06T22:10:43Z"     message: waiting for install components to report healthy     phase: Installing     reason: InstallSucceeded   - lastTransitionTime: "2025-04-06T22:10:43Z"     lastUpdateTime: "2025-04-06T22:10:43Z"     message: 'installing: waiting for deployment cert-manager-operator-controller-manager       to become ready: deployment "cert-manager-operator-controller-manager" not available:       Deployment does not have minimum availability.'     phase: Installing     reason: InstallWaiting   - lastTransitionTime: "2025-04-06T22:10:55Z"     lastUpdateTime: "2025-04-06T22:10:55Z"     message: install strategy completed with no errors     phase: Succeeded     reason: InstallSucceeded   lastTransitionTime: "2025-04-06T22:10:55Z"   lastUpdateTime: "2025-04-06T22:10:55Z"   message: The operator is running in cert-manager-operator but is managing this namespace   phase: Succeeded   reason: Copied   requirementStatus:   - group: operators.coreos.com     kind: ClusterServiceVersion     message: CSV minKubeVersion (1.25.0) less than server version (v1.31.5)     name: cert-manager-operator.v1.15.1     status: Present     version: v1alpha1   - group: apiextensions.k8s.io     kind: CustomResourceDefinition     message: CRD is present and Established condition is true     name: certificaterequests.cert-manager.io     status: Present     uuid: e6c090e0-e789-40fb-a6bc-1a18af0102c3     version: v1   - group: apiextensions.k8s.io     kind: CustomResourceDefinition     message: CRD is present and Established condition is true     name: certificates.cert-manager.io     status: Present     uuid: 84cf9fbd-1b30-42a7-ba6b-a90c4910bfab     version: v1   - group: apiextensions.k8s.io     kind: CustomResourceDefinition     message: CRD is present and Established condition is true     name: certmanagers.operator.openshift.io     status: Present     uuid: 74d29fe2-17aa-4974-b2ab-7d3b58a5221f     version: v1   - group: apiextensions.k8s.io     kind: CustomResourceDefinition     message: CRD is present and Established condition is true     name: challenges.acme.cert-manager.io     status: Present     uuid: 5d76cd3c-e1e7-4499-b4e7-f18e5495dd79     version: v1   - group: apiextensions.k8s.io     kind: CustomResourceDefinition     message: CRD is present and Established condition is true     name: clusterissuers.cert-manager.io     status: Present     uuid: d98e3865-b83d-455e-808f-85c304325fc1     version: v1   - group: apiextensions.k8s.io     kind: CustomResourceDefinition     message: CRD is present and Established condition is true     name: issuers.cert-manager.io     status: Present     uuid: 44d8db10-759f-4dd4-9b8e-351ebfa83c9c     version: v1   - group: apiextensions.k8s.io     kind: CustomResourceDefinition     message: CRD is present and Established condition is true     name: istiocsrs.operator.openshift.io     status: Present     uuid: 5d8f062b-fc85-450a-af48-4b536877c434     version: v1   - group: apiextensions.k8s.io     kind: CustomResourceDefinition     message: CRD is present and Established condition is true     name: orders.acme.cert-manager.io     status: Present     uuid: c3939a3d-cce0-45d9-acdc-b3c899d0ff60     version: v1   - dependents:     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":[""],"resources":["configmaps","events","namespaces","serviceaccounts","services"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":[""],"resources":["pods","secrets"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["acme.cert-manager.io"],"resources":["challenges","challenges/finalizers","challenges/status"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","deletecollection","get","list","patch","update","watch"],"apiGroups":["acme.cert-manager.io"],"resources":["challenges","challenges/finalizers","challenges/status","orders","orders/finalizers","orders/status"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["admissionregistration.k8s.io"],"resources":["mutatingwebhookconfigurations","validatingwebhookconfigurations"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["apiextensions.k8s.io"],"resources":["customresourcedefinitions"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["apiregistration.k8s.io"],"resources":["apiservices"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["apps"],"resources":["deployments","replicasets"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","deletecollection","get","list","patch","update","watch"],"apiGroups":["cert-manager.io"],"resources":["certificaterequests","certificaterequests/finalizers","certificaterequests/status","certificates","certificates/finalizers","certificates/status","clusterissuers","clusterissuers/status","issuers","issuers/status"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["approve"],"apiGroups":["cert-manager.io"],"resources":["signers"],"resourceNames":["clusterissuers.cert-manager.io/*","issuers.cert-manager.io/*"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["certificates.k8s.io"],"resources":["certificatesigningrequests","certificatesigningrequests/status"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","sign","update","watch"],"apiGroups":["certificates.k8s.io"],"resources":["signers"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["config.openshift.io"],"resources":["certmanagers","clusteroperators","clusteroperators/status","infrastructures"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["coordination.k8s.io"],"resources":["leases"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["gateway.networking.k8s.io"],"resources":["gateways","gateways/finalizers","httproutes","httproutes/finalizers"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["networking.k8s.io"],"resources":["ingresses","ingresses/finalizers"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["operator.openshift.io"],"resources":["certmanagers"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["update"],"apiGroups":["operator.openshift.io"],"resources":["certmanagers/finalizers"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["get","patch","update"],"apiGroups":["operator.openshift.io"],"resources":["certmanagers/status"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["get","list","patch","update","watch"],"apiGroups":["operator.openshift.io"],"resources":["istiocsrs"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["update"],"apiGroups":["operator.openshift.io"],"resources":["istiocsrs/finalizers"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["get","patch","update"],"apiGroups":["operator.openshift.io"],"resources":["istiocsrs/status"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["rbac.authorization.k8s.io"],"resources":["clusterrolebindings","clusterroles","rolebindings","roles"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["route.openshift.io"],"resources":["routes","routes/custom-host"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create"],"apiGroups":["authentication.k8s.io"],"resources":["tokenreviews"]}       status: Satisfied       version: v1     - group: rbac.authorization.k8s.io       kind: PolicyRule       message: cluster rule:{"verbs":["create"],"apiGroups":["authorization.k8s.io"],"resources":["subjectaccessreviews"]}       status: Satisfied       version: v1     group: ""     kind: ServiceAccount     message: ""     name: cert-manager-operator-controller-manager     status: Present     version: v1// code placeholder 

      Expected result: Please remove clusterPermissions in Operator CSVs. Use just "permissions" instead. Thanks.

       

              Unassigned Unassigned
              muktha_ala Muktha Ala
              None
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                None
                None