【UiPath】 Microsoft Office 365 スコープ認証設定

# はじめに
Microsoft Office 365 スコープ認証方式、対話型トークン・ユーザー名とパスワード・アプリケーションIDとシークレットの3方式の設定方法を紹介します。
Microsoft Office 365 スコープは、パッケージバージョン2.2.7以前と2.2.7より後でUIが変わります。
※本文中の画像はMicrosoft365アクティビティパッケージバージョン 2.5.8です
※Microsoft Office 365 スコープはクラシックアクティビティになります
　これから利用を検討される場合は、モダンアクティビティの利用を推奨します

## 事前準備
Microsoft 365 アクティビティパッケージのセットアップを完了してください。

https://qiita.com/koba_yan/items/1b5c104f3b060c11370d

## 対話型トークン認証の設定方法
Microsoft Office 365 スコープのプロパティ/詳細オプションを表示させる。
①対話型トークン＞OAuthアプリケーション：　UIPATH or CUSTOMを選択する
　※UIPATH：UIAPTH提供のアプリを利用する場合
　　CUSTOM：独自のMicrosoft Entra ID（旧AzureAD）アプリを利用する場合
  　　なお、CUSTOMを利用する場合は、アプリケーションIDが必要です
②認証＞認証の種類：　[対話型トークン]を選択する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3361279/df79ebcb-955d-1d7c-a170-3ee1a28b852e.png)
### 補足
設定後、初回実行時にMicrosoftのログイン認証が求められます。
認証が通ると、認証トークンが%AppData%\UiPath\authenticationに保存されます。
認証トークンの有効期間は、OAuthアプリケーションの選択により変わります。
UIPATH：30日　※UiPath仕様
CUSTOM：90日　※Microsoft Entra ID仕様

## ユーザー名とパスワード認証の設定方法　
### Microsoft Entra IDの設定
・アプリケーションID/テナント情報を取得する
・多要素認証を停止する
・利用アプリのマニフェスト内"allowPublicClient"を"ture"に変更する
### ユーザー名とパスワード認証の設定
Microsoft Office 365 スコープのプロパティ/詳細オプションを表示させる。
①ユーザー名およびパスワード（無人）＞ユーザー名とパスワードを入力する
　※"セキュリティで保護されたパスワード"を利用する場合は、パスワード欄の入力は不要
②認証＞アプリケーションID/テナントを入力する
③認証＞認証の種類：ユーザー名とパスワードを選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3361279/88e5a6ed-72bc-4357-8858-30ea2df017d6.png)
## アプリケーション ID とシークレット認証の設定方法　
### Microsoft Entra IDの設定
・アプリケーション権限でのMicrosoft Graph APIのアクセス許可を設定する
・アプリケーションID/テナントを取得する
・クライアントシークレットを作成し、クライアントシークレットの"値"を取得する
### アプリケーション ID とシークレット認証の設定
Microsoft Office 365 スコープのプロパティ/詳細オプションを表示させる。
①アプリケーションID及びシークレット（無人）＞アプリケーション シークレットに値を入力する
②認証＞アプリケーションID/テナントを入力する
③認証＞認証の種類：アプリケーションIDとシークレットを選択する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3361279/550e49bd-4697-5f70-97e1-3973c8343346.png)
## 参考情報
利用可能な認証方式を紹介します。凡例：AR Attended, UR Unattended
| 認証の種類 | ユーザー | アプリケーション(バックグラウンド実行)  | AR | UR | UR (MFA が有効) | 権限 | 詳細 |
|:-----------|------------:|:------------:|:-----------|------------:|:------------:|:-----------|------------:|
| 対話型トークン       | 〇        | -         | 〇       | -        |-         | 委任権限       | 独自の Azure AD アプリ (OAuthApplication = Custom) または UiPath が提供するアプリ (OAuthApplication = UiPath) を登録して使用できます。        |
| 統合 Windows 認証 (IWA)       | 〇        | -         | -     | 〇      | -       | 委任権限       | 登録済みの Azure アプリケーションが IWA をサポートするよう設定されている場合、かつフェデレーション ユーザーに対してのみ動作します。多要素認証 (MFA) では機能しません。        |
| ユーザー名とパスワード       | 〇        | -         | -       | 〇        | -         | 委任権限       | レガシな方法を使用する理由がある場合以外では推奨されません (モダン認証の原則に反します)。多要素認証 (MFA) では機能しません。        |
| アプリケーション ID とシークレット         | -          | 〇           | -       | 〇        | 〇         | アプリケーション権限       | 無人オートメーションの実行向き。または、サインインしているユーザーを使用せず、アプリケーションとして (バックグラウンド サービス/デーモン) Microsoft Graph API にアクセスする場合にお勧めです。        |
| アプリケーション ID および証明書       | -       | 〇       | -       | 〇        | 〇         | アプリケーション権限       | v1.9.0 以降で利用可能です。アプリケーション ID とシークレットによく似ています。唯一の違いは、シークレットとしてクライアント シークレットの文字列の代わりに証明書を使用する点です。        |

参照元：Microsoft Office 365 スコープ　認証の種類

https://docs.uipath.com/ja/activities/other/latest/productivity/microsoft-office-365-scope