共有コマンド

レコードの共有と共有フォルダに関するコマンド

コマンド

Keeperコマンドリファレンス

対話型シェル、CLI、JSON設定ファイルのいずれを使用する場合でも、以下のコマンドがサポートされており、各コマンドでは追加のパラメータとオプションがご利用になれます。

特定のコマンドのヘルプを表示するには、以下のコマンドを実行します。

help <command>

共有コマンド

コマンド
説明

ユーザーにレコードへのアクセス権を付与または取り消します

共有フォルダの権限を変更します

フォルダのレコード権限を変更します

ワンタイム共有を管理します

外部ユーザーに共有を表示または取り消します

share-recordコマンド

コマンド: share-recordまたはsr

詳細: レコードのパスまたはUIDを指定して、レコードへのユーザーアクセスの付与と取り消しを行います。

パラメータ:

レコードのパスまたはUID

スイッチ:

-e、--email 権限を編集するアカウントのメール (必須)

-a、--action <{grant, revoke, owner, cancel}> レコードに設定する権限

-s、--share ユーザーにレコードの共有を許可します

-w、--write ユーザーにレコードの変更を許可します

-R, --recursive コマンドを共有フォルダ階層全体に適用する

--dry-run 権限の変更内容を表示するが、実際には適用しない

--expire-at EXPIRE_AT 共有の期限: 「never」またはISO日付時間形式 (yyyy-MM-dd[ hh:mm:ss])

--expire-in <NUMBER>[(mi)nutes|(h)ours|(d)ays|(mo)nths|(y)ears] 共有の期限: 「never」または期間

例:

share-record memberships/Gym -e [email protected]
sr g6rvo2-Uv-BC16ZM33CF3w -e [email protected] --share
sr social/Twitter -e [email protected] --action owner
sr --recursive -e [email protected] "My Shared Folder" 
sr --expire-at "2050-01-01 00:00:01" -e [email protected] memberships/Gym
sr --expire-in 3d -e [email protected] social/Twitter
sr --contacts-only -e [email protected] 'Wifi Credentials'
  1. 「memberships」フォルダの「Gym」レコードをユーザーJohn Smithと共有します

  2. 指定したUIDを持つレコードをユーザーJohn smithと共有し、John smithが他のユーザーとそのレコードを共有できるようにします

  3. 「social」フォルダの「Twitter」レコードの所有権をユーザーJohn Smithに移管します

  4. 共有フォルダ「My Shared Folder」 (そのサブフォルダ内のすべてのレコードを含む) にあるすべてのレコードをJohn Smithに共有します。

  5. 「memberships」フォルダ内の「Gym」レコードをJohn Smithに共有し、2050年1月1日午前0時0分1秒 (GMT) までアクセス可能にします。

  6. 「social」フォルダ内の「Twitter」レコードに、John Smithに3日間限定の閲覧専用アクセスを付与します。

  7. 指定したユーザーと「Wifi Credentials」レコードを共有します。ただし、共有先ユーザー名を既知の共有対象リストと照合し、一致するユーザー名がない場合は、ドメインが異なる同一ユーザーの既知のユーザー名に置き換えます。この例では、たとえば [email protected] が既知の共有対象で、指定されたユーザー名が一致しない場合、共有関係を作成する前に置き換えを行うかどうか確認のメッセージが表示されます。 備考: --force オプションを付けると確認メッセージを省略できます。

share-folderコマンド

コマンド: share-folderまたはsf

詳細: 指定した (1つまたは一連の) 共有フォルダに対するデフォルトの権限をユーザーに付与または取り消します。

共有フォルダの作成に関する詳細については、mkdir コマンドをご参照ください。

パラメータ:

フォルダのパスまたはUID

スイッチ:

-a、--action <{grant, remove}> フォルダやレコードに設定する権限

-e、--email <EMAIL, TEAM, *>

  • email - フォルダ権限を設定するユーザーのメール

  • team - フォルダ権限を設定するチームの名前

  • * - フォルダを共有する新しいユーザーのそれぞれに対して関連する権限を適用します

  • @currrent/@existing - フォルダへの既存のアクセス権を持つすべてのユーザーに適用します

-r、--record <{RECORD NAME, UID, *, @existing, @current}>

  • record name / UID - 権限を設定する特定のレコード

  • * - 関連するフォルダに追加されたすべての新しいレコード向けにデフォルトの権限を設定します

  • @existing/@current - 指定した共有フォルダに現在含まれているすべてのレコードに権限を適用します

-p、--manage-records レコードの管理権限をオンまたはオフに切り替えます。対象はユーザーやチームのみ。

-o、--manage-users ユーザーの管理権限をオンまたはオフに切り替えます。対象はユーザーやチームのみ。

-s、--can-share レコードの共有権限をオンまたはオフに切り替えます。対象はレコードのみ。

-d、--can-edit レコード変更権限をオンまたはオフに切り替えます。対象はレコードのみ。

-f、--force デフォルトのフォルダ権限を無視して、権限の変更を適用します。

--expire-at TIMESTAMP 共有の有効期限指定します。値は 「never」または ISO形式の日付時刻 (yyyy-MM-dd[ hh:mm:ss])

--expire-in PERIOD 共有の期限を期間で指定します。値は「never」または「数字+単位」(例: 3d、5h) です。 単位は年 (y)、月 (mo)、日 (d)、時間 (h)、分 (mi) が使えます。

例:

share-folder memberships -e [email protected] -p off
sf jdrkYEaf03bG0ShCGlnKww -e DB_ADMINS -p on
sf "Team Passwords" -e "Marketing Team" -a grant -o on
sf * -e DB_ADMINS -p on
sf -a remove -e [email protected] memberships
sf -e [email protected] --expire-in 5h memberships
  1. 「memberships」共有フォルダをユーザー[email protected]と共有します。 ユーザー[email protected]にレコード管理を許可します。

  2. 指定したUIDを持つフォルダを「DB_ADMINS」チームと共有し、共有フォルダ内のレコード管理を許可します。

  3. 「Team Passwords」フォルダを「Marketing Team」チームと共有し、ユーザー管理権を付与します。

  4. すべての共有フォルダを「DB_ADMINS」チームと共有し、共有フォルダ内のレコード管理を許可します。

  5. ユーザー[email protected]の「memberships」共有フォルダへのすべてのアクセスを削除します。

  6. 「memberships」共有フォルダに対して、ユーザーに閲覧専用のアクセス権を付与します。このアクセス権は、以降の5時間のみ有効です。

デフォルトのフォルダ設定の変更

デフォルトのフォルダ設定は、新たに追加されたユーザーとレコードの権限を管理します。share-folderコマンドでデフォルトの権限を変更するには、[*]記号を使用します。

たとえば、UIDに基づいて共有フォルダのユーザーのデフォルトを「共有先とレコードの管理」に設定し、レコードのデフォルトを「編集と共有設定が可能」に設定する手順は以下のとおりです。

sf --email=* --manage-users on --manage-records on jdrkYEaf03bG0ShCGlnKww
sf --record=* --can-share on --can-edit on jdrkYEaf03bG0ShCGlnKww

また、適切なオプション (レコードに-r、ユーザーに-e) に対して、「@current」や「@existing」の値を指定するだけで、同じコマンドの呼び出し内で、上記の例のように、共有フォルダのデフォルト設定を指定するために使用した同じ権限をその共有フォルダに現在割り当てられているレコード/ユーザーにも適用できます。上記と同様の例を使用すると、以下のような設定になります。

sf -e * --manage-users on --manage-records on -e @existing memberships
sf -r * --can-share on --can-edit on -r @existing -e @existing memberships

最初の例では、デフォルトのユーザー権限と、共有フォルダに現在割り当てられているユーザーに付与された権限の両方が、「共有先の管理」と「レコードの追加と削除」に設定されます。

2番目の例では、デフォルトのレコード権限と、共有フォルダに現在格納されている既存のレコードの権限の両方が、現在その共有フォルダにアクセスできるユーザーに対して「編集」と「共有」に設定されます。

record-permissionコマンド

コマンド: record-permission

詳細: 共有フォルダのすべてのレコードの権限を変更します

パラメータ:

フォルダのパスまたはUID

スイッチ:

-a、--action <{grant, revoke}> レコードに設定するアクセス権限

-s、--can-share レコード共有を許可します

-d、--can-edit フォルダのレコードの変更を許可します

-f、--force プロンプトを表示せずに権限の変更を適用します

-R、--recursive すべてのサブフォルダに権限の変更を適用します

--dry-run コマンドによって加えられた権限の変更を実際には権限を変更せずに表示します

--share-record レコードの共有権限を変更します

--share-folder フォルダの共有権限を変更します

例:

record-permission memberships --action grant --can-share
record-permission jdrkYEaf03bG0ShCGlnKww -a revoke -d -R
record-permission social -a grant -s --dry-run
  1. 「memberships」共有フォルダのすべてのレコードに共有権限を付与します。

  2. 指定したUIDを持つフォルダとすべてのサブフォルダのすべてのレコードから編集権限を取り消します。

  3. 「social」フォルダに共有権限を付与することによって加えられる変更は表示しますが、権限の変更は適用しません。

shareコマンド

コマンダーのバージョン16.6.3以降が必要となります

コマンド: one-time-share

詳細: 指定したのレコードのワンタイム共有URLを作成、一覧表示、削除します。ワンタイム共有の詳細については、こちらをご覧ください。

サブコマンド:

list - ワンタイム共有を表示します。

create - ワンタイム共有URLを新規作成します。

remove - ワンタイム共有を削除します。

List

スイッチ:

-a--all 失効した共有を含むすべてのワンタイム共有を表示します

--format <table, csv, json> ワンタイム共有の表示形式

-v--verbose 詳細出力

-R --recursive オプションは、サブフォルダをたどるためのものです。

パラメータ:

レコードやフォルダの名前またはUID。反復可能。

Create

スイッチ:

--output <clipboard, stdout> URLをクリップボードにコピーするか、stdout (デフォルト) に出力するかを選択します。

--name ワンタイム共有の名前を指定します。

-e <時間>--expire <時間> ワンタイム共有の有効期間。

形式: [(m)inutes|(h)ours|(d)ays] たとえば、1時間は 1h

--editable 共有相手によるレコードのフィールドの編集とファイルのアップロードを許可します。

パラメータ:

  • レコードの名前かUID。反復可能。

Remove

パラメータ:

  • レコードの名前またはUID

  • ワンタイム共有の名前またはUID

例:

List

My Vault> one-time-share list -R /
My Vault> ots list dIGd46nq2uE_q1fXlAQGkw --all
Record UID              Name         Share Link ID            Generated            Opened    Expires              Status
----------------------  -----------  -----------------------  -------------------  --------  -------------------  ---------
dIGyf6nq2uE_q1fXlAQGkw  MyShare      vhSIl2fnjp5tTaE4w9DC...  2022-04-29 11:01:19            2022-04-29 12:01:19  Expired
dIGyf6nq2uE_q1fXlAQGkw  LwIdbnYa160  bOuAQzCoYL8XIcQpz2KU...  2022-04-29 15:38:27            2022-04-29 16:38:27  Generated

Create

My Vault> one-time-share create dIGyf6nq2uE_q1fXlAQGkw -e 1h
       URL : https://keepersecurity.com/vault/share#s4iSKc7TP[...]

Create (双方向の編集)

My Vault> share create --editable dIGyf6nq2uE_q1fXlAQGkw -e 1h
       URL : https://keepersecurity.com/vault/share#s4iSKc7TP[...]

Remove

My Vault> one-time-share remove dIGyf6nq2uE_q1fXlAQGkw MyShare
One-time share "MyShare" is removed from record "dIGyf6nq2uE_q1fXlAQGkw"

external-shares-reportコマンド

本コマンドにはコンプライアンスレポート作成のアドオンが必要となり、エンタープライズ管理者アカウントのみでご利用になれます。

コマンド: external-shares-reportまたはesr

詳細: 社外のユーザーに付与された共有権限を表示して、(オプションで) 取り消します。

スイッチ:

--format <{table, json, csv}> 出力の書式を設定します。デフォルトは「table」です。

--output <ファイル名> ファイル名に出力します。「table」形式では無視されます。

--action、-a <{remove, none}> 外部共有に対して実行するアクション。省略した場合は「none」。

--share-type, -t <{direct, shared-folder, all}> 共有タイプでレポートをフィルタリング。省略した場合は「all」。

--force、-f 共有を削除するときに確認を省略します。

--refresh-data、-r 実行する前にローカルユーザーとレコードのデータを更新します。

例:

external-shares-report
external-shares-report -r
esr --output external_shares.json --format json
external-shares-report -a remove
esr -a remove -f
external-shares-report --share-type shared-folder
  1. 社外のユーザーに共有されているレコードと共有フォルダを表示します。

  2. レポートを実行して表示する前に、ローカルにキャッシュされた企業のレコード/フォルダ/ユーザーデータを更新します。

  3. レポートを実行し、結果をexternal_shares.jsonという名前のJSON形式のファイルにエクスポートします。

  4. レポートを実行して結果を表示し、その結果で特定された外部共有を取り消します。

  5. 上記#4と同じですが、実行を完了するために追加のユーザー操作は必要ありません (レポートで特定された外部共有を取り消す前の確認プロンプトは省略されます)。

  6. レポートを実行して表示し、結果を直接共有で共有されたレコードに限定します (レポートから共有フォルダを除外します)。

デフォルトでは、上記のコマンド (esr -a remove) を使用して、以前に外部アカウントに付与された共有権限を取り消すには、確認プロンプトによるユーザー操作が必要です。

このタスクを非対話的な方法で実行する必要がある場合は (たとえば、Keeperスクリプト/バッチファイルから実行する場合や自動管理ツールの一部として実行する場合)、コマンド呼び出しに--forceフラグを付けます (例: external-shares-report --force --action remove)。

レコード権限の一括変更

この例では、共有フォルダのレコード権限を再帰的に変更します。

1. 共有フォルダのUIDを特定

コマンダーでは、Bashシェルと同様に「ls-l」コマンドが使用できます。

ボルト内では、情報アイコンをクリックして共有フォルダのUIDを取得できます。

2. コマンダーを使用してレコード権限の変更を検証

コマンダーで--dry-runオプションを指定して、record-permissionコマンドを実行し、このコマンドをシミュレートします。 この例では、共有フォルダのUIDは「-FHdesR_GSERHUwBg4vTXw」ですので、コマンドは以下のようになります。 record-permission --dry-run --recursive --action grant --can-edit -- -FHdesR_GSERHUwBg4vTXw

この例では、共有フォルダのUIDが「-」で始まるため、識別子の前に「--」を追加する必要があります。

このコマンドを実行すると、以下の出力が生成されます。

「SKIP」セクションには、コマンダーの現在のユーザーがレコードの所有者ではないため、要求された変更を行うことができない旨表示されています。 「GRANT」セクションの表示は、変更が許可されるとなっています。

3. コマンダーを使用して権限変更コマンドを実行

コマンドを実行するには、「--dry-run」部分を削除します。

これで、該当するレコードの権限がボルトのUIで「編集可」に変更されました。

レコードの所有者が複数含まれる共有フォルダ

同じ共有フォルダ内に更新が必要なレコードの所有者が多数存在する場合は、各ユーザーがコマンダーで上記の操作を実行するだけで、それぞれのレコードの権限を変更できます。

共有管理者権限を持つ企業ユーザーの場合は、上記の手順を1回実行するだけで、共有フォルダ内のすべてのレコード (レコードの所有者に関係なく) の権限を変更できます。

このような場合、他のレコード所有者が同じ手順を繰り返す必要がないため、処理が大幅に簡素化されます。

レコード所有権の一括移管

前の例 (共有フォルダ内のすべてのレコードのアクセス許可を変更する方法) とほぼ同じ手順を使用して、特定の共有フォルダ内のすべてのレコードの所有権を単一のアカウントに移行することもできます。

次の例 (前の例と同じボルトと共有フォルダを使用) では、その共有フォルダ内のレコードの所有権をユーザー[email protected]に移管してみます。

1. 共有フォルダUIDを確認

確認方法の詳細については、前の例をご参照ください。

この例では、UID -FHdesR_GSERHUwBg4vTXwの共有フォルダを使用します。

2. コマンダーでレコード所有権移管コマンドを検証

前の例と同様に、コマンダーで--dry-runオプションを指定してshare-recordコマンドを実行することで、実際の実行前に目的のアクションをシミュレートできます (前の例とは異なり、この例ではレコードの所有権の譲渡先アカウントのユーザー名 ([email protected]) も指定する必要があります)。コマンドは以下のとおりです。

share-record --action owner --email [email protected] --dry-run --recursive -- -FHdesR_GSERHUwBg4vTXw

3. コマンダーでレコード所有権移管コマンドを実行

最後に、前の例と同様にコマンド呼び出しから--dry-runオプションを削除して、以下のように目的のアクションを実行します。

share-record --action owner --email [email protected] --recursive -- -FHdesR_GSERHUwBg4vTXw

最終更新