共有フォルダ - 同期なし (sync-downなし)

ボルトを先に同期 (sync-down) せずに共有フォルダを扱う手順の説明

概要

アプリがKeeperボルトのデータをローカルのSDKインスタンスへ同期しない (sync_down / VaultOnline を使わない) とき、ログイン後は認証済みのAPI呼び出しのみで処理を進める場合に適したフローです。

共有フォルダのメタデータ参照、ユーザーの招待・更新・削除、チームの追加や削除、または IAuthentication が利用可能になった直後の UIDを指定したレコード本文の取得が必要な場合に、このパスを使います。

ボルト全体を同期する構成では、VaultOnline における共有フォルダのモデルや最も広い統合面を利用できる IVaultSharedFolder / VaultOnline を優先してください。

対象範囲と制限

  • 共有フォルダのスキップ同期は、完全な sync_down / VaultOnline ツリーを実行しないアプリ向けです。認証直後から利用できるのは、共有フォルダおよびレコードに関する限定的な操作に限ります。

  • ユーザー: これまでのリリースと同様、個別ユーザー (メール) の追加・更新・削除が可能です。

  • チーム: ボルトを読み込まずに、共有フォルダへチームの追加・削除や、共有に利用できるチームの一覧が可能です。

  • レコード: 共有フォルダに紐づくレコードUIDの一覧と、ボルト同期なしでのレコードの取得と復号が可能です。

DotNet SDK前提条件

ログイン後に有効な IAuthentication があること。具体例として、下記の VaultOnlinevault.AuthAuthenticateAndGetVault.GetAuthAsync の戻り値など、IAuthentication を実装したオブジェクトが該当します。

構造体とクラス

目的

ISharedFolderSkipSyncDown

依存性注入とテスト用のインターフェース

SharedFolderSkipSyncDown

静的エントリポイント (GetSharedFolderAsync, PutUserToSharedFolderAsync, RemoveUserFromSharedFolderAsync)

SharedFolderSkipSyncDown.SharedFolderSkipSyncDownClient

ISharedFolderSkipSyncDown の既定実装

アプリがKeeperへの認証完了後すぐに、共有フォルダのメタデータの参照、ユーザーの招待・更新、または共有フォルダからのユーザーの削除が必要な場合にこのパスを使います。

ボルト全体の統合 (同期済みツリーやチームなど) では、IVaultSharedFolder / VaultOnline を使ってください。

UIDによる共有フォルダの取得

UIDで共有フォルダを1件読み込みます。応答には共有フォルダ本体に加え、ユーザー情報・チーム情報およびレコードUIDの一覧が含まれます。

DotNet SDK

関数: GetSharedFolderAsync

public static async Task<GetSharedFoldersResponse> GetSharedFolderAsync(
    IAuthentication auth,
    string sharedFolderUid)

セッションがフォルダにアクセスできない場合、または応答に共有フォルダエントリがない場合は null を返します。

引数:

パラメーター
説明

Auth

IAuthentication インターフェースを持つ認証済みセッション

SharedFolderUid

データ取得対象の共有フォルダのUID

PowerCommander

コマンド: Get-KeeperSharedFolderDetailsSkipSync

ボルト全体を同期せず、サーバーから共有フォルダのペイロード (get_shared_folders) を取得します。

パラメーター
説明

-SharedFolderUid

必須。 共有フォルダのUID

-IncludePermissions

レコードごとのCanEdit / CanShare、ユーザー別・チーム別フラグ、フォルダ鍵および既定権限フィールドを含めます。省略時はコンパクトな出力のみ

-PassThru

SDKからの生の GetSharedFoldersResponse を返します

使用例:

Python SDK

共有フォルダからレコードを取得

フォルダに紐づく重複のないレコードUIDを返します。フォルダが利用できない、またはレコードがない場合は空です。

DotNet SDK

関数: GetRecordUidsFromSharedFolderAsync

引数:

パラメーター
説明

-SharedFolderUid

レコード取得対象の共有フォルダのUID

PowerCommander

コマンド: Get-KeeperSharedFolderRecordUidsSkipSync

ボルト全体を同期せず、サーバー経由でレコードUIDを取得します (内部で get_shared_folders を利用)。

フラグ:

パラメーター
説明

-SharedFolderUid

必須

使用例:

Python SDK

共有フォルダレコードの最終更新情報の取得

フルボルト同期なしで、共有フォルダ内の各レコードについて、最終更新者 (メールアドレス) と最終更新日時を取得します。結果には LastModifiedBy (最終編集者のメールアドレス) と LastModifiedTime (Unixミリ秒タイムスタンプ) が含まれます。

DotNet SDK

関数: GetRecordLastModifiedAsync

引数:

パラメータ
説明

Auth

インターフェース IAuthentication を持つ認証済みセッション

recordUid

レコードのUID。GetSharedFolderRecordsAsync 呼び出し後の KeeperRecord.Uid から取得

ユーザーへの共有フォルダ共有

共有フォルダにユーザーを追加または更新します。任意の IUserShareOptions (例: SharedFolderUserOptions) で権限と有効期限を制御します。

DotNet SDK

関数: PutUserToSharedFolderAsync

オプションの設定例は以下のとおりです。

引数:

パラメーター
説明

Auth

IAuthentication インターフェースを持つ認証済みセッション

SharedFolderUid

対象の共有フォルダのUID

userId

共有先ユーザーのメール (APIが受け付ける形式)

options

上記のとおりの SharedFolderUserOptions オブジェクト

PowerCommander

コマンド: Grant-KeeperSharedFolderUserSkipSync

パラメーター
説明

-SharedFolder

必須 (位置0)

-User

必須 (位置1)。APIが受け付けるユーザーのメールまたはID

-ManageRecords, -ManageUsers

省略可能な真偽値 ($true / $false / 省略)

-ExpireIn, -ExpireAt

省略可能な有効期限 (他の共有コマンドレット、例: Grant-KeeperRecordAccess と同じ意味)

-ShowDetail

成功後に Get-KeeperSharedFolderRecordsSkipSync-Mode SharedKey で実行し、概要を表示します

-PassThru

-ShowDetail 指定時、一覧ステップの RecordDetailsSkipSyncResult を返します

使用例:

Python SDK

ユーザーから共有フォルダ共有を取り消す

共有フォルダからユーザーのアクセスを削除します。任意の IUserShareOptions (例: SharedFolderUserOptions) で権限と有効期限を制御できます。

DotNet SDK

関数: RemoveUserFromSharedFolderAsync

引数:

パラメーター
説明

Auth

IAuthentication インターフェースを持つ認証済みセッション

SharedFolderUid

対象の共有フォルダのUID

userId

アクセスを取り消すユーザーのメール

PowerCommander

コマンド: Revoke-KeeperSharedFolderUserSkipSync

共有フォルダからユーザーを外します (RemoveUserFromSharedFolderAsync)。ShouldProcess に対応します。

パラメーター
説明

-SharedFolder, -User

必須 (位置0および1)

-ShowDetail, -PassThru

付与時と同じパターン

使用例:

Python SDK

共有可能チーム一覧の取得

現在のユーザーが共有に利用できるチームを返します。ボルト全体を同期せずに取得します。

DotNet SDK

関数: GetAvailableTeamsForShareAsync

引数:

パラメーター
説明

Auth

IAuthentication インターフェースを持つ認証済みセッション

PowerCommander

コマンド: Get-KeeperAvailableTeamsSkipSync

共有に利用できるチームを一覧します (get_available_teams)。

使用例:

Python SDK

近日公開

チーム名からUIDの解決

チーム表示名が一意に特定できる場合にのみチームUIDに解決します。一致がなければnullを返し、複数一致する場合は例外を送出します (明示的なチーム名またはUIDの利用を検討してください)。

DotNet SDK

関数: GetTeamUidFromNameAsync

引数:

パラメーター
説明

Auth

IAuthentication インターフェースを持つ認証済みセッション

teamName

解決対象のチーム表示名 (一意に決まる必要あり)

PowerCommander

コマンド: Get-KeeperTeamUidSkipSync

表示名が一意に特定できる場合に、チームUIDへ解決します。

パラメーター
説明

-TeamName

解決対象のチーム表示名 (一意に決まる必要あり)

使用例:

Python SDK

近日公開

共有フォルダへのチーム追加・更新

共有フォルダにチームを追加または更新します。チームUIDまたは、一意に特定できる表示名を渡します。UIDが不明なときは GetTeamUidFromNameAsync で取得できます。権限や有効期限を渡せるときは IUserShareOptions で指定します。

DotNet SDK

関数: PutTeamToSharedFolderAsync

オプションの設定例は以下のとおりです。

引数:

パラメーター
説明

Auth

IAuthentication インターフェースを持つ認証済みセッション

SharedFolderUid

対象の共有フォルダのUID

teamUid

共有先のチームUID

options

上記のとおりの SharedFolderUserOptions オブジェクト

PowerCommander

コマンド: Grant-KeeperSharedFolderTeamSkipSync

チームを追加または更新します (PutTeamToSharedFolderAsync)。チームはUIDまたはSDKが解決できる名前です。ShouldProcess に対応します。

パラメーター
説明

-SharedFolder, -Team

必須 (位置0および1)

-ManageRecords, -ManageUsers

省略可能

-ExpireIn, -ExpireAt

省略可能

-ShowDetail, -PassThru

ユーザー付与時と同じ

使用例:

Python SDK

共有フォルダからのチームアクセス取り消し

共有フォルダ上のチームのアクセスを取り消します。チームUIDまたは、一意に特定できる表示名を渡します。明示的なUIDが必要な場合は GetTeamUidFromNameAsync を利用できます。IUserShareOptions は、対応する場合に任意で指定できます。

DotNet SDK

関数: RemoveTeamFromSharedFolderAsync

引数:

パラメーター
説明

Auth

IAuthentication インターフェースを持つ認証済みセッション

SharedFolderUid

対象の共有フォルダのUID

teamUid

アクセスを取り消すチームのUID

PowerCommander

コマンド: Revoke-KeeperSharedFolderTeamSkipSync

共有フォルダからチームを外します (RemoveTeamFromSharedFolderAsync)。ShouldProcess に対応します。

パラメーター
説明

-SharedFolder, -Team

必須

-ShowDetail, -PassThru

ユーザー取り消し時と同じパターン

使用例:

Python SDK

ボルト同期なしでのレコードペイロード

レコードUIDをすでに持っている場合 (例: GetRecordUidsFromSharedFolderAsync から取得)、ボルト全体を同期せずに復号済みの KeeperRecord インスタンスが必要なときに使います。

DotNet SDK

関数: GetRecordsAsync

引数:

パラメーター
説明

Auth

IAuthentication インターフェースを持つ認証済みセッション

recordUids

レコードUIDの一覧

include

取り込むレコード詳細の範囲 RecordDetailsInclude はAPIの列挙値に対応 (既定は DATA_PLUS_SHARE)。より狭いペイロードには DataOnly または ShareOnly を指定。

戻り値: RecordDetailsSkipSyncResult

メンバー
意味

Records

復号に成功したレコード

NoPermissionRecordUids

APIの noPermissionRecordUid に対応するUID群

FailedRecordUids

応答に含まれたが復号または読み込みに失敗したUID (例: 非対応の recordKeyType)

InvalidRecordUids

呼び出し側の文字列がバイナリのレコードUIDにデコードできず送信されなかったもの

PowerCommander

コマンド: Get-KeeperRecordDetailsByUidSkipSync

パラメーター
説明

-RecordUid

読み込む1件以上のレコードUID

-SharedFolderUid

共有フォルダのUID。SharedKey モードでは必須。Auto モードでは、所有鍵復号に失敗したレコードのフォールバック先フォルダとして使用

-Mode

復号戦略: AutoOwnedKey、または SharedKey

-Include

返すデータ: DataPlusShareDataOnly、または ShareOnly

-PassThru

指定時は整形出力ではなく生の RecordDetailsSkipSyncResult オブジェクトを返す

使用例:

Python SDK

近日公開

例: 認証、フォルダメタデータ、ユーザー共有 (ボルト全体は同期しない)

DotNet SDK
Python SDK

例: チーム、レコードUID、レコード復号 (ボルト全体は同期しない)

DotNet SDK
Python SDK

近日公開

最終更新