> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/keeperpam/jp/secrets-manager/integrations/freshservice-workflow.md).

# Freshservice Workflow

Freshservice上でのKeeperボルトアクセスおよび承認リクエストの安全な処理

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgit-blob-c2c8ffe17f2731e1d8cbecbe21ed820256c76973%2FKeeper%2Bfreshservice.png?alt=media" alt=""><figcaption></figcaption></figure>

### 概要 <a href="#overview" id="overview"></a>

Keeper Security Freshservice Workflowアプリでは、ITおよびセキュリティチームがFreshserviceのチケットサイドバーから、Keeperボルトへのアクセス申請と承認リクエストに直接対応できます。エージェントはチケットを離れることなく、ボルトの検索、共有権限の設定、リクエストの承認または拒否を行えます。

Keeper側の操作はすべて、お客様環境でホストする**Keeperコマンダーサービスモード**のエンドポイント経由でHTTPSにより実行されます。Freshserviceのチケット内にKeeperの認証情報は保存されません。

本アプリは、Freshservice上で統制されたKeeperアクセスリクエストを、実際に処理する役割を担います。

[マーケットプレイス (英語)](https://www.freshworks.com/apps/keeper_security_workflow_1/)

***

### 機能 <a href="#features" id="features"></a>

* **チケットサイドバーでの対応:** ボルトアクセスリクエストおよびKeeper承認チケットを処理
* **ボルト検索:** アクセス承認前にレコードおよびフォルダを検索
* **レコードの共有:** 閲覧のみ、編集、共有、編集と共有、所有権を譲渡の権限を付与 (従来型および階層型レコード)
* **フォルダの共有:** 従来型または階層型フォルダへのアクセスを付与または取り消し (レコードの追加と削除 / 共有先の管理オプションあり)
* **ワンタイム共有:** 自己消滅型の共有リンクを生成し、エージェントにURLを表示
* **EPMの承認:** エンドポイント特権マネージャー (KEPM) のリクエストを承認または拒否
* **デバイスの承認:** クラウドSSOのデバイス登録リクエストを承認または拒否
* **インストール時のヘルスチェック:** サービスモードに接続できることと、APIキーが有効であることを検証
* **アクティビティメモ (任意):** Freshservice APIキーを構成している場合、承認または拒否後にチケットの **\[Activity]** タブへ公開メモを投稿
* **Appsからの代替起動:** テナントでチケットサイドバーが使えない場合に、同じ画面を全画面で表示

***

### 要件 <a href="#prerequisites" id="prerequisites"></a>

* マーケットプレイスまたはカスタムアプリをインストールする権限を持つFreshserviceアカウント
* インターネットから接続できるHTTPSエンドポイント上にデプロイされた**Keeperコマンダーサービスモード** (リバースプロキシ、ロードバランサー、クラウドトンネルなど)
* 構成済みKeeperサービスアカウントに代わって共有、承認、ボルト検索を実行する権限を持つサービスモードAPIキー
* インストール後、Freshservice管理者が**手動**で、必須のカスタムフィールド3つを含む**サービスカタログ**項目を作成して公開すること

  * **Request Type** (ドロップダウン)
  * **Requirements** (段落)
  * **Justification for this request** (段落)

  **手順3.** をご参照ください。インストール時にカタログ項目は作成されません。
* Request Typeの選択肢: **Record Access**、**Folder Access**、**One-Time Share Link**
* **任意 - Keeper Security ITSM for Freshservice:** KeeperアラートからのEPMおよびデバイス承認チケットの自動作成にのみ必要
* **任意 - Freshservice管理者APIキー:** アクティビティメモと、サーバー側でのチケット詳細の取得を有効化。未設定でも承認や拒否の処理は行える

***

### Freshserviceで必要なロール <a href="#roles-required-in-freshservice" id="roles-required-in-freshservice"></a>

| 作業                      | 推奨アクセス                                |
| ----------------------- | ------------------------------------- |
| アプリのインストールと構成           | Account Admin                         |
| ボルトアクセスリクエストへの対応        | Agent with access to assigned tickets |
| EPM / デバイスリクエストの承認または拒否 | Security or IT admin agent            |
| サービスカタログ項目の管理           | Admin or service catalog manager      |
| アプリのインストール状況およびサポートの確認  | Admin                                 |

***

### 構成手順 <a href="#configuration-instructions" id="configuration-instructions"></a>

#### 1. Keeperコマンダーサービスモードのデプロイ <a href="#step-1-deploy-keeper-commander-servicemode" id="step-1-deploy-keeper-commander-servicemode"></a>

1. インターネットから接続できるサーバーに**Keeperコマンダー**をインストールします。Freshworksのクラウドからサービスモードのホストに接続できる必要があります。
2. 本連携に必要なコマンドを指定してサービスモードを作成し、起動します。

   少なくとも以下のコマンドを含めてください。

   `sync-down`, `search`, `share-record`, `nsf-share-record`, `share-folder`, `nsf-share-folder`, `one-time-share`, `device-approve`, `epm`
3. **ホスト名** (`https://` およびパスは含めない) と生成された**APIキー**を控えます。

以下は、`service-create` のセッション例です。

```
My Vault> service-create
Enter Port No: 9090
Enable Ngrok Tunneling? (y/n): n
Enable TLS Certificate (y/n): y
Enable Request Queue? (y/n): y
Enable Advanced Security? (y/n): n
Select Run Mode (foreground/background): background
List of supported commands, Enter comma separated: sync-down, search, share-record, nsf-share-record, share-folder, nsf-share-folder, one-time-share, device-approve, epm
Select configuration format (json/yaml): json
Generated API key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Commander Service starting on https://your-host.example.com/api/v2/
Commander Service started with PID: 35215
```

Dockerでのデプロイ、トンネリング、高度な設定については、以下をご参照ください。

* [サービスモードREST API](/keeperpam/jp/commander-cli/service-mode-rest-api.md)
* [Dockerによるデプロイ](/keeperpam/jp/commander-cli/service-mode-rest-api/docker-deployment.md)

***

#### 2. Freshserviceへのアプリのインストール <a href="#step-2-install-the-app-in-freshservice" id="step-2-install-the-app-in-freshservice"></a>

1. **\[Account Admin]** 権限でFreshserviceにログインします。
2. **\[Admin]** → **\[Apps]** に移動します。
3. **\[Keeper Security Workflow]** を検索し、**\[Install]** をクリックします (またはカスタムアプリパッケージをアップロードします)。
4. インストール画面で以下のパラメータを入力し、**\[Install]** をクリックします (編集時は **\[Save]** をクリックします)。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgit-blob-e04d4fe0b7e7aae0ec4d5ca1a9b4525010e7dfe5%2FScreenshot%202026-07-15%20at%2011.03.49%E2%80%AFPM.png?alt=media" alt=""><figcaption></figcaption></figure>

| パラメータ                                 | 必須                    | 説明                                                                                                                                                 |
| ------------------------------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Keeper Commander ServiceMode Host** | はい                    | ホスト名のみ (`https://` およびパスは含めない)。例: `keeper-sm.example.com`                                                                                          |
| **ServiceMode API Key**               | はい                    | サービスモードセットアップ時のAPIキー。暗号化して保存され、保存後は再表示されない                                                                                                         |
| **Freshservice API Key**              | いいえ                   | 承認または拒否後に、チケット詳細の読み込みと公開アクティビティメモの投稿にサーバー側で使用する管理者APIキー。Freshservice APIを呼び出さない場合は空欄のまま。サービスカタログ項目の作成、チケットステータスの変更 (Resolvedへの変更など)、チケットの自動解決は行わない |
| **Freshservice Domain**               | Freshservice APIキー設定時 | ホスト名のみ。例: `yourcompany.freshservice.com` (`https://` は含めない)。サーバー側でのチケット詳細の取得およびアクティビティメモに使用                                                        |

5. インストール時にサービスモードへヘルスチェックが行われます。エンドポイントに接続できない場合やAPIキーが拒否された場合は、インストールに失敗します。

{% hint style="info" icon="pencil-line" %}
パスワード欄は保存後に空で表示されます。キーは安全に保存され、インストール画面には再表示されません。
{% endhint %}

***

#### 3. サービスカタログのセットアップ (必須、手動) <a href="#step-3-service-catalog-setup-required-manual" id="step-3-service-catalog-setup-required-manual"></a>

アプリのインストール時にサービスカタログ項目は**作成されません**。実行されるのはサービスモードのヘルスチェックのみです。Freshservice管理者は、アプリのインストール**後**にカタログ項目を作成して公開する必要があります。

**A. サービス項目の作成**

1. **\[Admin]** → **\[Service Catalog]** に移動します。
2. **\[New Service Item]** をクリックします (または既存の項目を編集します)。
3. **\[General]** タブで、以下を設定します。
   * **Name:** Request Keeper Vault Access (推奨)
   * **Short description:** Keeperボルトのレコード、フォルダ、またはワンタイム共有リンクへのアクセスを申請
   * **Category:** 任意 (Security、Identity、ITなど)

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgit-blob-c72aab796076399255676d395be4dbc4e5d02f5c%2FScreenshot%202026-07-07%20at%2012.34.54%E2%80%AFPM.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
件名または説明に *request keeper vault access* や *keeper vault access* などのフレーズが含まれると、Keeperボルトアクセスチケットとして認識されます。
{% endhint %}

**B. カスタムフィールドの追加 (すべて必須)**

4. このカタログ項目の **\[Custom Fields]** セクションを開きます。
5. 以下の必須フィールド3つを追加します。

<div><figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgit-blob-f47d62d44351168bf0c95c9fee13979b301792f5%2FScreenshot%202026-07-07%20at%205.56.02%E2%80%AFPM.png?alt=media" alt=""><figcaption><p>追加したカスタムフィールド</p></figcaption></figure> <figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgit-blob-40b7cd69aa8a1e877a63b797dd8dd17ceb0af787%2FScreenshot%202026-07-07%20at%205.58.01%E2%80%AFPM.png?alt=media" alt=""><figcaption><p>Request Typeのドロップダウンフィールド</p></figcaption></figure> <figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgit-blob-988809f31ff2525db490124c00612ad1c9d660a6%2FScreenshot%202026-07-07%20at%206.00.05%E2%80%AFPM.png?alt=media" alt=""><figcaption><p>Requirementsの段落フィールド</p></figcaption></figure> <figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgit-blob-2a22a57ef90919e4a10c2de0e18a3ddc6ae85f95%2FScreenshot%202026-07-07%20at%206.00.17%E2%80%AFPM.png?alt=media" alt=""><figcaption><p>Justificationの段落フィールド</p></figcaption></figure></div>

<table><thead><tr><th width="56.04296875" align="center" valign="middle">#</th><th width="129.296875">フィールドタイプ</th><th width="179.66796875">ラベル</th><th width="105.9296875" align="center" valign="middle">必須</th><th>選択肢 / 案内</th></tr></thead><tbody><tr><td align="center" valign="middle">1</td><td>ドロップダウン</td><td><strong>Request Type</strong></td><td align="center" valign="middle">はい</td><td><strong>Record Access</strong>、<strong>Folder Access</strong>、<strong>One-Time Share Link</strong> (このラベル表記をそのまま使用)</td></tr><tr><td align="center" valign="middle">2</td><td>段落</td><td><strong>Requirements</strong></td><td align="center" valign="middle">はい</td><td>申請者が必要な内容を記述 (レコード、フォルダ、または用途)</td></tr><tr><td align="center" valign="middle">3</td><td>段落</td><td><strong>Justification for this request</strong></td><td align="center" valign="middle">はい</td><td>申請者がアクセスが必要な理由を記述</td></tr></tbody></table>

6. 未入力のまま送信できないよう、各フィールドを **\[Required]** にします。**\[Behavior]** のチェックボックス4つすべてにチェックを入れます。

{% hint style="info" icon="pencil-line" %}
内部フィールド名は自動で割り当てられます (ラベルが "Request Type" の場合など)。API名を手動で設定する必要は**ありません**。リクエストタイプは、チケット上のドロップダウンの**値**から検出されます。
{% endhint %}

**C. 公開と確認**

7. 項目を従業員ポータルに**公開**します。
8. 各**Request Type**の選択肢について、テストリクエストを送信します。
9. 各チケットを開き、**\[Keeper Vault]** サイドバータブが表示され、レコード、フォルダ、ワンタイム共有のうち該当する画面になることを確認します。

<table><thead><tr><th width="203.3203125">Request Type</th><th>サイドバーの動作</th></tr></thead><tbody><tr><td><strong>Record Access</strong></td><td>レコードを検索 → 権限を設定 → <strong>Approve</strong> で <code>shareRecord</code> を実行</td></tr><tr><td><strong>Folder Access</strong></td><td>フォルダを検索 → 権限を設定 → <strong>Approve</strong> で <code>shareFolder</code> を実行</td></tr><tr><td><strong>One-Time Share Link</strong></td><td>レコードを検索 → 有効期限と編集可否を設定 → <strong>Approve</strong> で <code>createOneTimeShare</code> を実行</td></tr></tbody></table>

***

#### 4. EPMおよびデバイスチケット向けKeeperアラートの構成 (任意) <a href="#step-4-configure-keeper-alerts-for-epm-and-device-tickets-optional" id="step-4-configure-keeper-alerts-for-epm-and-device-tickets-optional"></a>

EPMおよびデバイス承認を本アプリで処理するには、[FreshService ITSM](/keeperpam/jp/secrets-manager/integrations/freshservice-itsm.md)が作成するチケットが必要です。

1. テナントに **\[Keeper Security ITSM for Freshservice]** をインストールして構成します。
2. **\[Keeper管理コンソール]** → **\[レポートとアラート]** → **\[アラート]** で、アラート構成を作成または編集します。
3. ITSMアプリのガイド付きセットアップで取得したURLとトークンを指定して、**\[Webhookを追加]** します。
4. 以下のアラートタイプを有効にします。
   * エンドポイント特権マネージャーの承認リクエスト
   * クラウドSSOデバイスの管理者承認リクエスト
5. アラートが送信されると、ITSMアプリにより `keeper_request_id` (および関連フィールド) 付きのFreshserviceチケットが作成されます。本アプリでは、承認または拒否の際にこれらのフィールドを使用します。

{% hint style="info" icon="pencil-line" %}
Webhookの直接取り込みには対応していません。
{% endhint %}

***

### 活用事例 <a href="#example-use-cases" id="example-use-cases"></a>

#### Keeperボルトレコードへのアクセス申請 <a href="#request-access-to-a-keeper-vault-record" id="request-access-to-a-keeper-vault-record"></a>

1. **トリガー:** 従業員がFreshserviceのサービスカタログから**Record Access**のリクエストを送信する。
2. **承認:** Freshserviceの承認ワークフローに従ってリクエストが承認される。
3. **対応:** エージェントがチケットを開き、**\[Keeper Vault]** サイドバータブでレコードを検索し、権限を選択して **\[Approve]** をクリックする。
4. **結果:** コマンダーが `share-record` を実行し、申請者にアクセスを付与する。構成済みの場合、チケットに公開アクティビティメモが追加される。

<div><figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgit-blob-f98ff351f38627bab9018defa3bf557dc213cafa%2FScreenshot%202026-07-08%20at%201.11.23%E2%80%AFPM.png?alt=media" alt=""><figcaption></figcaption></figure> <figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgit-blob-7e38d9099ac190e40e701dbacc27c591da5c731e%2FScreenshot%202026-07-08%20at%201.17.07%E2%80%AFPM.png?alt=media" alt=""><figcaption></figcaption></figure></div>

#### 共有フォルダへのアクセス申請 <a href="#request-access-to-a-shared-folder" id="request-access-to-a-shared-folder"></a>

1. **トリガー:** 従業員が**Folder Access**のカタログリクエストを送信する。
2. **承認:** リクエストが承認される。
3. **対応:** エージェントがサイドバーでフォルダを検索し、**\[Manage records]** / **\[Manage users]** オプション (または階層型フォルダのロール) を選択して承認する。
4. **結果:** コマンダーが `share-folder` または `nsf-share-folder` を実行する。申請者にフォルダアクセスが付与される。

#### ワンタイム共有リンク <a href="#one-time-share-link" id="one-time-share-link"></a>

1. **トリガー:** 従業員が**One-Time Share Link**のリクエストを送信する。
2. **対応:** エージェントがレコードを検索し、リンクの有効期限と受信者の編集可否を設定して承認する。
3. **結果:** コマンダーがワンタイム共有URL (`https://…/vault/share#…`) を返す。エージェントはサイドバーまたはアクティビティメモから申請者へリンクを転送する。

#### ボルトアクセスリクエストの拒否 <a href="#deny-a-vault-access-request" id="deny-a-vault-access-request"></a>

1. **トリガー:** ポリシーや対象レコードの誤りなどにより、承認済みのボルトアクセスを拒否する必要がある。
2. **操作:** エージェントがサイドバーで **\[Deny request]** をクリックし、理由を入力する。
3. **結果:** Keeperの共有コマンドは実行されない。Freshservice APIキーが構成されている場合、拒否と理由が公開アクティビティメモに記録される。

#### エンドポイント特権マネージャー (EPM) の承認 <a href="#endpoint-privilege-manager-epm-approval" id="endpoint-privilege-manager-epm-approval"></a>

1. **トリガー:** ユーザーがエンドポイントで特権昇格をリクエストする。Keeper管理コンソールがアラートを送信し、**Keeper Security ITSM for Freshservice**アプリが `keeper_request_id` 付きのチケットを作成する。
2. **対応:** セキュリティ管理者がチケットを開き、Keeperサイドバーで **\[Approve]** または **\[Deny]** をクリックする。
3. **結果:** コマンダーが `epm approval action --approve` または `--deny` を実行する。構成済みの場合、チケットの **\[Activity]** に注記される。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgit-blob-3cab2cd57b98513cf7fdaa77693d08704c5f287a%2FScreenshot%202026-07-07%20at%204.11.54%E2%80%AFPM.png?alt=media" alt=""><figcaption><p>FreshService ITSMアプリが作成したEPM承認リクエストのチケット</p></figcaption></figure>

#### クラウドSSOデバイスの承認 <a href="#cloud-sso-device-approval" id="cloud-sso-device-approval"></a>

1. **トリガー:** ユーザーが管理者承認待ちのデバイスを登録する。ITSMアプリがFreshserviceチケットを作成する。
2. **対応:** 管理者がチケット上のメールまたはデバイスIDを使用して、Keeperサイドバーから承認または拒否する。
3. **結果:** コマンダーが `device-approve` を実行する。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2Fgit-blob-e80d06223a331e83b2f3e53628f4ef3d02dd8b1e%2FScreenshot%202026-07-07%20at%204.22.19%E2%80%AFPM.png?alt=media" alt=""><figcaption><p>FreshService ITSMアプリが作成したデバイス承認リクエストのチケット</p></figcaption></figure>

***

### エージェント向け対応ガイド <a href="#agent-fulfillment-guide" id="agent-fulfillment-guide"></a>

#### Keeperサイドバーを開く <a href="#open-the-keeper-sidebar" id="open-the-keeper-sidebar"></a>

1. Keeperボルトアクセスまたは承認リクエストのFreshserviceチケットを開きます。
2. チケットサイドバーの **\[Keeper Vault]** タブをクリックします。

{% hint style="info" %}
テナントでサイドバータブが表示されない場合は、Freshserviceの **\[Apps]** からアプリを開きます (同じ画面を全画面で表示します)。
{% endhint %}

***

#### Record Accessリクエストへの対応 <a href="#fulfill-a-record-access-request" id="fulfill-a-record-access-request"></a>

1. チケットのリクエストタイプが**Record Access**であることを確認します。
2. サイドバーで検索対象に **\[Records]** を選択します。
3. 2文字以上を入力し、**\[Search]** をクリックします。
4. 一覧から結果を選択します。
5. **\[Recipient email]** を入力します。
6. レコードタイプに応じて、**\[Classic record permission]** または **\[Nested record role]** を選択します。
7. 権限モデルが期間限定アクセスに対応している場合は、任意で **\[Expiration]** を設定します。
8. **\[Approve]** をクリックします。

***

#### Folder Accessリクエストへの対応 <a href="#fulfill-a-folder-access-request" id="fulfill-a-folder-access-request"></a>

1. チケットのリクエストタイプが**Folder Access**であることを確認します。
2. 検索対象に **\[Folders]** を選択します。
3. 対象フォルダを検索して選択します。
4. **\[Recipient email]** を入力します。
5. 従来型フォルダの場合は、以下から選択します。
   * **\[No User Permissions]**
   * **\[Manage records]**
   * **\[Manage users]**
   * **\[Manage records & users]**
6. 階層型共有フォルダの場合は、適切な階層型フォルダロールを選択します。
7. 任意で有効期限を設定します。
8. **\[Approve]** をクリックします。

***

#### One-Time Share Linkリクエストへの対応 <a href="#fulfill-a-one-time-share-link-request" id="fulfill-a-one-time-share-link-request"></a>

1. チケットのリクエストタイプが**One-Time Share Link**であることを確認します。
2. レコードを検索して選択します。
3. **\[Expiration]** を設定します (UIのデフォルト: 5分。選択肢は 5m、10m、30m、1h、4h、8h、24h、7d)。
4. 双方向共有にする場合は、任意で **\[Can edit]** にチェックを入れます。
5. **\[Approve]** をクリックします。
6. サイドバーからワンタイム共有URLをコピーし、申請者に送信します。

***

#### ボルトアクセスリクエストの拒否 <a href="#deny-a-vault-access-request-1" id="deny-a-vault-access-request-1"></a>

1. **\[Deny request]** をクリックします (ボルト検索なしで利用可能)。
2. 理由を入力します (必須、最大500文字)。
3. **\[Confirm denial]** をクリックします。

{% hint style="info" icon="pencil-line" %}
Keeperの共有コマンドは実行されません。
{% endhint %}

***

#### EPM / デバイスリクエストの承認または拒否 <a href="#approve-or-deny-epm-device-requests" id="approve-or-deny-epm-device-requests"></a>

1. EPMまたはデバイス承認のためにKeeper Security ITSM for Freshserviceアプリが作成したチケットを開きます。
2. サイドバーには **\[Approve]** と **\[Deny]** のみが表示されます (ボルト検索なし)。
3. チケットに表示されたリクエストIDを確認します。
4. **\[Approve]** または **\[Deny]** をクリックします。

{% hint style="info" %}
デバイス承認では、`request_id` にチケット上のユーザーの**メール**または**保留中のデバイスID**のいずれかを指定できます。
{% endhint %}

***

### 権限モデル <a href="#permission-models" id="permission-models"></a>

**従来型**および**階層型**の権限モデルに対応しています。

#### 従来型レコードの権限 <a href="#classic-record-permissions" id="classic-record-permissions"></a>

<table><thead><tr><th width="224.94921875">権限</th><th>コマンダーの動作</th></tr></thead><tbody><tr><td>閲覧のみ</td><td>読み取り専用アクセス</td></tr><tr><td>編集</td><td>読み取り + 変更 (<code>--write</code>)</td></tr><tr><td>共有</td><td>読み取り + 再共有 (<code>--share</code>)</td></tr><tr><td>編集と共有</td><td>読み取り + 変更 + 再共有 (<code>--write --share</code>)</td></tr><tr><td>所有権を譲渡</td><td>所有権の移管 (<code>--action owner</code>、取り消し不可)</td></tr></tbody></table>

#### 階層型レコードのロール <a href="#nested-record-roles" id="nested-record-roles"></a>

<table><thead><tr><th width="225.21484375">ロール</th><th>説明</th></tr></thead><tbody><tr><td>閲覧者</td><td>読み取り専用</td></tr><tr><td>共有管理者</td><td>共有を管理可能</td></tr><tr><td>コンテンツ管理者</td><td>レコード内容を管理可能</td></tr><tr><td>コンテンツおよび共有管理者</td><td>コンテンツ + 共有</td></tr><tr><td>全管理者</td><td>すべての管理</td></tr><tr><td>所有権を譲渡</td><td>レコード所有権の移管</td></tr></tbody></table>

#### 従来型フォルダの権限 <a href="#classic-folder-permissions" id="classic-folder-permissions"></a>

<table><thead><tr><th width="249">オプション</th><th align="center">manage_records</th><th align="center">manage_users</th></tr></thead><tbody><tr><td>No User Permissions</td><td align="center">off</td><td align="center">off</td></tr><tr><td>Manage records</td><td align="center">on</td><td align="center">off</td></tr><tr><td>Manage users</td><td align="center">off</td><td align="center">on</td></tr><tr><td>Manage records &#x26; users</td><td align="center">on</td><td align="center">on</td></tr></tbody></table>

{% hint style="info" icon="pencil-line" %}

#### 有効期限について <a href="#expiration-notes" id="expiration-notes"></a>

* 一部の権限レベルでは期間限定の有効期限を設定できません (従来型の**共有**、**編集と共有**、**所有権を譲渡**など)。
* 選択した権限で有効期限に対応していない場合、有効期限の入力欄は非表示になり、期限なしでアクセスが付与されます。
* ワンタイム共有の有効期限には、コマンダーの単位を使用します。`Nmi` (分)、`Nh` (時間)、`Nd` (日)。UIでは `30m` などの表記が `30mi` に変換されます。
  {% endhint %}

***

### コマンダーコマンドリファレンス <a href="#commander-commands-reference" id="commander-commands-reference"></a>

ボルト共有コマンド (`shareRecord`、`shareFolder`、`createOneTimeShare`) の実行前に、ローカルのボルトキャッシュを更新する **`sync-down`** が実行されます。**`epm sync-down`** は、EPM承認アクションの直前のみ実行されます。

<table data-search="false"><thead><tr><th>アクション</th><th>コマンダーコマンド</th></tr></thead><tbody><tr><td>ボルト同期 (共有 / ワンタイム共有の前)</td><td><code>sync-down</code></td></tr><tr><td>レコード共有 (閲覧のみ)</td><td><code>share-record --email &#x3C;email> --action grant &#x3C;record_uid></code></td></tr><tr><td>レコード共有 (編集)</td><td><code>share-record --email &#x3C;email> --action grant --write &#x3C;record_uid></code></td></tr><tr><td>レコード共有 (共有)</td><td><code>share-record --email &#x3C;email> --action grant --share &#x3C;record_uid></code></td></tr><tr><td>レコード共有 (編集と共有)</td><td><code>share-record --email &#x3C;email> --action grant --write --share &#x3C;record_uid></code></td></tr><tr><td>レコード共有 (所有権を譲渡)</td><td><code>share-record --email &#x3C;email> --action owner &#x3C;record_uid></code></td></tr><tr><td>フォルダ共有 (付与)</td><td><code>share-folder --email &#x3C;email> --action grant --manage-records {on|off} --manage-users {on|off} [--expire-in &#x3C;ttl>] &#x3C;folder_uid></code></td></tr><tr><td>フォルダ共有 (削除)</td><td><code>share-folder --email &#x3C;email> --action remove --manage-records off --manage-users off &#x3C;folder_uid></code></td></tr><tr><td>階層型レコード共有</td><td><code>nsf-share-record</code></td></tr><tr><td>階層型フォルダ共有</td><td><code>nsf-share-folder</code></td></tr><tr><td>ワンタイム共有</td><td><code>one-time-share create --expire &#x3C;ttl> [--editable] &#x3C;record_uid></code></td></tr><tr><td>デバイス承認</td><td><code>device-approve &#x3C;email_or_device_id> {--approve|--deny}</code></td></tr><tr><td>EPM承認</td><td><code>epm approval action {--approve|--deny} &#x3C;request_uid></code></td></tr><tr><td>ボルト検索 (レコード)</td><td><code>search &#x3C;terms> --format json -c r</code></td></tr><tr><td>ボルト検索 (フォルダ)</td><td><code>search &#x3C;terms> --format json -c s -c d</code></td></tr></tbody></table>

フラグの意味については、[共有コマンド](/keeperpam/jp/commander-cli/command-reference/sharing-commands.md) をご参照ください。

***

### エラー処理 <a href="#error-handling" id="error-handling"></a>

<table data-search="false"><thead><tr><th>条件</th><th>アプリの動作</th></tr></thead><tbody><tr><td>インストール時にサービスモードへ接続できない</td><td>ホストとAPIキーの確認を促すメッセージ付きでインストール失敗</td></tr><tr><td>メール、権限、承認または拒否の指定、または有効期限が無効</td><td><code>INVALID_INPUT</code> を返す。エージェントに検証メッセージを表示</td></tr><tr><td>サービスモードがHTTP 401 / 403</td><td><code>UPSTREAM_AUTH</code> を返す。アプリ設定でAPIキーを確認またはローテーション</td></tr><tr><td>サービスモードリクエストが <code>expired</code>、またはポーリングがタイムアウト</td><td><code>UPSTREAM_TIMEOUT</code> を返す</td></tr><tr><td>サービスモードが <code>failed</code>、4xx / 5xx、または内部のコマンダーエラー</td><td>コマンダーのエラーメッセージ付きで <code>UPSTREAM_FAILED</code> を返す</td></tr><tr><td>コマンダーが未対応のレコードタイプでワンタイム共有を拒否</td><td>コマンダーのメッセージをそのまま付けて <code>UPSTREAM_FAILED</code></td></tr><tr><td>リクエストがKeeper側ですでに処理済み</td><td>サイドバーに処理済み状態を表示。重複操作なし</td></tr></tbody></table>

***

### 構成のテスト <a href="#testing-the-configuration" id="testing-the-configuration"></a>

<table data-search="false"><thead><tr><th>テスト</th><th>期待される結果</th></tr></thead><tbody><tr><td>アプリのインストール</td><td>インストールに成功し、サービスモードのヘルスチェックも完了</td></tr><tr><td>サービスカタログ項目</td><td><strong>Request Keeper Vault Access</strong> が公開され、<code>request_type</code> ドロップダウンがあること (管理者が手動でセットアップ)</td></tr><tr><td>ボルト検索</td><td>既知のクエリ (2文字以上) でレコードまたはフォルダが返る</td></tr><tr><td>Record Accessの承認</td><td>受信者がボルトアクセスを取得。任意のアクティビティメモ</td></tr><tr><td>Folder Accessの承認</td><td>受信者がフォルダアクセスを取得</td></tr><tr><td>ワンタイム共有の承認</td><td>サイドバーに共有URLが表示される</td></tr><tr><td>リクエストの拒否</td><td>チケットの <strong>Activity</strong> に理由メモ (APIキー構成時)</td></tr><tr><td>EPM / デバイスの承認</td><td>コマンダーが完了。チケットが処理済み状態を表示</td></tr><tr><td>無効なAPIキー</td><td>承認操作時に <code>UPSTREAM_AUTH</code></td></tr></tbody></table>

***

### トラブルシューティング <a href="#troubleshooting" id="troubleshooting"></a>

#### インストール失敗 - サービスモードに接続できない <a href="#install-fails-servicemode-unreachable" id="install-fails-servicemode-unreachable"></a>

1. **\[Keeper Commander ServiceMode Host]** に `https://` プレフィックスおよびパスが含まれていないことを確認します。
2. サービスモードが稼働し、HTTPSで待ち受けていることを確認します。
3. ホストにインターネットから接続できることを確認します (内部ネットワークのみではないこと)。
4. ファイアウォール、リバースプロキシ、TLS証明書の構成を確認します。

#### インストール失敗 - 認証エラー <a href="#install-fails-authentication-error" id="install-fails-authentication-error"></a>

1. サービスモードのAPIキーを再生成します。
2. **\[Admin]** → **\[Apps]** → **\[Keeper Security Workflow]** → **\[Settings]** でキーを再入力します。
3. キーに、必要なコマンダーコマンドを実行する権限があることを確認します。

#### ボルトアクセスチケットにKeeperサイドバーが表示されない <a href="#keeper-sidebar-not-shown-on-a-vault-access-ticket" id="keeper-sidebar-not-shown-on-a-vault-access-ticket"></a>

1. サービスカタログ項目が公開済みで、チケットがその項目から作成されたことを確認します。
2. 項目名または説明にKeeperボルトアクセスのフレーズ (例: **Request Keeper Vault Access**) が含まれることを確認します。
3. **`request_type`** ドロップダウンが**Record Access**、**Folder Access**、**One-Time Share Link**であることを確認します。
4. テナントでチケットサイドバータブが表示されない場合は、**\[Apps]** からアプリを開きます (同じ画面を全画面で表示します)。
5. 管理者向けの確認項目は、**手順3. サービスカタログのセットアップ**をご参照ください。

#### 承認時の `UPSTREAM_AUTH` <a href="#upstream_auth-when-approving" id="upstream_auth-when-approving"></a>

1. アプリ設定を開き、サービスモードAPIキーを確認します。
2. サービスモードホスト上でAPIキーをローテーションし、アプリ設定を更新します。

#### チケットにサイドバータブが表示されない <a href="#sidebar-tab-not-visible-on-tickets" id="sidebar-tab-not-visible-on-tickets"></a>

1. 一部のFreshserviceテナント (サンドボックス、トライアル、特定プラン) では、`ticket_sidebar` が正しく表示されない場合があります。
2. 代わりに **\[Apps]** からアプリを開きます (同じ画面を全画面で表示します)。
3. **\[Admin]** → **\[Apps]** でアプリがインストール済みかつ有効であることを確認します。

#### チケットに "not a Keeper vault access or approval request" と表示される <a href="#ticket-shows-not-a-keeper-vault-access-or-approval-request" id="ticket-shows-not-a-keeper-vault-access-or-approval-request"></a>

1. チケットがKeeperのカタログリクエスト、またはITSMが生成したEPM / デバイスチケットであることを確認します。
2. ボルトアクセスの場合、リクエストタイプが**Record Access**、**Folder Access**、**One-Time Share Link**であることを確認します。
3. EPM / デバイスの場合、ITSMアプリにより `keeper_request_id` が設定されていることを確認します。

#### ボルト検索で結果が返らない <a href="#vault-search-returns-no-results" id="vault-search-returns-no-results"></a>

1. サービスモードのサービスアカウントが `sync-down` および `search` を実行できることを確認します。
2. 2文字以上で検索します。
3. レコードまたはフォルダが、サービスモードアカウントから参照できるボルト内に存在することを確認します。

#### ボルト検索で予期しないエラーが表示される <a href="#vault-search-shows-an-unexpected-error" id="vault-search-shows-an-unexpected-error"></a>

1. サービスモードが稼働していることを確認します。
2. サービスモードのログでコマンダーエラーを確認します。
3. 許可したコマンドに `search` および `sync-down` が含まれていることを確認します。

#### 承認は成功するがアクティビティメモがない <a href="#approve-succeeds-but-no-activity-note" id="approve-succeeds-but-no-activity-note"></a>

1. アプリ設定で **\[Freshservice API Key]** を構成します。
2. キーが、チケットメモを追加する権限を持つ管理者アカウントのものであることを確認します。
3. APIキーがなくてもKeeper側の処理は実行されます。スキップされるのはチケットメモのみです。

#### EPMまたはデバイスリクエストが表示されない <a href="#epm-or-device-requests-not-appearing" id="epm-or-device-requests-not-appearing"></a>

1. **Keeper Security ITSM for Freshservice**がインストールおよび構成済みであることを確認します。
2. **\[Keeper管理コンソール]** → **\[レポートとアラート]** で、EPMおよびデバイスのアラートが有効であることを確認します。
3. Webhook URLとトークンがITSMアプリの構成と一致することを確認します。
4. テストアラートで `keeper_request_id` 付きのチケットが作成されることを確認します。

#### ワンタイム共有がコマンダーエラーで失敗する <a href="#one-time-share-fails-with-commander-error" id="one-time-share-fails-with-commander-error"></a>

1. レコードタイプがワンタイム共有に対応していることを確認します。
2. レコードUIDが有効で、期限切れでないことを確認します。
3. アプリが返す `error.message` を確認します。コマンダーのエラーはそのまま表示されます。

#### Freshservice外ですでに処理済みのリクエスト <a href="#request-already-processed-outside-freshservice" id="request-already-processed-outside-freshservice"></a>

リクエストがKeeper管理コンソールまたはコマンダーで直接承認または拒否済みの場合、サイドバーに処理済み状態が表示され、操作は再送信されません。

***

### 関連ドキュメント <a href="#related-documentation" id="related-documentation"></a>

* [コマンダーサービスモードREST API](/keeperpam/jp/commander-cli/service-mode-rest-api.md)
* [共有コマンド](/keeperpam/jp/commander-cli/command-reference/sharing-commands.md)
* [FreshService ITSM](/keeperpam/jp/secrets-manager/integrations/freshservice-itsm.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/secrets-manager/integrations/freshservice-workflow.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
