Security in Integrity Shield

  • Integrity Shield uses public key specified in Integrity Shield CR for signature verification. Public key only is deployed in cluster as Kubernetes secret, and no signing key is required on cluster.

  • The following table includes the list of resources created by Integrity Shield as default (assuming the IShield is deployed on integrity-shield-operator-system namespace.) No user has direct access to resources managed by IShield operator. All those resources are created/updated by IShield operator according to IShield CR. All pods are running in runAsNonRoot, no runAsUser, and run with restricted SCC.

kind name namespace owned-by
Deployment integrity-shield-operator-controller-manager integrity-shield-operator-system -
IntegrityShield integrity-shield-server integrity-shield-operator-system -
ShieldConfig ishield-config integrity-shield-operator-system IShield operator
SignPolicy sign-policy integrity-shield-operator-system IShield operator
Secret ishield-server-tls integrity-shield-operator-system IShield operator
ServiceAccount ishield-sa integrity-shield-operator-system IShield operator
Role ishield-cluster-role-sim integrity-shield-operator-system IShield operator
RoleBinding ishield-cluster-role-binding-sim integrity-shield-operator-system IShield operator
Role ishield-admin-role integrity-shield-operator-system IShield operator
RoleBinding ishield-admin-rolebinding integrity-shield-operator-system IShield operator
PodSecurityPolicy ishield-psp integrity-shield-operator-system IShield operator
Deployment integrity-shield-server integrity-shield-operator-system IShield operator
ServiceAccount integrity-shield-operator-manager integrity-shield-operator-system -
CustomResourceDefinition integrityshields.apis.integrityshield.io (cluster scope) -
CustomResourceDefinition shieldconfigs.apis.integrityshield.io (cluster scope) IShield operator
CustomResourceDefinition signpolicies.apis.integrityshield.io (cluster scope) IShield operator
CustomResourceDefinition resourcesignatures.apis.integrityshield.io (cluster scope) IShield operator
CustomResourceDefinition resourcesigningprofiles.apis.integrityshield.io (cluster scope) IShield operator
CustomResourceDefinition helmreleasemetadatas.apis.integrityshield.io (cluster scope) IShield operator
ClusterRole ishield-cluster-role (cluster scope) IShield operator
ClusterRoleBinding ishield-cluster-role-binding (cluster scope) IShield operator
ClusterRole ishield-admin-clusterrole (cluster scope) IShield operator
ClusterRoleBinding ishield-admin-clusterrolebinding (cluster scope) IShield operator
ClusterRole integrity-shield-operator-manager-role (cluster scope) -
ClusterRoleBinding integrity-shield-operator-manager-rolebinding (cluster scope) -
WebhookConfiguration ishield-webhook-config (cluster scope) IShield operator
  • There are two ways to setup RSPs. RSP can be deployed by specifiying RSP in Integrity Shield CR. IShield operator creates RSP in IShield namespace (integrity-shield-operator-system). RSPs is applied to the namespaces specified in targetNamespace selector in the RSP. This RSP cannot be accessed directly, but managed by IShield operator.
  • User can define custom RSPs for each namespace to protect specific resources on the same namespace. User needs to put proper protection to RSP (with RBAC or with RSP itself.) The RSP in a namespace cannot be applicable to the resources on other namespace.
  • RSP can specify cluster scope resource for protection, but resource name of the protected resource must be specified explicitly.

results matching ""

    No results matching ""