【UiPath】Automation CloudとMicrosoft Entra IDの連携手順

# はじめに
本文書ではUiPath Automation Cloud (**以降 AC と略す**) へのサインインおよびユーザー・グループ管理においてMicrosoft Entra ID (旧 Azure Active Directory) と連携するメリットと手順について説明します。

## ACへのサインイン方式の違い
- Entra ID連携の前提知識としてACへのサインイン方式の違いについて説明します。
    - ACへのサインインは管理者がAC管理画面へアクセスする際、もしくはユーザーが対話型サインインする際の両方を想定しています。
- ACサインイン画面は既定では次のように表示されます。
    ![001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/c4e90286-32b5-c9d3-6778-6a370c1de40f.png)

    1. **メールアドレス**: メールアドレスとパスワードの組み合わせによる基本認証です。AC管理者がローカルユーザーを登録する際メールアドレスに招待メールを送り、ユーザーが招待メールのリンクをクリックしてパスワードを設定します。この認証方式はなりすましや不正アクセスのリスクがあるため、ACの [認証設定](https://docs.uipath.com/ja/automation-cloud/automation-cloud/latest/admin-guide/authentication-settings) によって禁止することもできます。
    1. **Microsoftアカウント**: 個人または企業のMicrosoftアカウントを使用してサインインします。サインインするユーザーはあらかじめACにユーザー登録しておく必要があります。
    1. **SSO**: Microsoft Entra IDまたはSAML2.0に準拠したIDプロバイダーと連携して**ディレクトリユーザー**としてサインインします。本文書ではこのサインイン方式におけるEntra ID連携について説明します。

- サインイン方式の詳細は次のサイトを参照してください。

https://docs.uipath.com/ja/automation-cloud/automation-cloud/latest/admin-guide/authentication-settings

## Entra IDとの連携有無の違い
- Entra IDと連携しない場合・する場合でどのような違いがあるかについて説明します。

### Entra IDと連携しない場合
![002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/c00d06ef-7d75-0a17-f9be-a4c0fed8e4f5.png)

- 既定値ではACはEntra IDと連携しません。連携しない場合でもMicrosoftアカウントによるEntra ID認証は可能ですが、あらかじめサインインするユーザーアカウントをACに登録しておく必要があります。AC管理者はEntra IDのユーザー・グループ一覧を直接参照することはできないため、各ユーザーのメールアドレスをそれぞれ登録します。
- ユーザーアカウントの追加手順は [アカウントとグループを管理する](https://docs.uipath.com/ja/automation-cloud/automation-cloud/latest/admin-guide/managing-accounts-and-groups) を参照してください。

### Entra IDと連携する場合
![003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/ac69bcfc-d6eb-cdb7-192d-5f121b59b18e.png)

- ACはEntra IDと連携することによってメールアドレスによるユーザーアカウント登録が不要になります。ユーザー管理はEntra IDで集約され、AC側ではユーザーまたはグループ単位で権限割り当てを行うことによってアクセス制御することができます。

# Microsoft Entra IDとの連携手順
- 実際にACとEntra IDを連携する手順について説明します。

## 前提条件
- **Automation Cloud**: Microsoft Entra ID連携するためにはACのEnterpriseライセンスが必要となります。Communityライセンスでは連携できない点にご注意ください。
- **Microsoft Entra ID テナント**: AC連携するための Microsoft Entra ID テナントを準備します。検証用には新規テナント作成するには [クイックスタート: Microsoft Entra ID で新しいテナントを作成する](https://learn.microsoft.com/ja-jp/entra/fundamentals/create-new-tenant) を参考にします。

- **管理者権限**: ACとMicrosoft Entra ID テナントの管理者権限が必要です。別々のユーザーでも可能です。
- その他の前提条件は [Azure AD 連携を設定する > 前提条件](https://docs.uipath.com/ja/automation-cloud/automation-cloud/latest/admin-guide/azure-ad-integration#prerequisites) をご参照ください。

## Entra IDの設定
- Entra ID管理者で [Microsoft Entra ID 概要画面](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Overview) を開きます。
    ![004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/3a776bf7-e3c7-76da-697e-062d5e90fefc.png)

- **アプリの登録** > [新規登録] をクリックします。
    ![005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/ea6a268d-b6fd-355b-a9de-dad1b6f61fe6.png)

- アプリケーション名を入力し、リダイレクトURIとしてWebを選択、 `https://cloud.uipath.com/identity_/signin-oidc` を指定し、[登録] をクリックします。
    ![006.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/59bbb314-77a8-38fa-c564-a77910a5dce7.png)

- **概要** ページで [アプリケーション(クライアント)ID]と [ディレクトリ(テナント)ID] の値をコピーしてメモします。
    ![007.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/eff12d92-12a2-b84f-4e17-3cf2388c61ca.png)

- **認証** をクリックし、[URIの追加] をクリックして `https://cloud.uipath.com/portal_/testconnection` を追加します。
    ![008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/bbe9a884-9c5a-b8fd-70ca-db967cf48afa.png)

- 下にスクロールし [IDトークン] のチェックボックスをオンにし [保存] をクリックします。
    ![009.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/bf01b1b2-58c1-f2d6-15fb-cade1f8267b3.png)

- **トークン構成** をクリックし、[オプション要求の追加] をクリックします。トークンの種類として [ID] を選択し、`family_name`, `given_name`, `upn` のチェックボックスをオンにし [追加] をクリックします。
    ![010.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/f24a8578-2bda-2952-174d-c402fc91562a.png)

- [Microsoft Graph profile のアクセス許可を有効にします] のチェックボックスをオンにし [追加] をクリックします。
- **APIのアクセス許可** をクリックし、[アクセス許可の追加] をクリックします。[Microsoft Graph] を選択します。
    ![011.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/842800ae-d031-47f2-e7ed-2ccbd837843a.png)

- [委任されたアクセス許可] をクリックします。
    ![012.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/9873e861-7d59-a11c-32b0-49683d40bb43.png)

- 次の項目を追加します。​
	- **OpenId アクセス許可** – `email`, `openid`, `profile​`
	- **Group** – `Group.Read.All​`
	- **User** – `User.Read`, `User.Read.All`
    ![013.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/61aba2fe-9ecb-aa85-ed92-a16c4dbb3eb8.png)

- [アクセス許可の追加] をクリックします。​
- [{Microsoft Entraテナント名} に管理者の同意を与えます] をクリックし、続けて [はい] をクリックします。
    ![014.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/9595d70c-2539-3db4-0e3e-edbeed26c421.png)

- 同意の付与に成功することを確認します。
- **証明書とシークレット** をクリックし、[新しいクライアント シークレット] をクリックします。
- 説明を入力し、有効期限を指定して [追加] をクリックします。
    ![015.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/9cad3c9f-c269-a104-80d2-71c4ce5d9e71.png)

- 生成されたシークレット値をメモします。​
    ![016.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/96f0ab51-9732-02b1-d74e-3ac5726dd860.png)

    :::note warn
    生成されたシークレットには有効期限があります。有効期限が切れてしまいますとACとの連携が正常に動作しなくなります。有効期限切れとなる前にシークレットを再作成してACに再登録する必要があります。
:::

- テナント(ディレクトリ)ID、アプリケーション(クライアント)ID、アプリケーション(クライアント)シークレット の3つの値がメモされていることを確認します。
    ![017.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/dd460f3d-ef87-efd8-7728-5bb2a014a180.png)

以上でEntra ID側の設定は完了です。引き続きAC側の設定を行います。

## Automation Cloud の設定
- [Automation Cloud](https://cloud.uipath.com) に管理者でサインインし、管理 > セキュリティ をクリックします。
    ![018.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/6202a912-8292-21b9-035b-2820299c91e4.png)

- [SSOを構成] をクリックします。
    ![019.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/63fa7d31-0188-63a1-23f7-229bbab38642.png)

- [Azure Active Directory] をクリックします。
    ![020.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/deea4256-8caa-1bda-c730-40cd7d0d6e32.png)

- `テナントID (ディレクトリID)`、`アプリケーションID (クライアントID)`、`アプリケーションシークレット (クライアントシークレット)` を先ほどのメモからそれぞれコピーします。
- 「招待済みのユーザーと Azure AD ユーザーのメール アドレスが一致する場合は、それぞれのアカウントがリンクされることを理解し、それに同意します。」のチェックボックスをオンにして、[テスト接続] をクリックします。​
    ![021.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/8ad07af5-e360-aa5e-9049-52b9bffde6d0.png)

- Entra ID 管理者でサインインします。
    ![022.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/dfd6c91b-e863-3e40-fd16-74e7b4bf9541.png)

- [Consent on behalf of your organization(組織の代理として同意する)] のチェックボックスをオンにし、[Accept(承諾)] をクリックします。
    ![023.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/39bc1357-3878-55c6-03aa-e8d2a6ed90f2.png)

- テスト接続が成功しましたら [保存] をクリックします。
    ![024.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/642dd7e7-3c0c-a11e-fc0f-7b68ba0a2e1e.png)

- 管理 > アカウントとグループ をクリックします。
- Entra ID 管理者がACの組織管理者として追加されていることを確認します。
    ![025.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/cb23295b-0fc6-e433-1454-318a8a578bf9.png)

## Automation Cloud 権限割り当て設定
- ブラウザーのシークレットモードで [Automation Cloud](https://cloud.uipath.com) にアクセスし、[Continue with SSO] をクリックします。
    ![026.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/7aa7d1ba-9493-b7b1-f312-ac7a6e3c9b69.png)

- ACの組織名を入力し　[Continue] をクリックします。
    ![027.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/aa92872b-3f6d-64aa-e238-dd609445248e.png)

- Entra ID 管理者でサインインします。
    ![028.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/c36fa0b1-01e4-8714-86b4-a125e6bbf8b5.png)
    
- 「要求されているアクセス許可」が表示される場合には [組織の代理として同意する] のチェックボックスをオンにして [承諾] をクリックします。
    ![29.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/be2cf7df-326d-d59a-e150-f73ad07b73d2.jpeg)

- ACにサインインできましたらOrchestratorテナントにアクセスします。
    ![030.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/85b12fc1-a6df-cb72-7f52-aa2bd850b530.png)

- テナント > アクセス権を管理 > [ロールを割り当て] > ユーザー(またはグループ) をクリックします。
- Entra ID 一般ユーザー(またはグループ)を検索し、ロールやロボット設定ができることを確認します。
    ![031.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/e509f3dd-20af-f2bb-b07b-56b55e924a1f.png)

- フォルダーへのアカウント割り当てにおいてもEntra IDユーザーまたはグループにロールを割り当てることができます。
    ![032.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/bd383691-1b30-847c-8a28-01db47702c01.png)

    :::note warn
    Entra ID ユーザーやグループを検索してロールを割り当てるためにはサインイン画面にて [Continue with SSO (SSOで続行)] を選択してサインインする必要があります。[Continue with Microsoft (Microsoftで続行)] を選択してサインインした場合にはEntra IDユーザーやグループは参照できないことに注意してください。
:::

### Entra IDグループへのライセンス割り当て
- Entra IDグループにライセンスを割り当てることもできます。管理 > アカウントとグループ > グループ > [グループを追加] をクリックします。
    ![035.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/af8f1a5d-944e-c13e-61d3-5ef4d263936e.png)

- グループ名を入力し、下の名前フィールドにEntra IDグループの一部を入力し、選択して [追加] をクリックします。
    ![036.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/510d2c9e-a3f2-8085-1fb2-d8b0771b3430.png)

- ライセンス割り当てを行うために [割り当てルールを作成] をクリックします。
    ![037.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/4c821e3f-eb09-da39-0996-eda1b34800d6.png)

- Entra IDグループに割り当てるライセンスを選択して [保存] をクリックします。
    ![038.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/a478b65e-f1d0-2bf9-a5a9-ae73249c660e.png)

### Entra ID ユーザー・グループのアクセス制限
- ACにサインインできるEntra IDユーザー・グループを明示的に指定することもできます。これによって指定されていないユーザー・グループは暗黙的にACへのアクセスを禁止することができます。
- [Automation Cloud](https://cloud.uipath.com) に管理者でサインインし、管理 > セキュリティ > **アクセス制限** をクリックします。
    ![039.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/2dd60532-893c-5c0b-109e-21c608ae7075.png)

- **許可されたメンバーのみ** を選択し、組織のアクセス設定を変更のポップアップにて [続行] をクリックします。
    ![040.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/2a1135fb-db52-57c7-24be-59df31ad0c42.png)

- [メンバーを追加] をクリックします。
    ![041.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/f2ec9357-4423-dd87-6719-c28953aef564.png)

- アクセスを許可するEntra IDユーザーやグループを追加します。
    ![042.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/081698d2-1769-63dd-6d57-afa16241767d.png)

アクセス制限の設定は以上となります。詳細は次のサイトを参照してください。

https://docs.uipath.com/ja/automation-cloud/automation-cloud/latest/admin-guide/restricting-organization-access-to-a-set-of-users

## Automation Cloud 一般ユーザーによる動作確認
- 次にAC一般ユーザーのUiPath AssistantマシンにWindowsログインしてます。Assistantを起動して通知領域のアイコンを右クリックして **Orchestratorの設定** を開きます。
    ![044.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/e0aa5e57-5a02-eee9-8cf2-3fee8d5a6db5.png)

- 接続の種類として **サービスURL** を選択し、サービスURLとして `https://cloud.uipath.com` を指定して [サインイン] をクリックして対話型サインインを実行します。
    ![033.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/ef995e21-2bc6-0c9f-4bfd-e169927b19b6.png)

- 既定ブラウザーが起動してACに [Continue with SSO (SSOで続行)] を選択してサインインします。組織名を入力して続行します。
- サインインに成功すると「UiPathを開きますか？」のポップアップが表示されるため [UiPathを開く] をクリックします。
    ![034.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178312/2d7ac8e7-abb3-20c7-65f9-884e95ec1ce2.png)

- サインインユーザーにAttendedロボット設定およびライセンス割り当てを行っている場合にはAssistantが利用可能になります。

以上でAC一般ユーザーによる動作確認は完了です。

# おわりに
- 本文書ではAutomation CloudをMicrosoft Entra IDと連携して、ユーザー・グループの権限設定を行うメリットと手順について説明しました。Entra IDをお使いのお客様はこれらの連携を是非ご検討ください。