共有コマンド

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

コマンド

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 john.smith@gmail.com
sr g6rvo2-Uv-BC16ZM33CF3w -e john.smith@gmail.com --share
sr social/Twitter -e john.smith@gmail.com --action owner
sr --recursive -e john.smith@gmail.com "My Shared Folder" 
sr --expire-at "2050-01-01 00:00:01" -e john.smith@gmail.com memberships/Gym
sr --expire-in 3d -e john.smith@gmail.com social/Twitter
  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日間限定の閲覧専用アクセスを付与します。

share-folderコマンド

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

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

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

パラメータ:

フォルダのパスまたはUID

スイッチ:

-a、--action <{grant, revoke, 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 EXPIRE_AT 共有の期限: 「never」またはISO日付時間形式 (yyyy-MM-dd[ hh:mm:ss])

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

共有フォルダの権限は付加的となります。デフォルトのフォルダ権限で、ある権限が付与されている場合、-a revokeを使用して取り消されない限り、そのフォルダを共有するすべてのユーザーとチームにその権限が付与されます。

例:

share-folder memberships -e Jane.Smith@gmail.com -p 
sf memberships -r memberships/gym -a revoke --can-share
sf jdrkYEaf03bG0ShCGlnKww -e DB_ADMINS -p
sf "Team Passwords" -e "Marketing Team" -a grant -o
sf * -e DB_ADMINS -p
sf -a remove -e Jane.Smith@gmail.com memberships
sf -e Jane.Smith@gmail.com --expire-in 5h memberships
  1. 「memberships」共有フォルダをユーザーJane.Smith@gmail.comと共有します。 ユーザーJane.Smith@gmail.comにレコード管理、フォルダ共有、レコード編集を許可します。

  2. 「memberships」共有フォルダの「gym」レコードへのユーザーJane.Smith@gmail.comのアクセス権を取り消します。

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

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

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

  6. ユーザーJane.Smith@gmail.comの「memberships」共有フォルダへのすべてのアクセスを削除します。

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

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

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

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

sf --action=grant --email=* --manage-user --manage-records jdrkYEaf03bG0ShCGlnKww
sf --action=grant --record=* --can-share --can-edit jdrkYEaf03bG0ShCGlnKww

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

sf -e * --manage-user --manage-records -e @existing jdrkYEaf03bG0ShCGlnKww

sf -r * -r @existing --can-share --can-edit -e @existing jdrkYEaf03bG0ShCGlnKww

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

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以降が必要となります

コマンド: 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 <時間> ワンタイム共有の有効期間。

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

Remove

パラメータ:

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

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

例:

List

My Vault> one-time-share 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[...]

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回実行するだけで、共有フォルダ内のすべてのレコード (レコードの所有者に関係なく) の権限を変更できます。

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

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

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

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

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

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

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

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

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

share-record --action owner --email john.smith@gmail.com --dry-run --recursive -- -FHdesR_GSERHUwBg4vTXw

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

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

share-record --action owner --email john.smith@gmail.com --recursive -- -FHdesR_GSERHUwBg4vTXw

最終更新