LoginSignup
6
2

More than 1 year has passed since last update.

UiPath Orchestratorの権限(ロール)を考えてみる

Last updated at Posted at 2022-05-25

前提

この記事は、バージョン 2020.10 を前提としています。
記事執筆時点(2022/4/25)の最新バージョンは 2021.10 ですが、大きな差はないと思います。
また、本記事の内容はあくまでも一例であり、実際の運用に合わせた設計やテストを行ってください。

はじめに

複数のUiPathロボット専用端末(Unattended)を用意し、モダンフォルダー構成のOrchestratorで管理をしています。
RPAが本番稼働するまでには、とてもざっくりですが、以下のフェーズがあると思います。

  • 環境構築(Orchestratorとロボット)
  • シナリオの開発、テスト
  • 稼働監視などの本番運用

RPA化の規模にもよりますが、開発チームは開発に関することだけ、運用チームは運用に関することだけなど、それぞれのユーザーにロールを割り当てるにはどうしたら良いかを考えてみようと思います。

既定のロール(ビルトインロール)

モダンフォルダーには、以下のロールが既定で存在します。
(以下のマニュアルも参照してください)

  • Tenant Administrator
  • Allow to be Folder Administrator
  • Folder Administrator
  • Allow to be Automation User
  • Automation User

Allow to be XXX は その下にある XXX とセットのロールになっていて、Allow to be XXX はユーザーに直接設定し、XXX はフォルダー毎に設定するものです。(このあたりはマニュアルを参照してください)

ロール名の通り、デフォルトでは「テナントの管理者」「フォルダーの管理者」「ロボット」という権限しかありません。

Orchestratorの運用例を考えてみる

それでは、Orchestratorをどのように使うのか、少し具体的に考えてみます。
基本的には、「管理者」と「開発者」を明確に分けるようなことをしたいと思います。

想定するロール

例として、以下のような運用(ロールの割り当て)を考えてみます。

テナントの管理者

  • テナントのことは何でもできる人。
  • ロボットを作ったり、ライセンスの管理をする人。

フォルダーの管理者

  • フォルダーのことは何でもできる人。
  • プロセス定義や、ジョブの定義・スケジューリングなどを行う人。

開発者

  • 開発だけする人。
  • プロセスやジョブの定義はフォルダーの管理者が行うので、開発者はしない(させない)。
  • 当然、ロボットを作ったりライセンス管理なんてする(させる)わけがない。
  • アセットは自由に定義したい。

さて困った

テナントの管理者は、Tenant Administrator
フォルダーの管理者は、Allow to be Folder AdministratorFolder Administrator を付けてあげればいいですね。

さて、開発者はどうしましょうか。
Tenant/Folder Administrator を付けるのは論外として、Automation User にはアセットを編集する権限が付いていませんし、ジョブの作成権限が付いているのでOrchestratorからジョブ実行できてしまいます。

ロールを作ってみよう

ロールは、「テナントに対するロール」と「フォルダーに対するロール」を分けて設定する必要があります。
そして、同じロール名に対して「テナントに対するロール」と「フォルダーに対するロール」を一緒に設定することは推奨されていません。
ビルトインロールでも、Allow to be Automation Userはフォルダーに対するロール、Automation Userはフォルダーに対するロールが設定されています。

開発者の前提

開発者は、以下のことを行える前提とします。

Studioで個別のプロセスの開発/テストを行う。

開発したプロセスをOrchestratorにパブリッシュする。

権限を持っているフォルダーに対しては、自由にアセットの設定を行える。

以下のことはできないようにします。

Orchestratorからジョブの実行指示はしない。

実行環境に係るような設定(ロボットやマシン、ユーザーやフォルダーの設定など)はしない。

これを満たせるようなロールを作ってみます。

開発者のフォルダーに対するロール

Allow to be Developer というロールを作成します。

ロール 権限 備考
アラート V--- アラートを参照するために必要です。
ライブラリ V--- 実行に必要な各種ライブラリを参照するために必要です。
パッケージ V-C- プロセスをOrchestratorにパブリッシュするために必要です。

V=表示、E=編集、C=作成、D=削除 です。

開発者のテナントに対するロール

Developer というロールを作成します。

ロール 権限 備考
アセット VECD アセットの定義を行うために必要です。

V=表示、E=編集、C=作成、D=削除 です。

おわりに

ロールはもっとたくさんあるのですが、全部書くと長くなってしまうため最小限にとどめました。
今回、例題であげた「開発者」というロールは、このような設定で実現できると思います。
「開発者」でもプロセスの定義をしたい!などもあると思いますので、必要に応じて権限を追加しましょう。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2