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

概要
Keeper Security Freshservice Workflowアプリでは、ITおよびセキュリティチームがFreshserviceのチケットサイドバーから、Keeperボルトへのアクセス申請と承認リクエストに直接対応できます。エージェントはチケットを離れることなく、ボルトの検索、共有権限の設定、リクエストの承認または拒否を行えます。
Keeper側の操作はすべて、お客様環境でホストするKeeperコマンダーサービスモードのエンドポイント経由でHTTPSにより実行されます。Freshserviceのチケット内にKeeperの認証情報は保存されません。
アクセス申請への対応は本アプリで行います。Keeper管理コンソールのアラート (EPMおよびクラウドSSOのデバイス承認) からチケットを自動作成する場合は、別アプリの FreshService ITSM をご利用ください。
機能
チケットサイドバーでの対応: ボルトアクセスリクエストおよびKeeper承認チケットを処理
ボルト検索: アクセス承認前にレコードおよびフォルダを検索
レコードの共有: 閲覧のみ、編集、共有、編集と共有、所有権を譲渡の権限を付与 (従来型および階層型レコード)
フォルダの共有: 従来型または階層型フォルダへのアクセスを付与または取り消し (レコードの追加と削除 / 共有先の管理オプションあり)
ワンタイム共有: 自己消滅型の共有リンクを生成し、エージェントにURLを表示
EPMの承認: エンドポイント特権マネージャー (KEPM) のリクエストを承認または拒否
デバイスの承認: クラウドSSOのデバイス登録リクエストを承認または拒否
インストール時のヘルスチェック: サービスモードに接続できることと、APIキーが有効であることを検証
アクティビティメモ (任意): Freshservice APIキーを構成している場合、承認または拒否後にチケットの [Activity] タブへ公開メモを投稿
Appsからの代替起動: テナントでチケットサイドバーが使えない場合に、同じ画面を全画面で表示
要件
マーケットプレイスまたはカスタムアプリをインストールする権限を持つ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で必要なロール
アプリのインストールと構成
Account Admin
ボルトアクセスリクエストへの対応
Agent with access to assigned tickets
EPM / デバイスリクエストの承認または拒否
Security or IT admin agent
サービスカタログ項目の管理
Admin or service catalog manager
アプリのインストール状況およびサポートの確認
Admin
構成手順
1. Keeperコマンダーサービスモードのデプロイ
インターネットから接続できるサーバーにKeeperコマンダーをインストールします。Freshworksのクラウドからサービスモードのホストに接続できる必要があります。
本連携に必要なコマンドを指定してサービスモードを作成し、起動します。
少なくとも以下のコマンドを含めてください。
sync-down,search,share-record,nsf-share-record,share-folder,nsf-share-folder,one-time-share,device-approve,epmホスト名 (
https://およびパスは含めない) と生成されたAPIキーを控えます。
以下は、service-create のセッション例です。
Dockerでのデプロイ、トンネリング、高度な設定については、以下をご参照ください。
2. Freshserviceへのアプリのインストール
[Account Admin] 権限でFreshserviceにログインします。
[Admin] → [Apps] に移動します。
[Keeper Security Workflow] を検索し、[Install] をクリックします (またはカスタムアプリパッケージをアップロードします)。
インストール画面で以下のパラメータを入力し、[Install] をクリックします (編集時は [Save] をクリックします)。

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:// は含めない)。サーバー側でのチケット詳細の取得およびアクティビティメモに使用
インストール時にサービスモードへヘルスチェックが行われます。エンドポイントに接続できない場合やAPIキーが拒否された場合は、インストールに失敗します。
3. サービスカタログのセットアップ (必須、手動)
アプリのインストール時にサービスカタログ項目は作成されません。実行されるのはサービスモードのヘルスチェックのみです。Freshservice管理者は、アプリのインストール後にカタログ項目を作成して公開する必要があります。
A. サービス項目の作成
[Admin] → [Service Catalog] に移動します。
[New Service Item] をクリックします (または既存の項目を編集します)。
[General] タブで、以下を設定します。
Name: Request Keeper Vault Access (推奨)
Short description: Keeperボルトのレコード、フォルダ、またはワンタイム共有リンクへのアクセスを申請
Category: 任意 (Security、Identity、ITなど)

B. カスタムフィールドの追加 (すべて必須)
このカタログ項目の [Custom Fields] セクションを開きます。
以下の必須フィールド3つを追加します。




1
ドロップダウン
Request Type
はい
Record Access、Folder Access、One-Time Share Link (このラベル表記をそのまま使用)
2
段落
Requirements
はい
申請者が必要な内容を記述 (レコード、フォルダ、または用途)
3
段落
Justification for this request
はい
申請者がアクセスが必要な理由を記述
未入力のまま送信できないよう、各フィールドを [Required] にします。[Behavior] のチェックボックス4つすべてにチェックを入れます。
C. 公開と確認
項目を従業員ポータルに公開します。
各Request Typeの選択肢について、テストリクエストを送信します。
各チケットを開き、[Keeper Vault] サイドバータブが表示され、レコード、フォルダ、ワンタイム共有のうち該当する画面になることを確認します。
Record Access
レコードを検索 → 権限を設定 → Approve で shareRecord を実行
Folder Access
フォルダを検索 → 権限を設定 → Approve で shareFolder を実行
One-Time Share Link
レコードを検索 → 有効期限と編集可否を設定 → Approve で createOneTimeShare を実行
4. EPMおよびデバイスチケット向けKeeperアラートの構成 (任意)
EPMおよびデバイス承認を本アプリで処理するには、FreshService ITSMが作成するチケットが必要です。
テナントに [Keeper Security ITSM for Freshservice] をインストールして構成します。
[Keeper管理コンソール] → [レポートとアラート] → [アラート] で、アラート構成を作成または編集します。
ITSMアプリのガイド付きセットアップで取得したURLとトークンを指定して、[Webhookを追加] します。
以下のアラートタイプを有効にします。
エンドポイント特権マネージャーの承認リクエスト
クラウドSSOデバイスの管理者承認リクエスト
アラートが送信されると、ITSMアプリにより
keeper_request_id(および関連フィールド) 付きのFreshserviceチケットが作成されます。本アプリでは、承認または拒否の際にこれらのフィールドを使用します。
活用事例
Keeperボルトレコードへのアクセス申請
トリガー: 従業員がFreshserviceのサービスカタログからRecord Accessのリクエストを送信する。
承認: Freshserviceの承認ワークフローに従ってリクエストが承認される。
対応: エージェントがチケットを開き、[Keeper Vault] サイドバータブでレコードを検索し、権限を選択して [Approve] をクリックする。
結果: コマンダーが
share-recordを実行し、申請者にアクセスを付与する。構成済みの場合、チケットに公開アクティビティメモが追加される。


共有フォルダへのアクセス申請
トリガー: 従業員がFolder Accessのカタログリクエストを送信する。
承認: リクエストが承認される。
対応: エージェントがサイドバーでフォルダを検索し、[Manage records] / [Manage users] オプション (または階層型フォルダのロール) を選択して承認する。
結果: コマンダーが
share-folderまたはnsf-share-folderを実行する。申請者にフォルダアクセスが付与される。
ワンタイム共有リンク
トリガー: 従業員がOne-Time Share Linkのリクエストを送信する。
対応: エージェントがレコードを検索し、リンクの有効期限と受信者の編集可否を設定して承認する。
結果: コマンダーがワンタイム共有URL (
https://…/vault/share#…) を返す。エージェントはサイドバーまたはアクティビティメモから申請者へリンクを転送する。
ボルトアクセスリクエストの拒否
トリガー: ポリシーや対象レコードの誤りなどにより、承認済みのボルトアクセスを拒否する必要がある。
操作: エージェントがサイドバーで [Deny request] をクリックし、理由を入力する。
結果: Keeperの共有コマンドは実行されない。Freshservice APIキーが構成されている場合、拒否と理由が公開アクティビティメモに記録される。
エンドポイント特権マネージャー (EPM) の承認
トリガー: ユーザーがエンドポイントで特権昇格をリクエストする。Keeper管理コンソールがアラートを送信し、Keeper Security ITSM for Freshserviceアプリが
keeper_request_id付きのチケットを作成する。対応: セキュリティ管理者がチケットを開き、Keeperサイドバーで [Approve] または [Deny] をクリックする。
結果: コマンダーが
epm approval action --approveまたは--denyを実行する。構成済みの場合、チケットの [Activity] に注記される。

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

エージェント向け対応ガイド
Keeperサイドバーを開く
Keeperボルトアクセスまたは承認リクエストのFreshserviceチケットを開きます。
チケットサイドバーの [Keeper Vault] タブをクリックします。
Record Accessリクエストへの対応
チケットのリクエストタイプがRecord Accessであることを確認します。
サイドバーで検索対象に [Records] を選択します。
2文字以上を入力し、[Search] をクリックします。
一覧から結果を選択します。
[Recipient email] を入力します。
レコードタイプに応じて、[Classic record permission] または [Nested record role] を選択します。
権限モデルが期間限定アクセスに対応している場合は、任意で [Expiration] を設定します。
[Approve] をクリックします。
Folder Accessリクエストへの対応
チケットのリクエストタイプがFolder Accessであることを確認します。
検索対象に [Folders] を選択します。
対象フォルダを検索して選択します。
[Recipient email] を入力します。
従来型フォルダの場合は、以下から選択します。
[No User Permissions]
[Manage records]
[Manage users]
[Manage records & users]
階層型共有フォルダの場合は、適切な階層型フォルダロールを選択します。
任意で有効期限を設定します。
[Approve] をクリックします。
One-Time Share Linkリクエストへの対応
チケットのリクエストタイプがOne-Time Share Linkであることを確認します。
レコードを検索して選択します。
[Expiration] を設定します (UIのデフォルト: 5分。選択肢は 5m、10m、30m、1h、4h、8h、24h、7d)。
双方向共有にする場合は、任意で [Can edit] にチェックを入れます。
[Approve] をクリックします。
サイドバーからワンタイム共有URLをコピーし、申請者に送信します。
ボルトアクセスリクエストの拒否
[Deny request] をクリックします (ボルト検索なしで利用可能)。
理由を入力します (必須、最大500文字)。
[Confirm denial] をクリックします。
EPM / デバイスリクエストの承認または拒否
EPMまたはデバイス承認のためにKeeper Security ITSM for Freshserviceアプリが作成したチケットを開きます。
サイドバーには [Approve] と [Deny] のみが表示されます (ボルト検索なし)。
チケットに表示されたリクエストIDを確認します。
[Approve] または [Deny] をクリックします。
権限モデル
従来型および階層型の権限モデルに対応しています。
従来型レコードの権限
閲覧のみ
読み取り専用アクセス
編集
読み取り + 変更 (--write)
共有
読み取り + 再共有 (--share)
編集と共有
読み取り + 変更 + 再共有 (--write --share)
所有権を譲渡
所有権の移管 (--action owner、取り消し不可)
階層型レコードのロール
閲覧者
読み取り専用
共有管理者
共有を管理可能
コンテンツ管理者
レコード内容を管理可能
コンテンツおよび共有管理者
コンテンツ + 共有
全管理者
すべての管理
所有権を譲渡
レコード所有権の移管
従来型フォルダの権限
No User Permissions
off
off
Manage records
on
off
Manage users
off
on
Manage records & users
on
on
有効期限について
一部の権限レベルでは期間限定の有効期限を設定できません (従来型の共有、編集と共有、所有権を譲渡など)。
選択した権限で有効期限に対応していない場合、有効期限の入力欄は非表示になり、期限なしでアクセスが付与されます。
ワンタイム共有の有効期限には、コマンダーの単位を使用します。
Nmi(分)、Nh(時間)、Nd(日)。UIでは30mなどの表記が30miに変換されます。
コマンダーコマンドリファレンス
ボルト共有コマンド (shareRecord、shareFolder、createOneTimeShare) の実行前に、ローカルのボルトキャッシュを更新する sync-down が実行されます。epm sync-down は、EPM承認アクションの直前のみ実行されます。
ボルト同期 (共有 / ワンタイム共有の前)
sync-down
レコード共有 (閲覧のみ)
share-record --email <email> --action grant <record_uid>
レコード共有 (編集)
share-record --email <email> --action grant --write <record_uid>
レコード共有 (共有)
share-record --email <email> --action grant --share <record_uid>
レコード共有 (編集と共有)
share-record --email <email> --action grant --write --share <record_uid>
レコード共有 (所有権を譲渡)
share-record --email <email> --action owner <record_uid>
フォルダ共有 (付与)
share-folder --email <email> --action grant --manage-records {on|off} --manage-users {on|off} [--expire-in <ttl>] <folder_uid>
フォルダ共有 (削除)
share-folder --email <email> --action remove --manage-records off --manage-users off <folder_uid>
階層型レコード共有
nsf-share-record
階層型フォルダ共有
nsf-share-folder
ワンタイム共有
one-time-share create --expire <ttl> [--editable] <record_uid>
デバイス承認
device-approve <email_or_device_id> {--approve|--deny}
EPM承認
epm approval action {--approve|--deny} <request_uid>
ボルト検索 (レコード)
search <terms> --format json -c r
ボルト検索 (フォルダ)
search <terms> --format json -c s -c d
フラグの意味については、共有コマンド をご参照ください。
エラー処理
インストール時にサービスモードへ接続できない
ホストとAPIキーの確認を促すメッセージ付きでインストール失敗
メール、権限、承認または拒否の指定、または有効期限が無効
INVALID_INPUT を返す。エージェントに検証メッセージを表示
サービスモードがHTTP 401 / 403
UPSTREAM_AUTH を返す。アプリ設定でAPIキーを確認またはローテーション
サービスモードリクエストが expired、またはポーリングがタイムアウト
UPSTREAM_TIMEOUT を返す
サービスモードが failed、4xx / 5xx、または内部のコマンダーエラー
コマンダーのエラーメッセージ付きで UPSTREAM_FAILED を返す
コマンダーが未対応のレコードタイプでワンタイム共有を拒否
コマンダーのメッセージをそのまま付けて UPSTREAM_FAILED
リクエストがKeeper側ですでに処理済み
サイドバーに処理済み状態を表示。重複操作なし
構成のテスト
アプリのインストール
インストールに成功し、サービスモードのヘルスチェックも完了
サービスカタログ項目
Request Keeper Vault Access が公開され、request_type ドロップダウンがあること (管理者が手動でセットアップ)
ボルト検索
既知のクエリ (2文字以上) でレコードまたはフォルダが返る
Record Accessの承認
受信者がボルトアクセスを取得。任意のアクティビティメモ
Folder Accessの承認
受信者がフォルダアクセスを取得
ワンタイム共有の承認
サイドバーに共有URLが表示される
リクエストの拒否
チケットの Activity に理由メモ (APIキー構成時)
EPM / デバイスの承認
コマンダーが完了。チケットが処理済み状態を表示
無効なAPIキー
承認操作時に UPSTREAM_AUTH
トラブルシューティング
インストール失敗 - サービスモードに接続できない
[Keeper Commander ServiceMode Host] に
https://プレフィックスおよびパスが含まれていないことを確認します。サービスモードが稼働し、HTTPSで待ち受けていることを確認します。
ホストにインターネットから接続できることを確認します (内部ネットワークのみではないこと)。
ファイアウォール、リバースプロキシ、TLS証明書の構成を確認します。
インストール失敗 - 認証エラー
サービスモードのAPIキーを再生成します。
[Admin] → [Apps] → [Keeper Security Workflow] → [Settings] でキーを再入力します。
キーに、必要なコマンダーコマンドを実行する権限があることを確認します。
ボルトアクセスチケットにKeeperサイドバーが表示されない
サービスカタログ項目が公開済みで、チケットがその項目から作成されたことを確認します。
項目名または説明にKeeperボルトアクセスのフレーズ (例: Request Keeper Vault Access) が含まれることを確認します。
request_typeドロップダウンがRecord Access、Folder Access、One-Time Share Linkであることを確認します。テナントでチケットサイドバータブが表示されない場合は、[Apps] からアプリを開きます (同じ画面を全画面で表示します)。
管理者向けの確認項目は、手順3. サービスカタログのセットアップをご参照ください。
承認時の UPSTREAM_AUTH
アプリ設定を開き、サービスモードAPIキーを確認します。
サービスモードホスト上でAPIキーをローテーションし、アプリ設定を更新します。
チケットにサイドバータブが表示されない
一部のFreshserviceテナント (サンドボックス、トライアル、特定プラン) では、
ticket_sidebarが正しく表示されない場合があります。代わりに [Apps] からアプリを開きます (同じ画面を全画面で表示します)。
[Admin] → [Apps] でアプリがインストール済みかつ有効であることを確認します。
チケットに "not a Keeper vault access or approval request" と表示される
チケットがKeeperのカタログリクエスト、またはITSMが生成したEPM / デバイスチケットであることを確認します。
ボルトアクセスの場合、リクエストタイプがRecord Access、Folder Access、One-Time Share Linkであることを確認します。
EPM / デバイスの場合、ITSMアプリにより
keeper_request_idが設定されていることを確認します。
ボルト検索で結果が返らない
サービスモードのサービスアカウントが
sync-downおよびsearchを実行できることを確認します。2文字以上で検索します。
レコードまたはフォルダが、サービスモードアカウントから参照できるボルト内に存在することを確認します。
ボルト検索で予期しないエラーが表示される
サービスモードが稼働していることを確認します。
サービスモードのログでコマンダーエラーを確認します。
許可したコマンドに
searchおよびsync-downが含まれていることを確認します。
承認は成功するがアクティビティメモがない
アプリ設定で [Freshservice API Key] を構成します。
キーが、チケットメモを追加する権限を持つ管理者アカウントのものであることを確認します。
APIキーがなくてもKeeper側の処理は実行されます。スキップされるのはチケットメモのみです。
EPMまたはデバイスリクエストが表示されない
Keeper Security ITSM for Freshserviceがインストールおよび構成済みであることを確認します。
[Keeper管理コンソール] → [レポートとアラート] で、EPMおよびデバイスのアラートが有効であることを確認します。
Webhook URLとトークンがITSMアプリの構成と一致することを確認します。
テストアラートで
keeper_request_id付きのチケットが作成されることを確認します。
ワンタイム共有がコマンダーエラーで失敗する
レコードタイプがワンタイム共有に対応していることを確認します。
レコードUIDが有効で、期限切れでないことを確認します。
アプリが返す
error.messageを確認します。コマンダーのエラーはそのまま表示されます。
Freshservice外ですでに処理済みのリクエスト
リクエストがKeeper管理コンソールまたはコマンダーで直接承認または拒否済みの場合、サイドバーに処理済み状態が表示され、操作は再送信されません。
関連ドキュメント
最終更新

