- Overview
- Requirements
- Pre-installation
- Installation
- Post-installation
- Migration and upgrade
- Monitoring and alerting
- Cluster administration
- Product-specific configuration
- Troubleshooting
Automation Suite on EKS/AKS Installation Guide
Security and compliance
This section provides details on the security context of the UiPath® services.
spec
section.
The following sample shows a typical configuration for UiPath® services:
spec:
securityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
containers:
- securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
hostPID: false
hostNetwork: false
spec:
securityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
containers:
- securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop: ["ALL"]
hostPID: false
hostNetwork: false
For some UiPath® services, there are exceptions from the typical security context configuration:
-
In the case of the
connector-builder-setup-job
service, the value of thereadOnlyRootFilesystem
parameter isfalse
.
In some instances, the user IDs and group IDs can be greater than or equal to 1000, depending on your environment. Make sure you configure the user and group IDs according to your security principles and your organization's security guidelines.
Automation Suite is pre-configured with Gatekeeper and OPA policies. If you bring your own Gatekeeper component and OPA policies, you can skip these components from the Automation Suite installation. For details, see Automation Suite stack. In this case, review the OPA policies and the exceptions needed for installing and running Automation Suite.
-uipath
, uipath-installer
, uipath-infra
, airflow
, and argocd
.
Policy |
Enforcement action |
Namespaces/Images to be excluded |
---|---|---|
Controls restricting escalation to root privileges. Corresponds to the
allowPrivilegeEscalation field in a PodSecurityPolicy
|
|
|
Configures an allowlist of AppArmor profiles for use by containers. This corresponds to specific annotations applied to a PodSecurityPolicy. |
|
|
Controls Linux capabilities on containers. Corresponds to the
allowedCapabilities and requiredDropCapabilities fields in a PodSecurityPolicy.
|
|
|
Controls the allowlist of FlexVolume drivers. Corresponds to the
allowedFlexVolumes field in PodSecurityPolicy.
|
|
|
|
| |
Controls allocating an FSGroup that owns the pod's volumes. Corresponds to the
fsGroup field in a PodSecurityPolicy.
|
|
|
Controls usage of the host filesystem. Corresponds to the
allowedHostPaths field in a PodSecurityPolicy.
|
|
|
Disallows sharing of host PID and IPC namespaces by pod containers. Corresponds to the
hostPID and hostIPC fields in a PodSecurityPolicy.
|
|
|
Controls usage of host network namespace by pod containers. |
|
|
Controls the ability of any container to enable privileged mode. Corresponds to the
privileged field in a PodSecurityPolicy.
|
|
|
Controls the allowed
procMount types for the container. Corresponds to the allowedProcMountTypes field in a PodSecurityPolicy.
|
|
|
Requires the use of a read-only root file system by pod containers. |
|
|
Controls the seccomp profile used by containers. Corresponds to the
seccomp.security.alpha.kubernetes.io/allowedProfileNames annotation on a PodSecurityPolicy.
|
|
|
Defines an allowlist of seLinuxOptions configurations for pod containers. |
|
|
Controls the user and group IDs of the container and some volumes. |
|
|
Restricts mountable volume types to those specified by the user. |
|
|
-
The
dapr-system
namespace is only needed if you install Process Mining and Task Mining. -
The
airflow
namespace is only needed if you install Process Mining.
Policy |
Enforcement action |
Namespaces/Images to be excluded |
---|---|---|
Controls the ability of any pod to enable
automountServiceAccountToken .
|
|
|
Requires container images to begin with a string from the specified list. |
|
|
|
|
N/A |
Disallows all services of type LoadBalancer. |
|
|
Disallows all Services of type NodePort. |
|
|
Users must not able to create Ingresses with a blank or wildcard (*) hostname since that would enable them to intercept traffic for other services in the cluster, even if they do nto have access to those services. |
|
|
Requires containers to have memory and CPU limits set. Constrains limits to be within the specified maximum values. |
|
|
Requires containers to have memory and CPU requests set. Constrains requests to be within the specified maximum values. |
|
|
Sets a maximum ratio for container resource limits to requests. |
|
|
Requires containers to have defined resources set. |
|
|
Disallows associating ClusterRole and Role resources to the
system:anonymous user and system:unauthenticated group.
|
|
N/A |
Requires container images to have an image tag different from the ones in the specified list. |
|
N/A |
Requires containers to have an ephemeral storage limit set and constrains the limit to be within the specified maximum values. |
|
|
|
|
N/A |
Requires Ingress resources to be HTTPS only. Ingress resources must include the
kubernetes.io/ingress.allow-http annotation, set to false . By default a valid TLS {} configuration is required, this can be made optional by setting the tlsOptional parameter to true .
|
|
|
Requires container images to contain a digest. |
|
|
Blocks updating the service account on resources that abstract over Pods. This policy is ignored in audit mode. |
|
N/A |
|
|
|
Requires Pods to have readiness and/or liveness probes. |
|
|
Requires storage classes to be specified when used. |
|
N/A |
Requires all Ingress rule hosts to be unique. |
|
N/A |
Requires Services to have unique selectors within a namespace. Selectors are considered the same if they have identical keys and values. Selectors may share a key/value pair as long as there is at least one distinct key/value pair between them. |
|
N/A |
-
The
dapr-system
namespace is only needed if you install Process Mining and Task Mining. -
The
airflow
namespace is only needed if you install Process Mining. -
prereq**
are temporary namespaces created while running a prerequisite or health check. The namespaces self-delete upon completion.
network-policies
under the exclude components
list in input.json
. To learn more about optional components, see the Automation Suite stack.
network-policies
Helm chart.
network-policies
Helm chart by running the following command.
- You must replace
<automation-suite-version>
with your current Automation Suite version in the following command. - You must unzip the file to extract the Helm chart.
helm pull oci://registry.uipath.com/helm/network-policies --version <automation-suite-version>
helm pull oci://registry.uipath.com/helm/network-policies --version <automation-suite-version>
uipathctl
on your management node
to install and manage Automation Suite on your dedicated
cluster. This level of access is needed for system-level
components in Automation Suite, such as Istio (routing / service
mesh) and ArgoCD (deployment and application lifecycle
management), and to create Automation Suite-related
namespaces.
Federal Information Processing Standards 140-2 (FIPS 140-2) is a security standard that validates the effectiveness of cryptographic modules.
Automation Suite on can run on FIPS 140-2-enabled machines.
You can enable FIPS 140-2 on the machines on which you install Automation Suite in the following scenarios:
- Enable FIPS 140-2 before performing a clean installation of Automation Suite. This scenario applies to both Automation Suite on EKS and Automation Suite on AKS. For details, see Enabling FIPS 140-2 for new installations.
- Enable FIPS
140-2 after performing an Automation Suite installation on a machine with FIPS-140-2
disabled. For details, see Enabling FIPS 140-2 for existing installations.
Note: This scenario only applies to Automation Suite on AKS. For Automation Suite on EKS, you cannot enable FIPS 140-2 if you completed an Automation Suite installation with FIPS-140-2 disabled.
To enable FIPS 140-2 on the machines where you plan to perform a fresh installation of Automation Suite, take the following steps:
You can install Automation Suite with FIPS 140-2 disabled, and then enable the security standard on the same machines. This is also possible when you upgrade to a new Automation Suite version.
You can currently enable FIPS 140-2 for existing installations of Automation Suite on AKS but not for existing installations of Automation Suite on EKS. You can enable FIPS 140-2 for Automation Suite on EKS only before performing a clean Automation Suite installation. For more information, see Enabling FIPS 140-2 for new installations.
To enable FIPS 140-2 on the machines where you already performed an Automation Suite installation, take the following steps: