Red Hat OpenShift policies in DevOps Config

By default, the DevOps Config Policy content pack contains a set of policies to validate your Red Hat OpenShift configuration.

Important: Starting with the Washington DC release, DevOps Config is being prepared for future deprecation. It will be hidden and no longer installed on new instances but will continue to be supported. For details, see the Deprecation Process [KB0867184] article in the Now Support Knowledge Base.
You can use or customize these default DevOps Config policies to validate that your configuration data content is conformable, or administrate the full life cycle of PaCE policies.
Note: You can’t modify the default policies. However, you can make a copy of the policy and customize your copy.
Table 1. First-letter navigation for policies on this page

A | B | C | H | N | R | S | T

Audit Log Maximum Backup Is Set (openshift_audit_log_maxbackup_is_set)

Checks whether the maximum number of old audit log files to be retained for API servers is set.

Results into a non-compliant status when the --audit-log-maxbackup argument is either not set or not within the specified limits.

Input arguments
  • lowerLimit
    • The lower limit of the --audit-log-maxbackup argument.
    • Type: Integer
    • Mandatory: False
  • upperLimit
    • The upper limit of the --audit-log-maxbackup argument.
    • Type: Integer
    • Mandatory: False

Audit Log Maximum File Size Is Set (openshift_audit_log_maxsize_is_set)

Checks whether the maximum file size specified as the rollover threshold for audit log files is set. After an audit log file reaches the maximum file size, the original audit log file is renamed and a new log file with the original name is created.

Results into a non-compliant status when the --audit-log-maxsize argument is either not set or not within the specified limits.

Input arguments
  • lowerLimit
    • The lower memory limit of the --audit-log-maxsize argument.
    • Type: Integer
    • Mandatory: True
  • upperLimit
    • The upper memory limit of the --audit-log-maxsize argument.
    • Type: Integer
    • Mandatory: True

Audit Log Path Isn't Set (openshift_audit_log_path_is_not_set)

Checks whether the auditing is enabled in OpenShift and the audit log file path is set.

Results into a non-compliant status when either the --audit-log-path argument for openshift-kube-apiserver isn’t set to /var/log/kube-apiserver/audit.log or the --audit-log-path argument for openshift-apiserver isn’t set to /var/log/openshift-apiserver/audit.log.

Basic Auth File Isn’t Set (openshift_basic_auth_file_is_not_set)

Checks whether OpenShift doesn’t use the basic authentication mechanism to authenticate requests to the API server.

Results into a non-compliant status when the --basic-auth-file argument is set.

Containers Run Without Privilege Access (openshift_container_is_not_privileged)

Checks whether the containers within an OpenShift pod are run without privileged access.

Results into a non-compliant status when the privileged field for a container is set to true.

Host PID Namespace Is Disabled (openshift_scc_with_hostPID_namespace_disabled)

Checks whether there is at least one security context constraint (SCC) is defined that doesn’t allow containers to share the host PID namespace.

Results into a warning when there’s an SCC defined with the allowHostPID field set to true.

NamespaceLifecycle Plugin Is Enabled (openshift_namespacelifecycle_plugin_is_enabled)

Checks whether the admission control plugin NamespaceLifecycle is enabled.

Results into a non-compliant status when the NamespaceLifecycle plugin is disabled.

Read-Only Port Is Disabled (openshift_read_only_port_disabled)

Checks whether the Kubelet API server isn’t using the read-only port or the read-only port is set to 0.

Results into a non-compliant status when the kubelet-read-only-port argument isn’t set to 0.

Request Timeout Is Set (openshift_request_timeout_is_set)

Checks whether the global request timeout for API servers is set.

Results into a non-compliant status when the --min-request-timeout argument is either not set or not within the specified limits.

Input arguments
  • lowerLimit
    • The lower limit of the --min-request-timeout argument.
    • Type: Integer
    • Mandatory: False
  • upperLimit
    • The upper limit of the --min-request-timeout argument.
    • Type: Integer
    • Mandatory: False

Streaming Connections Timeout Isn't Disabled (openshift_streaming_connections_timeout_not_disabled)

Checks whether the timeouts are set on streaming connections to ensure protection against denial-of-service attacks, inactive connections, and ephemeral ports exhaustion.

Results into a non-compliant status when the streamingConnectionIdleTimeout argument is set to 0 in the Kubelet config file.

Token Auth File Isn’t Set (openshift_token_auth_file_is_not_set)

Checks whether OpenShift doesn't use a static token file to authenticate requests to the API server.

Results into a non-compliant status when the --token-auth-file argument is set.