サービス実行アカウントとは異なる認証情報を使用して、ネットワークフォルダーに OPA (On-prem agent) 経由でアクセスする

# はじめに

以前、「[UNCパスのネットワークフォルダーに Windows版 OPA (On-Prem agent) 経由 でアクセスする](https://qiita.com/n-inoue/items/29145fcdacc0f99ca994)」という記事で、OPA（オンプレミスエージェント）のサービス実行アカウントを変更し、認証が必要なネットワークフォルダーにアクセスする方法をご紹介しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3444315/d82322b7-4e8a-7cf2-3232-66af2307d721.png)

しかし、この方法では、OPAがアクセスするすべてのフォルダーに対してネットワークフォルダー側のアクセス権を変更できることが前提となります。場合によっては、ネットワークフォルダー側であらかじめ用意された特定のアカウントを使用して接続することが求められることもあります。

では、ネットワークフォルダーごとに異なるアカウントを使って接続したい場合、どのようにすればよいでしょうか？

# 資格情報マネージャーを用い、異なるアカウントでネットワークフォルダーに接続が可能

結論からすると、資格情報マネージャーを使うことで、サービス実行アカウントとは異なるアカウントでネットワークフォルダーに接続が可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3444315/7d5e89a6-4cab-e94a-2648-3b25ea1a7051.png)


### 資格情報マネージャーとは？

Windows の資格情報マネージャー（Credential Manager）は、Windows オペレーティングシステムに組み込まれている機能で、ユーザーの資格情報（ユーザー名、パスワード、およびネットワークパスワードなど）を安全に管理するためのツールです。この機能は、以下のような場面で利用されます。

- ネットワークパスワードの保存
ネットワークリソース（例えば、共有フォルダーやネットワークプリンター）にアクセスするための資格情報を保存します。
- Web資格情報の管理
Microsoft Edgeを使用して、Webサイトにログインする際のユーザー名とパスワードを保存し、次回のログイン時に自動入力します。

# 資格情報マネージャーを使用する手順

### OPA のサービス実行アカウントを変更する 

まず、OPA のサービス実行アカウントを、ビルトインアカウントの「Local Service」 から通常のアカウントに変更します。変更の方法は、以前の記事「[UNCパスのネットワークフォルダーに Windows版 OPA (On-Prem agent) 経由 でアクセスする](https://qiita.com/n-inoue/items/29145fcdacc0f99ca994)」をご覧ください。

:::note warn
ビルトインアカウントで資格情報マネージャーを使うことは可能

実は、ビルトインアカウントでも資格情報マネージャーを利用することは可能です。ただし、ビルトインアカウントでログインしデスクトップを表示できないため、画面操作で資格情報を登録するのが難しくなります。そのため、**通常のユーザーアカウントに変更して利用することをお勧めします。**

詳細は割愛しますが、以下のような手順により実現可能です。

Windows資格権限をコマンドラインから追加するため、PowerShell を管理者権限で立ち上げ、資格権限のモジュールをインストールします。
```powershell
Install-Module CredentialManager
``` 
Sysinternals の [PsTools](https://learn.microsoft.com/en-us/sysinternals/downloads/pstools) を使って「LocalService」ユーザーでPowerShell コンソールを起動します。
```powershell
PsExec.exe -accepteula -u "NT AUTHORITY\LocalService" -i  powershell.exe
```
以下のコマンドを実行して「Windows 資格情報」に共有フォルダーへアクセスするユーザーとパスワードを登録します。

```powershell
New-StoredCredential -Target "server1.example.local" -UserName "user@example.local" -Password "password" -Persist Enterprise -Type DomainPassword
```
:::

### 資格情報マネージャーに資格情報を登録する

資格情報マネージャーを開くには、タスク バーの検索ボックスに「資格情報マネージャー」と入力し、[資格情報マネージャー コントロール パネル] を開きます。

そして、[Windows 資格情報] を選択し、[Windows 資格情報の追加] をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3444315/2a6ef90a-609e-41b1-062b-a13d6c9bd6e1.png)

「\\SERVER1\share」というネットワークフォルダーに、アカウント「UserX」を使用して接続する場合、次のように設定し、[OK] を押します。

| 項目               | 設定値                 |
| ------------------ | ------------------- |
| インターネットまたはネットワークのアドレス | \\\\SERVER1 |
| ユーザー名           | UserX             |
| パスワード           | UserXのパスワード        |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3444315/93420561-2e1c-48ee-dba0-99dfb1b4814c.png)

資格情報マネージャーを利用する手順は、以上です。複数のネットワークフォルダーにアクセスする場合は、同様な手順で資格情報の登録を繰り返してください。


# まとめ
まとめると、以下のようになります。

* Windows版 OPA では 資格情報マネージャーを使うことで、サービス実行アカウントと異なる認証情報を使用してネットワークフォルダーに接続が可能
* OPA の実行アカウントは、「Local Service」から、サービス実行用アカウントへ変更することを推奨

# おわりに
いかがでしょうか？ Windows 版 OPA では資格情報マネージャーを使うことで、サービス実行アカウントとは異なる認証情報を使用し、ネットワークフォルダーにアクセスすることが可能です。

Workato の導入・導入後の活用などでお困りの場合、Workato リセラーにご相談する方法もございます。お困りごとがございましたら、認定リセラーの[日立ソリューションズ](https://www.hitachi-solutions.co.jp/rpa/sp/products/workato)へ是非ご相談ください。

# 参考リンク

* 株式会社 日立ソリューションズ
    * [Workato ご紹介サイト](https://www.hitachi-solutions.co.jp/rpa/sp/products/workato)
* Workato 公式サイト
    * [Accessing On-prem](https://docs.workato.com/on-prem.html)
* 資格情報マネージャー関連
    * [資格情報マネージャーにアクセスする](https://support.microsoft.com/ja-jp/windows/%E8%B3%87%E6%A0%BC%E6%83%85%E5%A0%B1%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A3%E3%83%BC%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%99%E3%82%8B-1b5c916a-6a16-889f-8581-fc16e8165ac0)