【UiPath】Integration Service - 開発者目線で気になるコネクションの仕様

# はじめに

- 本記事では、Integration Service をこれから利用する開発者の方が気になるであろう内容を扱います。
- 記事の内容は、個人の見解または確認結果であり、UiPath の公式見解ではありません。
- 製品仕様や参考画像は 23.10 バージョンのもので構成しています。

# Integration Serviceとは

https://docs.uipath.com/ja/integration-service/automation-cloud/latest/user-guide/introduction

> UiPath Integration Service は、認可と認証を標準化することでサードパーティ アプリケーションを容易に自動化できる UiPath Platform のコンポーネントです。API 接続の管理に役立つほか、SaaS プラットフォームとすばやく連携することも可能になります。

***GSuite や MS Office365 などの身近なサービスをはじめ、以下に示す様々なAPIへの接続情報（コネクション）を作成しておくことで、専用アクティビティから簡単に対向システムのAPIを操作することが出来るようになります。***

<details><summary>■2024年1月25日時点で利用可能な72個のサービス</summary><div>

ACT! 365 ／ ADOBE PDF SERVICES ／ AMAZON BEDROCK ／ AMAZON SAGEMAKER - プレビュー ／ AMAZON WEB SERVICES ／ ANTHROPIC CLAUDE ／ ASANA ／ BAMBOOHR ／ BOX ／ CAMPAIGN MONITOR ／ CISCO WEBEX TEAMS ／ CITRIX HYPERVISOR - プレビュー ／ CITRIX SHAREFILE - プレビュー ／ CONFLUENCE CLOUD (プレビュー) ／ CONSTANT CONTACT - プレビュー ／ COUPA ／ DOCUSIGN ／ DROPBOX ／ DROPBOX BUSINESS ／ EXPENSIFY ／ EPIC FHIR R4 - プレビュー ／ FRESHSERVICE ／ GITHUB - プレビュー ／ GMAIL ／ GOOGLE CLOUD プラットフォーム ／ GOOGLE ドキュメント ／ GOOGLE ドライブ ／ GOOGLE スプレッドシート ／ GOOGLE VERTEX - プレビュー ／ GOOGLE VISION - プレビュー ／ GOTOWEBINAR ／ HOOTSUITE - プレビュー ／ HUBSPOT CRM (プレビュー) ／ HUBSPOT MARKETING (プレビュー) ／ ICONTACT (プレビュー) ／ JIRA ／ MAILCHIMP ／ MARKETO ／ MICROSOFT AZURE ／ MICROSOFT AZURE ACTIVE DIRECTORY ／ MICROSOFT AZURE OPENAI ／ MICROSOFT DYNAMICS 365 CRM ／ MICROSOFT ONEDRIVE & SHAREPOINT ／ MICROSOFT OUTLOOK 365 ／ MICROSOFT SENTIMENT - プレビュー ／ MICROSOFT TEAMS ／ MICROSOFT TRANSLATOR - プレビュー ／ MICROSOFT VISION (プレビュー) ／ NETIQ EDIRECTORY - プレビュー ／ OPENAI ／ ORACLE ELOQUA ／ ORACLE NETSUITE ／ QUICKBOOKS ONLINE ／ SALESFORCE ／ SALESFORCE MARKETING CLOUD ／ SAP CLOUD FOR CUSTOMER ／ SAP CONCUR ／ SENDGRID ／ SERVICENOW ／ SLACK - プレビュー ／ SMARTSHEET ／ SNOWFLAKE ／ SUGAR ENTERPRISE ／ SUGAR PROFESSIONAL ／ SUGAR SELL ／ SUGAR SERVE ／ TWILIO ／ TWITTER ／ WORKDAY ／ VMWARE ESXI VSPHERE - プレビュー ／ ZENDESK ／ ZOOM

</div></details>

# 気になる仕様の目次

```
# 1) 自分のコネクションでパブリッシュしていいの？
# 2) アクティビティ毎にコネクションが必要？
# 3) コネクションは誰でもつくれちゃう？
# 4) OCの管理者はどこまでみれる？
```  

## 1) 自分のコネクションでパブリッシュしていいの？

![IS_開発者目線で気になるところ.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/0d2ee0aa-d653-c052-4896-56299218727e.jpeg)

Integration Service に対応しているアクティビティでは、最初にコネクションを指定する必要があります。
個人のGmailを取得する場合、自身のアカウントでコネクションを作る訳ですが、***ここに個人のアカウントのコネクションを指定した状態でパブリッシュしていいんだっけ？*** という疑問が生じます。

::: note
【確認結果】
1. ***問題ありません。コネクションはフォルダに明示的に割り当てない限り他のユーザーは利用できません。※パブリッシュしただけではフォルダに割り当たることはありません。*** 
1. ***特定のアカウントでUR(無人)実行をしたい場合は、対象アカウントを指定した状態でパブリッシュしましょう。***

まず、開発中に指定したアカウント（コネクション）について、Xamlファイルの中に表示名などがハードコーディングされることはありません。
***コネクションのIDのみがXaml内に保持されます。***

![IS_開発者目線で気になるところ3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/fb5e8762-5839-6757-1c7f-f334218ad622.jpeg)

Integration Service でプロセスをデプロイする予定のフォルダのコネクションを確認します。
***対象フォルダの「コネクション」タブに表示されるコネクションはOCのデプロイ画面やAssistantの詳細画面で選択・指定が可能です。***

![IS_コネクション仕様確認6.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/e9c2684e-fdbc-94ad-c6ca-ce64b3579c29.jpeg)

フォルダに選択可能なコネクションが存在しない場合、OCでのプロセスデプロイ時の設定は「ユーザーが設定可能」を指定して「更新」ボタンを押下します。

![IS_コネクション仕様確認5.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/4c2bf3e1-1fc1-b4a6-b51c-06d64553fee6.jpeg)

（プロセスをデプロイした後のAssistantの詳細画面↓）
![IS_コネクション仕様確認2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/21cb6390-972f-7ab4-a53f-064498c4094b.jpeg)

***警告マークが付いている状態だと、「実行」ボタンが押下できません。***
***（画面左側のオートメーション一覧の「実行」ボタンは押せますが、無反応となります。）***

![IS_コネクション仕様確認3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/de173a30-4c46-6fb3-cc37-c169a69d6d66.jpeg)

「ブラウザーで設定」ボタンより、利用可能なコネクションを選択して保存しましょう。

![IS_コネクション仕様確認4.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/51d8c322-2cc4-d5b3-fa68-83dafffacc10.jpeg)
:::

## 2) アクティビティ毎にコネクションが必要？

古いGSuiteパッケージを利用されていた方だとイメージつくとおもいますが、接続情報は「ユーザー」×「端末」×「スコープ」で作成されます。
つまり、[Gmailのスコープ]→[スプレッドシートのスコープ]→[Gmailのスコープ]といった流れのワークフローがあった場合、***結果的に毎回スコープが異なるため、都度OAuth認証画面が起動してしまいます。***
これを回避するには、利用予定のスコープをすべて含めたアプリケーションスコープを用意します。
Integration Service ではこの辺の仕様がどうなるのか気になるところ。

::: note
【確認結果】
1. ***スコープが異なる場合、都度コネクションは作成が必要。スコープが同じであれば、一度作成したら有効期間内は再作成不要。***
1. ***選択可能なコネクションがある場合、対象スコープのコネクションで『既定』に設定されたコネクションが初期補完される。***
1. ***コネクションを再作成した場合、同じIDが紐づくアクティビティすべてのコネクションも同時に更新される。***

対象アクティビティの操作権限がない（スコープに対応するコネクションがない）場合、次の様な表示となります。

![IS_開発者目線で気になるところ5.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/db426a59-7064-1c0e-e05a-b6426cb4f7ff.jpeg)

コネクション単位で『既定』を設定します。基本的には***一番はじめに作成したコネクションが『既定』となるので、コネクションを複数つくった場合に編集します。***

![IS_開発者目線で気になるところ6.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/b4c62f41-2fd4-6e2d-1bd9-9769b45318c2.jpeg)


一つ目の「最新のメールを取得」のコネクションが破損していたため、***新しいものを再作成したところ、後段に配置していた「最新のメールを取得」のコネクションも自動で置き換わりました。***

![IS_開発者目線で気になるところ4.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/858f9a06-3ccf-f449-cc86-d41f17b799ac.jpeg)
:::

## 3) コネクションは誰でもつくれちゃう？

Integration Service を使うにあたって、***パッケージのインストール以外は何ら設定をしていなかった***がコネクションをつくれている。
コネクションは誰でもつくれる仕様なのだろうか？

::: note
【確認結果】
1. ***フォルダーロールにコネクションの権限が付与されている必要あり***
1. ***個人ワークスペースには権限に関係なくコネクションの作成が可能***

![IS_開発者目線で気になるところ8.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/940770b6-edff-f8d0-0e7c-8294f3d1541d.jpeg)

コネクションの権限が無い場合、403エラーが返ってくる模様。

![IS_開発者目線で気になるところ7.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/57add1da-f8a5-9704-457d-788216b78bcf.jpeg)

（コネクションの権限は一切持っていなくても、個人ワークスペースにコネクションをつくることは可能）
![IS_開発者目線で気になるところ9.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/c104ae9e-58c0-aa82-15ba-65dbcd8d001b.jpeg)
:::

## 4) OCの管理者はどこまでみれる？

フォルダーロールの権限が付与されていればコネクションを利用できるとした場合、***OCの管理者権限を持っている人は個人アカウントが紐づくコネクションも自由に触れちゃう？***

::: note warn
【確認結果】
1. ***OCの管理者権限を持っている人は、個人ワークスペースのコネクションまでアクセスできる。***

フォルダーにコネクションを追加（割り当て）しない限り、OC管理者であっても他人のコネクションにアクセスすることはできないと予想したものの、***個人ワークスペースの「探索を開始」機能を利用すれば、各個人のワークスペースにアクセスが可能であり、またコネクションも利用できることがわかりました。***

![IS_開発者目線で気になるところ10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/0f26b903-d401-abc9-6c01-c58216ed3eca.png)
:::

# さいごに

リリース（21.10バージョン）から1年後くらいにみた際は、まだコネクタや利用可能なイベント、アクティビティの数も少なく、コネクションの共有機能もなかったため、積極的に利用したいサービスではなかったものの、そこからたった1年で凄い進化を遂げてます...
2022年の冬には、DB（エンティティ）の登録・更新・削除くらいしかできなかったSalesforceアクティビティもこの通り↓↓(@_@)

![IS_開発者目線で気になるところ12.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3301444/07d56fb7-db14-1905-c893-e4fbf4a59ce6.jpeg)

これからUiPathで開発をはじめる方は、是非是非 Integration Service を利用してください！！