- 概要
- 要件
- インストール前
- インストール
- インストール後
- 移行とアップグレード
- 監視とアラート機能
- クラスターの管理
- 製品固有の設定
- トラブルシューティング

EKS/AKS の Automation Suite のインストール ガイド
セキュリティとコンプライアンス
このセクションでは、UiPath® サービスのセキュリティ コンテキストについて詳しく説明します。
spec
セクションで定義されたセキュリティ コンテキストを使用して構成されます。
以下のサンプルは、UiPath® サービスの一般的な構成を示しています。
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
一部の UiPath® サービスでは、一般的なセキュリティ コンテキストの構成とは異なる例外があります。
-
connector-builder-setup-job
サービスのケースでは、readOnlyRootFilesystem
パラメーターの値はfalse
です。
場合によっては、環境によっては、ユーザー ID とグループ ID が 1000 以上になることがあります。 ユーザー ID とグループ ID は、必ずセキュリティ原則と組織のセキュリティ ガイドラインに従って構成してください。
Automation Suite には、Gatekeeper と OPA ポリシーが事前に構成されています。独自の Gatekeeper コンポーネントと OPA ポリシーを使用する場合は、Automation Suite のインストール時にこれらのコンポーネントをスキップできます。詳しくは、Automation Suite のスタックをご覧ください。この場合、OPA ポリシーと、Automation Suite のインストールと実行に必要な例外を確認してください。
-uipath
、uipath-installer
、uipath-infra
、airflow
、および argocd
でのみ実行されます。
ポリシー |
適用されるアクション |
除外される名前空間/イメージ |
---|---|---|
ルート権限へのエスカレーションの制限を制御します。PodSecurityPolicy の
allowPrivilegeEscalation フィールドに対応します。
|
|
|
コンテナーで使用する AppArmor プロファイルの許可リストを設定します。PodSecurityPolicy に適用される特定の注釈に対応します。 |
|
|
コンテナーでの Linux の機能を制御します。PodSecurityPolicy の
allowedCapabilities フィールドと requiredDropCapabilities フィールドに対応します。
|
|
|
FlexVolume ドライバーの許可リストを制御します。PodSecurityPolicy の
allowedFlexVolumes フィールドに対応します。
|
|
|
|
| |
ポッドのボリュームを所有する FSGroup の割り当てを制御します。PodSecurityPolicy の
fsGroup フィールドに対応します。
|
|
|
ホスト ファイルシステムの使用を制御します。PodSecurityPolicy の
allowedHostPaths フィールドに対応します。
|
|
|
ポッド コンテナーでホストの PID 名前空間と IPC 名前空間を共有することを禁止します。PodSecurityPolicy の
hostPID フィールドと hostIPC フィールドに対応します。
|
|
|
ポッド コンテナーによるホスト ネットワーク名前空間の使用を制御します。 |
|
|
特権モードを有効化するコンテナーの機能を制御します。PodSecurityPolicy の
privileged フィールドに対応します。
|
|
|
コンテナーで許可される
procMount の種類を制御します。PodSecurityPolicy の allowedProcMountTypes フィールドに対応します。
|
|
|
ポッド コンテナーは読み取り専用のルート ファイル システムを使用する必要があります。 |
|
|
コンテナーで使用する seccomp プロファイルを制御します。PodSecurityPolicy の
seccomp.security.alpha.kubernetes.io/allowedProfileNames 注釈に対応します。
|
|
|
ポッド コンテナーの seLinuxOptions 設定の許可リストを定義します。 |
|
|
コンテナーおよび一部のボリュームのユーザー ID とグループ ID を制御します。 |
|
|
マウント可能なボリュームの種類を、ユーザーが指定したものに制限します。 |
|
|
-
名前空間
dapr-system
は、Process Mining と Task Mining をインストールする場合にのみ必要です。 -
名前空間
airflow
は、Process Mining をインストールする場合にのみ必要です。
ポリシー |
適用されるアクション |
除外される名前空間/イメージ |
---|---|---|
automountServiceAccountToken を有効化するポッドの機能を制御します。
|
|
|
コンテナー イメージは指定したリストの文字列で始まる必要があります。 |
|
|
|
|
N/A |
種類が LoadBalancer であるサービスをすべて禁止します。 |
|
|
NodePort のすべてのサービスを禁止します。 |
|
|
ユーザーが空白またはワイルドカード (*) のホスト名を持つ Ingress を作成できないようにします。このようなホスト名を使用すると、アクセス権がなくてもクラスター内の他のサービスのトラフィックをインターセプトできるためです。 |
|
|
コンテナーにメモリと CPU の制限を設定する必要があります。制限値を、指定した最大値の範囲内に制限します。 |
|
|
コンテナーがメモリと CPU の要件セットを含むよう要求します。要求が指定した最大値の範囲内となるよう強制します。 |
|
|
要求に対するコンテナー リソース制限の最大比率を設定します。 |
|
|
コンテナーに、定義済みのリソースを設定する必要があります。 |
|
|
ClusterRole リソースと Role リソースを
system:anonymous ユーザーと system:unauthenticated グループに関連付けることを禁止します。
|
|
N/A |
コンテナー イメージに、指定したリストのイメージ タグとは異なるイメージ タグを付ける必要があります。 |
|
N/A |
コンテナーにエフェメラル ストレージの制限を設定する必要があります。また、その制限値を、指定した最大値の範囲内に制限します。 |
|
|
|
|
N/A |
Ingress リソースを HTTPS 専用にする必要があります。Ingress リソースに
kubernetes.io/ingress.allow-http 注釈を含め、false に設定する必要があります。既定では、TLS {} の有効な設定が必要です。tlsOptional パラメーターを true に設定すると、この設定を任意にすることができます。
|
|
|
コンテナー イメージにダイジェストを含める必要があります。 |
|
|
ポッド上で抽象化されたリソースでサービス アカウントの更新をブロックします。このポリシーは監査モードでは無視されます。 |
|
N/A |
|
|
|
ポッドが Readiness Probe および/または Liveness Probe を持つ必要があります。 |
|
|
使用する場合はストレージ クラスを指定する必要があります。 |
|
N/A |
すべての Ingress ルール ホストが一意である必要があります。 |
|
N/A |
サービスは名前空間内で一意のセレクターを使用する必要があります。キーと値が同一のセレクターは同じと見なされます。複数のセレクターで 1 つのキー/値のペアを共有できます。ただし、セレクター間で異なるキー/値のペアが 1 つ以上あることが条件です。 |
|
N/A |
-
名前空間
dapr-system
は、Process Mining と Task Mining をインストールする場合にのみ必要です。 -
名前空間
airflow
は、Process Mining をインストールする場合にのみ必要です。 -
prereq**
は前提条件の実行または健全性チェックの間に作成される一時的な名前空間です。完了するとこの名前空間は自己削除されます。
input.json
の exclude components
リストに network-policies
を追加します。任意のコンポーネントの詳細については、Automation Suite のスタックをご覧ください。
network-policies
Helm チャート を反映させてください。
network-policies
Helm チャートは、次のコマンドを使用して確認できます。
- 以下のコマンドでは、
<automation-suite-version>
の部分を現在の Automation Suite のバージョンで置換する必要があります。 - Helm チャートを抽出するには、このファイルを解凍する必要があります。
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
Automation Suite を専用クラスターにインストールおよび管理するには、クラスター管理者のアクセス権が必要です。Istio (ルーティング/サービス メッシュ) や ArgoCD (デプロイとアプリケーション ライフサイクル管理) などの Automation Suite のシステム レベルのコンポーネント、および Automation Suite 関連の名前空間の作成には、このレベルのアクセス権が必要です。共有クラスターの場合、管理者権限は必要ありません。
Federal Information Processing Standards 140-2 (FIPS 140-2) は、暗号化モジュールの有効性を検証するセキュリティ標準です。
の Automation Suite は、FIPS 140-2 が有効化されたマシンで実行できます。
以下のシナリオでは、Automation Suite をインストールするマシンで FIPS 140-2 を有効化できます。
- Automation Suite のクリーン インストールを実行する前に、FIPS 140-2 を有効化します。 このシナリオは、EKS の Automation Suite と AKS の Automation Suite の両方に適用されます。 詳しくは、「 新規インストールで FIPS 140-2 を有効化する」を参照してください。
- FIPS 140-2 が無効化されているマシンで Automation Suite のインストールを実行した後、FIPS 140-2 を有効化します。 詳しくは、「 既存のインストールで FIPS 140-2 を有効化する」を参照してください。
手記: このシナリオは、AKS の Automation Suite にのみ適用されます。 EKS の Automation Suite では、FIP 140-2 が無効化された状態で Automation Suite のインストールを完了した場合、FIPS 140-2 を有効化することはできません。
FIPS 140-2 を無効にした Automation Suite をインストールし、同じマシンでこのセキュリティ標準を有効化することができます。 これは、Automation Suite の新しいバージョンにアップグレードする場合にも可能です。
現在、AKS の Automation Suite の既存のインストールでは FIPS 140-2 を有効化できますが、EKS の Automation Suite の既存のインストールでは有効化できません。 EKS の Automation Suite に対して FIPS 140-2 を有効化できるのは、Automation Suite のクリーン インストールを実行する前のみです。 詳しくは、「 新規インストールで FIPS 140-2 を有効化する」を参照してください。
Automation Suite のインストールを既に実行したマシンで FIPS 140-2 を有効化するには、次の手順を実行します。