-
Bug
-
Resolution: Not a Bug
-
Undefined
-
None
-
None
-
None
-
False
-
-
False
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.
- account is impacted by
-
RFE-8072 CSV cert-manager-operator.v1.15.1 has cluster permissions
-
- Backlog
-