- スタート アップ ガイド
- ベスト プラクティス
- テナント
- レジストリ
- Cloud ロボット
- Automation Suite ロボット
- フォルダー コンテキスト
- プロセス
- ジョブ
- Apps (アプリ)
- トリガー
- ログ
- 監視
- インデックス
- キュー
- アセット
- コネクション
- ビジネス ルール
- ストレージ バケット
- MCP サーバー
- MCP サーバーについて
- MCP のコンプライアンス ガイドライン
- Orchestrator のテスト
- リソース カタログ サービス
- Integrations
- トラブルシューティング
UiPath MCP サーバーのコンプライアンス ガイドラインです。UiPath およびリモート サードパーティ ツールの接続のガバナンスと使用要件を網羅しています。
概要
UiPath MCP サーバーを使用すると、エージェントはモデル コンテキスト プロトコル (MCP) を介して外部のツールやコードを利用できます。
以下が含まれます。
- UiPath: プロセスや API ワークフローをはじめとする他の UiPath コンポーネントをツールとして直接使用できます。
- リモート: サードパーティ サービスへの接続、カスタム コードの実行 (コード化されたサーバー)、スクリプト コマンドの実行 (コマンドサーバー) などが可能です。
UiPath Platform は、これらの連携のための安全な通信とガバナンスを提供しますが、外部エンドポイントやカスタム コードはコア プラットフォームのセキュリティ境界の外部で動作します。つまり、データやアクションが UiPath の管理下にある環境から離れた場合は、お客様がそのセキュリティとコンプライアンスに責任を持つことになります。
実際には、UiPath は転送中およびサービス内で保存中のデータを暗号化し、ロールベースのアクセスを適用しますが、UiPath の外部にあるもの (外部サーバーやコード) については、データのプライバシー、エンドポイント セキュリティ、および規制コンプライアンスは、引き続きお客様の責任となります。
UiPath では、外部サーバーやコードが管理されません。このようなコンポーネントのセキュリティと信頼性はユーザー側で管理します。したがって、MCP の連携を使用するには、組織のコンプライアンス要件を満たすために、シークレットの処理方法、信頼するエンドポイント、実行するコードに細心の注意を払う必要があります。
リモート サーバー、コード化されたサーバー、およびコマンド サーバーのセキュリティ上の影響
リモート サーバー
リモートサーバーの構成で、MCP StreamableHttp トランスポート向けに外部 HTTP(S) エンドポイントへの接続を定義します。つまり、この外部サービスとの間で送受信するすべてのデータには、UiPath による直接制御が及ばないというセキュリティ上の影響があります。リモートサーバーで認証 (API キー、トークンなど) が要求される場合、これらのシークレットを HTTP ヘッダーや URL に直接埋め込みたくなるかもしれません。
Storing secrets directly in configuration is risky – although UiPath MCP service will mask such sensitive header values in the UI and encrypt them in the database at rest, they still transit through the system and could be exposed if not handled properly.
Additionally, fields like the endpoint URL, body payload, or query parameters are not encrypted in the database, so no sensitive data should ever be put in those fields. Data leaving to an external endpoint could be intercepted or misused if the endpoint is compromised or if communications are not secure.
In short, RemoteServers extend your automation into external networks, so you must ensure those endpoints are trustworthy and that no secrets or sensitive information leak in transit.
コード化されたサーバーとコマンド サーバー
CodedServers refer to custom code (e.g. a Python script or program) that you package and run as part of an agent, whereas CommandServers run shell commands or scripts in a serverless runtime. Both execute user-provided logic in ephemeral, serverless containers orchestrated by UiPath.
From a security perspective, this means your code runs with certain privileges within the UiPath cloud environment – notably, it runs under your organization’s context and carries an authentication token (bearer token) scoped to your org/user for calling back into UiPath services.
The primary implication is that any code you run is inherently trusted with that token and potentially other environment variables. If you run malicious or unverified code, it could steal the token or other sensitive info and perform unauthorized operations.
Untrusted code must never be used in CodedServers/CommandServers, because it could exfiltrate data or abuse the privileges granted. Even well-intentioned code could have vulnerabilities that attackers exploit to gain access. Additionally, these containers might have access to certain environment variables (for configuration, credentials, etc.), which should be considered sensitive surfaces – malicious code can read them in memory.
要約すると、カスタム コードまたはコマンドを実行するということは、そのコードの動作のリスクを負うことを意味します。信頼性が高く、レビュー済みのコードのみをデプロイし、コーディングの安全なプラクティスに従う必要があります。
MCP を使用すると、これらの特定のコンポーネント以外の範囲でも責任共有モデルが導入されます。このモデルでは、UiPath がプラットフォームのセキュリティ (分離された実行コンテナー、保存中のデータの暗号化、ネットワーク保護、クラウド プラットフォームにおけるコンプライアンス認定) を提供しますが、接続する外部システムと実行するコンテンツのセキュリティはお客様の側の責任で確保する必要があります。以下のセクションでは、このお客様の側の責任を果たす上でのベスト プラクティスの概要を説明します。
推奨されるセキュリティ プラクティス
MCP 連携を安全に使用し、コンプライアンス要件を満たすには、次のベスト プラクティスを実装します。
1. シークレットの安全な処理 (リモート サーバーのヘッダーとアセット)
It is strongly recommended not to store sensitive secrets (API keys, tokens, credentials) directly in RemoteServer configurations. While the platform will encrypt secret header values at rest and mask them in the UI, this approach is not ideal. Secrets in configuration may still appear in logs or be inadvertently exposed, and no other fields except designated secret headers are encrypted.
Do not place sensitive data in plain text in fields like URLs, query parameters, or request bodies.
推奨されるアプローチ
種類が「Secret」の Orchestrator アセットを使用して機密キーを管理し、RemoteServer ヘッダーで参照します。
例:
- API キーは、
MY_API_KEYという名前のアセットに保存できます (Orchestrator 内のアセットは既定で保存時に暗号化されます)。RemoteServer ヘッダー設定では、アセット参照は完全なヘッダー値として機能します (例:X-Api-Key: %ASSETS/MY_API_KEY%)。リモート エンドポイントでBearer <token>などのプレフィックス付き値が予期される場合は、完全な値をアセットに保存し、Authorization: %ASSETS/MY_API_KEY%として参照できます。 - エージェントが実行されると、Orchestrator は、呼び出し元の ID と MCP サーバー フォルダー コンテキストを使用してアセット API を介してアセットを解決してから、要求をリモート エンドポイントに転送します。この方法はロボットまたはロボット キーを必要とせずに動作し、必要なアセット権限は Orchestrator によって適用されます。
これにより、シークレットがリモート サーバーの設定にプレーン テキストで保存されることはなく、アセット コンテナーに安全に保持されます。UI には、マスクされたプレースホルダーのみが表示されます。この方法は、シークレットを誤って公開してしまうことを防ぎ、資格情報をハードコーディングしないという原則にも一致します。
結論: エージェントのコードと構成にシークレットを記載しないようにします。シークレットは、安全なストアで一元管理します。API キーを定期的にローテーションし、コードや HTTP 要求にシークレットを直接埋め込まないようにします。
2. 信頼されたエンドポイントとネットワーク制御 (リモート サーバーの設定)
リモート サーバーの構成では、信頼できる外部エンドポイントにのみそのサーバーを接続します。各リモート サーバーは、セキュリティ、プライバシー、コンプライアンスを組織が審査済みのドメインやサービスを指している必要があります。サードパーティの新しい API やサービスをベンダーとして扱い、それが自社のセキュリティ基準に適合していることを確認します (たとえば、適切な認証を取得していること、暗号化を適用していること、データを適切に処理していることを確認します)。
すべての外部呼び出しに HTTPS を使用します。転送中のトラフィックが暗号化されるように、常に https:// 形式の URL を指定してください。接続には TLS 1.2 以降を適用します。プラットフォームは既定で TLS 経由で通信します。お客様は、エンドポイントで有効な証明書と強力な暗号化が使用されていることを確認する必要があります。傍受される可能性があるため、エージェントの通信にプレーンな HTTP は絶対に使用しないでください。
重要なポイント: 外部呼び出しを IT 環境の拡張機能として扱います。外部サービスのセキュリティを検証し (SSL/TLS が有効化されていること、証明書が自己署名や期限切れではないことなど)、信頼できる外部サービスにのみデータを送信します。侵害されたエンドポイントや不正なエンドポイントには、データが盗まれるリスクや有害な応答が挿入されるリスクがあるため、外部サーバーに対するデュー デリジェンスが重要です。
3. コード化されたサーバー/コマンド サーバーの安全な実行 (信頼されたコードのみ)
コード化されたサーバーとコマンド サーバーの場合、セキュリティは実行するコードに大きく依存します。信頼されていないコードやサードパーティのコードを、徹底的なレビューなしに実行しないでください。エージェント コンテナーは、UiPath API (および場合によってはその他の連携) を呼び出すことができるアクセス トークンを使用してコードを実行します。
悪意のあるコードは、このベアラー トークンやその他の環境シークレットをキャプチャして漏洩したり、プラットフォーム API を介して破壊的なアクションを実行したりする可能性があります。また、コンテナー ランタイムの悪用を試みる可能性もありますが、UiPath のサーバーレス コンテナーは分離されており、既定では管理者特権では実行されません。
このリスクを軽減するには、以下の手順に従います。
- 内部コード レビューとソース検証を使用します。オープン ソースのライブラリやサンプルをコード化されたエージェントに組み込む場合は、そのコードにセキュリティ上の問題 (バックドア、データ窃取ロジックなど) がないか確認してください。ライブラリは、信頼できる公式のパッケージ リポジトリからのみ取得してください。
- コードと依存関係をスキャンして脆弱性を検出します。エージェント コードに対して静的アプリケーション セキュリティ テスト (SAST) を実施し、使用するすべてのパッケージに対して依存関係脆弱性スキャナー (OWASP Dependency Check、Snyk など) を使用します。これにより、デプロイの前に既知の欠陥 (リモートでコードを実行できるパッケージなど) を検出できます。ライブラリには常に新たな脆弱性が発生する可能性があるため、継続的なスキャンをお勧めします。
- コードで実行できることを制限します。コンテナーはエフェメラルですが、防御的にコーディングする必要があります。たとえば、検証されていない入力をコードに渡すことは避けてください (インジェクション攻撃を防ぐため)。基本的に、コンテナー内の攻撃対象領域を最小限に抑えます。コードは、理想的には意図した機能のみを実行し、それ以上のものを実行するべきではありません。
- 環境変数とファイル システムへのアクセスに注意します。コンテナーからアクセス可能なシークレット (たとえば、エージェントの認証トークンや環境変数で渡されるその他の認証情報) はすべて、コードで読み取ることができると想定してください。これらの値をログに記録したり、外部の場所に送信したりしないでください。また、コンテナーを一時的なストレージとして使用することはできますが、機密情報を不必要にディスクに書き込まないようにし、もし書き込んだ場合は、完了する前に削除してください。
まとめると、エージェントのコード実行環境は、機密性の高いアクセスを保持する運用サーバーと同じように扱い、信頼できるコードのみを実行し、コーディングの安全なプラクティスに従い、セキュリティ テストを実行します。UiPath のプラットフォームでは、セキュリティで保護されたサンドボックスを提供し、アカウントのコンテキスト下でコードが実行されるようにしますが、コードのロジックをきめ細かいレベルで検査したりサンドボックス化したりすることはありません。その責任はお客様が負うものとします。
4. データの処理とプライバシー
Avoid sending sensitive data to external tools unless absolutely necessary. Any data that leaves the UiPath platform to an external API or service should be considered at risk of exposure. Where possible, mask or redact personal data or regulated information before sending it to a RemoteServer*.* For instance, if an agent is summarizing customer data via an external AI API, consider removing or anonymizing identifiers in the prompt.
This practice of data minimization ensures compliance with privacy regulations (GDPR, HIPAA, etc.) by not exposing protected data to systems that might not be governed under those agreements.
If you must send sensitive information, make sure the external provider contractually guarantees data protection (e.g. the data is not stored or used for other purposes). Verify the data residency of the external service – sending data to an endpoint in another region might violate your company’s policies if not accounted for.
Always align your use of external endpoints with your organization’s compliance requirements (for example, ensure the third-party service has certifications like SOC 2, ISO 27001, or others relevant to your industry).
Within the UiPath platform, all agent activities are logged, including tool usage and data passed to tools, to the extent possible. Leverage these logs to ensure no unintended data is being sent out. Periodically review what information your agents are handling and sending externally.
If you find, for example, that an agent is including a Social Security Number in a request to a RemoteServer, consider revising the agent’s logic to hash or remove such data.
コード化された/コマンド MCP サーバーを使用する場合、ログ記録はお客様の責任の範囲内にあります。個人を識別できる情報 (PII) やセキュリティ情報などの機密データは絶対にログ記録しないでください。
また、外部サービスからの出力データにも注意してください。外部の AI やスクリプトが機密情報 (または悪意のあるコンテンツ) を返す可能性があります。可能な場合は、出力の検証を実装します。たとえば、リモート サーバーが意思決定で使用される応答を返す場合は、応答が期待される形式と範囲であることを確認してください。これにより、外部システムからの操作や予期しない動作から保護されます。
つまり、外部連携をコンプライアンスのためのデータ フロー ダイアグラムの一部として扱い、どのデータがどのサービスを経由してプラットフォームから送信されるかを記述します。これは、リスク評価と監査に役立ちます。タスクに必要最小限の情報を共有することを常に優先します (データの Need to Know の原則)。
5. アクセス制御
MCP 連携の構成や利用を目的としたアクセス自体を厳密に制御する必要があります。管理者または信頼性が高いユーザーのみが、リモートサーバー、コード化されたサーバー、コマンドサーバーの構成を作成でき、また変更できるようにします*。*Orchestrator のロールベースのアクセス制御 (RBAC) を活用して、このような機能を制限します。
For example, you might have a specific role for “Agent Integrations Manager” and only assign it to members of your Center of Excellence or IT security team. This prevents ordinary automation developers or business users from inadvertently adding insecure connections or executing arbitrary code.
Every new MCP server or agent tool added should go through a review process.
When assigning roles and permissions, enforce the principle of least privilege. Define narrowly scoped roles that allow users to do only what they need for their job. For instance, if an agent only needs to read certain data or execute specific processes, ensure the account running it doesn’t have broader access to other data or administrative functions.
Avoid running Agents under a full Orchestrator admin account. Instead, use a dedicated service account with minimal rights. This way, even if an agent’s token is compromised, the potential damage is limited by that account’s scope.
エージェントの実行ログを監視します。エージェントによるすべてのツールの使用状況は、一貫した方法で追跡および記録されます。これらのログを確認することで、異常 (エージェントが通常は呼び出ししないエンドポイントを呼び出したり、異常な時間に実行したりしているなど) を検出できます。
MCP サービス構成で、以下のように定期的なコンプライアンス チェックを実行するのが賢明です。構成されたすべてのリモート サーバーのリストをエクスポートし、それらが承認済みリストにあることを確認します。どの説明やフィールドにも資格情報が公開されていないことを確認します。すべてのコード化されたサーバーとコマンド サーバーが、セキュリティ レビューに合格したコードに対応していることを確認します。IT アセットのインベントリと同様に、これらの「エージェント ツール」のインベントリを維持します。
最後に、インシデント対応計画が MCP サービス シナリオをカバーしていることを確認します。たとえば、外部エンドポイントが侵害されたり、API キーが漏洩したりした場合に、そのリモート サーバーを素早く無効化するか、資格情報をローテーションする手順を用意します。UiPath は統合エンタープライズ環境の一部となるため、セキュリティ チームはこれらの機能に精通し、脅威モデルや対応訓練に含める必要があります。
アクセスを制御し、アクティビティを監視し、異常があれば迅速に調査することで、責任共有モデルにおけるお客様の側の役割を果たすことになります。つまり、プラットフォームの強力な機能の使用方法に関するセキュリティとコンプライアンスを維持することができます。
6. OAuth access for external MCP clients
UiPath MCP servers can be exposed to external MCP clients through a standards-based OAuth 2.0 flow. A client identifies itself either through Dynamic Client Registration (DCR) or a Client ID Metadata Document (CIMD) – an HTTPS URL that points to the client’s metadata.
In both cases, the client authenticates against UiPath Identity and receives a consent-gated, per-organization token scoped to the tenant the user selects, with no secret shared with or stored by the client.
This access is disabled by default and takes effect only when an administrator enables the AI Trust Layer “MCP Dynamic Client Registration / Client ID Metadata Document” toggle in Automation Cloud → Automation Ops → Governance. This toggle governs both DCR and CIMD clients and can be further restricted to an allow list of trusted callback domains.
Enabling this feature and any use of it is the customer’s own decision and responsibility. UiPath provides the capability and secures the flow within the platform but does not assume responsibility for the customer’s choice to allow external MCP clients or for how that access is subsequently used.
By design, client registration is open: both DCR and CIMD let a client supply arbitrary metadata – including any redirect URI – and registration is anonymous and global, not scoped to a tenant or organization, so anyone can register a client. Structural checks are applied to redirect URIs (HTTPS, no internal hosts), but there is no restriction on which external callback domains are accepted unless you configure the AI Trust Layer callback-domain allow list.
Registration itself grants no access to your data.
The consent screen shown during authorization is the decisive control. Before any token is issued, the user reviews the requesting client, the callback URL, the requested scopes, and the target tenant. Users should treat this screen as the primary safeguard – read it carefully and never approve a connection blindly, particularly when the client name, callback URL, or requested scopes are unfamiliar or unexpected.
責任の分離 (UiPath とお客様)
MCP を使用するには、UiPath とお客様との間に責任共有モデルが必要です。以下の表は、セキュリティのどの側面に UiPath Platform が対応し、どの側面がお客様の責任であるかをまとめたものです。
表 1.UiPath の責任とお客様の責任
| 領域 | UiPath の責任 | お客様の責任 |
|---|---|---|
| プラットフォームのセキュリティ | エージェントを実行する際のクラウド インフラストラクチャとコンテナーとの分離をセキュリティで保護します。UiPath Cloud の中で、転送中 (TLS) および保存中のデータを暗号化します。プラットフォームの中で、ロールベースのアクセス制御 (RBAC) と認証を実施します。 | プラットフォームを安全に使用します。プラットフォームへのアクセスを許可された担当者に制限します。最小特権の原則に従ってロールと権限を設定します。プラットフォームが接続する外部エンドポイントを保護します (適切なセキュリティ制御、認証、コンプライアンスの認定を受けていることを確認します)。承認されたトラフィックのみが UiPath との間で送受信されるように、ネットワーク制御を管理します。 |
| 資格情報の管理 | Orchestrator のアセットや Integration Service に保存する資格情報を暗号化します。アセットにあるシークレットをプラットフォームによって秘匿状態にし、保護します。実行時に資格情報を安全に挿入します (たとえば、%ASSETS/KEY% を置き換えます)。シークレットがプラットフォームによってログやプレーンテキストに保持されないようにします。 | シークレットを確実に保存し、管理します。用意された Secure Store (アセットなど) を使用し、コードや構成にシークレットをハードコーディングしないようにします。外部資格情報を定期的にローテーションし、使用されていないキーはすべて削除します。サードパーティのサービスを使用している場合は、そのサービス側で API キーやトークンを管理します (たとえば、侵害されたキーやトークンを取り消します)。エージェントに公開したシークレットが (一時的な公開であっても)、そのユーザー側で慎重に扱われるようにします (たとえば、他の場所で再利用されないようにします)。 |
| 実行環境 | コード化された/コマンド サーバー用に、分離されたエフェメラル コンテナーを用意します。各実行にスコープを持つベアラー トークンが設定されており、他のテナントやホスト OS に直接影響しないことを確認します。監査のためにエージェント ツールのアクションをログ記録します。タイムアウトとリソース制限を適用して、制御不能なコードの影響を軽減します。 | コードの安全性と整合性。安全で必要なコードのみをデプロイします。信頼されていないコードや未検証のコードを実行しないようにします。すべてのカスタム ロジックを検証し、セキュリティ テスト (コード レビュー、脆弱性スキャン) を実施します。データの削除や情報の漏洩など、コードの実行結果に責任を負います。環境変数とコンテナー内のデータにはトークンやプライベート データが記録されている可能性があるため、そのようなデータを機密として扱います。コードやライブラリのあらゆる脆弱性を迅速に修正します (プラットフォームではコードの欠陥を認識できないことから、このような脆弱性はお客様の側で管理する必要があります)。 |
| データの処理 | エージェント コンテナーと UiPath サービス間で送受信されるすべてのデータを暗号化します。プラットフォーム内のデータ フローについて、監査ログと監視 (実行したユーザー、実行した処理、実行日時、および入出力がログに記録されたかどうか) を提供します。UiPath Platform 内のデータに対するデータ マスク、セキュリティで保護されたストレージ、顧客管理の暗号化キーなどのコンプライアンス対策をサポートします。 | プラットフォームから送出されるデータの保護。どのデータを外部のエンドポイントへ送信できるか、どのデータを外部のコードで処理できるかを決定します。外部システムが承認されていない限り、そこへ送信する PII や PHI をマスクするか、送信しないようにします。外部のエンドポイントがデータの所在地と保持の要件を満たしていることを確認します (UiPath の手を離れたデータのプライバシーに対しては、お客様が責任を負います)。特に機密性の高いデータを外部サービスに送信する場合は、事前に追加の暗号化や匿名化を実装します。 |
| 監視と対応 | プラットフォーム上のアクション (構成の変更、エージェントの実行、エラー) のログ記録、アラート、監査証跡を一元化します。OpenTelemetry などのインターフェイスを通じて SIEM ツールと統合できるようにします。UiPath のサポートは、プラットフォーム レベルのインシデント (インフラストラクチャの停止、プラットフォームの誤用など) に対応し、調査を容易にするための監査ログを提供します。 | 使用状況の監視とインシデントへの対応。エージェントの実行ログと監査証跡に異常がないかを定期的に確認します。疑わしいアクティビティ (エージェントによる、通常とは異なる外部呼び出しなど) を検出して対応します。外部連携の侵害や誤用があった場合は、お客様がその連携を無効化して外部側でインシデントに対処する必要があります。外部システムが関与する障害復旧とインシデント対応を計画します (たとえば、必要に応じたキーのローテーションやエンドポイントの切り替えのための Runbook を用意します)。エージェントとの連携に関係するデータ/プロセスのコンプライアンス レポートは、お客様が管理する必要があります (UiPath はプラットフォームの操作に関するデータを提供できますが、エンドツーエンドのプロセスについてはお客様がレポートを作成します)。 |
This segregation of responsibilities aligns with the general cloud shared responsibility model: UiPath secures the platform, and you must secure how you use it and any extensions of it. Make sure your internal policies cover the use of MCP – e.g., a policy that all third-party integrations must be approved by security, all custom agent code must undergo a security review, etc.
これらの責任を果たすことにより、MCP サービスの実装が常に組織のセキュリティ標準に準拠していることを徹底します。
Recommended disclaimer: When using MCP Service and MCP to extend UiPath with external code or services, customers are solely responsible for securing, managing, and maintaining those external components and any data processed by them. UiPath ensures security within the platform (encryption, authentication, logging), but does not control or assume liability for data once it leaves the UiPath platform boundary.
In practice, this means you should treat external endpoints and custom code with the same rigor as any other critical part of your system. Compliance checks are not a one-time effort but an ongoing duty as you evolve your agents and integrations.
- 概要
- リモート サーバー、コード化されたサーバー、およびコマンド サーバーのセキュリティ上の影響
- リモート サーバー
- コード化されたサーバーとコマンド サーバー
- 推奨されるセキュリティ プラクティス
- 1. シークレットの安全な処理 (リモート サーバーのヘッダーとアセット)
- 2. 信頼されたエンドポイントとネットワーク制御 (リモート サーバーの設定)
- 3. コード化されたサーバー/コマンド サーバーの安全な実行 (信頼されたコードのみ)
- 4. データの処理とプライバシー
- 5. アクセス制御
- 6. OAuth access for external MCP clients
- 責任の分離 (UiPath とお客様)