JavaScript SDK

Keeperシークレットマネージャー用Javascript SDKの詳細

ダウンロードとインストール

NPMによるインストール

npm install @keeper-security/secrets-manager-core

ソースコード

JavaScriptのソースコードは、GitHubリポジトリで入手できます。

SDKの使用

ストレージの初期化

トークンのみを使用して新しい構成 (後で使用するため) を生成する場合、トークンをバインドして config.jsonを完全に生成するために、少なくとも1回の読み取り操作が必要です。

シークレットを取得するには、まずマシンのローカルストレージを初期化する必要があります。

initializeStorage(storage:KeyValueStorage, clientKey:String? = null, hostName:String? = null)
パラメータ
必須
デフォルト
説明

storage

KeyValueStorage

はい

保存場所

clientKey

string

オプション

null

Keeperシークレットマネージャーに接続するためのトークン

hostName

string

オプション

null

シークレットを取得するサーバーの場所。 何も指定しない場合は、keepersecurity.com (米国) が使用されます

使用例

シークレットの取得

パラメータ
必須
デフォルト
説明

storage

KeyValueStorage

はい

保存場所

recordsFilter

string[]

オプション

空のリスト

取得するUIDレコード

レスポンス

型: KeeperSecrets

すべてのKeeperのレコード、または指定したフィルタ条件に一致するレコードを含むオブジェクト

使用例

すべてのシークレットを取得

タイトルでシークレットを取得

パラメータ
必須
説明

options

SecretsManagerOptions

はい

事前に設定されたオプション

recordTitle

string

はい

検索するレコードタイトル

使用例

シークレットから値を取得

パスワードを取得

フィールドタイプはKeeperレコードタイプに基づきます。利用可能なフィールドの詳細な一覧については、コマンダーで record-type-info コマンドをご参照ください。

Keeper表記法を使用して他のフィールドを取得

Keeper表記法の形式と機能については、Keeper表記法のドキュメントをご参照ください。

パラメータ
必須
デフォルト
説明

secrets

KeeperSecrets

はい

照会するシークレット

query

string

はい

Keeper表記法を使用したクエリ

  • この表記を使用したクエリで指定するレコードUIDは、secrets パラメーターで渡されたシークレットのいずれかである必要があります。そうでない場合、クエリでは何も取得されません。

戻り値

型: any

ドット記法を使用したクエリで指定された位置のフィールドに値が存在する場合はその値 (存在しない場合は不定)

TOTPコードを取得

Keeper表記法の形式と機能については、Keeper表記法のページをご参照ください。

パラメータ
必須
デフォルト
説明

url

string

はい

TOTP Url

  • この表記を使用したクエリで指定するレコードUIDは、secrets パラメーターで渡されたシークレットのいずれかである必要があります。そうでない場合、クエリでは何も取得されません。

戻り値

型: any

ドット記法を使用したクエリで指定された位置のフィールドに値が存在する場合はその値 (存在しない場合は不定)

シークレットを更新

パラメータ
必須
デフォルト
説明

options

SecretManagerOptions

はい

record

KeeperRecord

はい

戻り値

型: Promise<void>

ランダムなパスワードを生成

パラメータ
必須
デフォルト

length

int

オプション

64

lowercase

int

オプション

0

uppercase

int

オプション

0

digits

int

オプション

0

specialCharacters

int

オプション

0

各パラメーターは、それぞれの文字タイプを最低何文字含めるかを指定します。たとえば、uppercase は「大文字を最低何文字含めるか」を示します。

戻り値

型: String

ファイルのダウンロード

パラメータ
必須
デフォルト
説明

file

KeeperFile

はい

ダウンロードするファイル

レスポンス

型: Promise<Uint8Array>

ダウンロード用のファイルのバイト列

サムネイルのダウンロード

パラメータ
必須
デフォルト
説明

file

KeeperFile

はい

ダウンロードするサムネイル付きファイル

レスポンス

型: Promise<Uint8Array>

ダウンロード用サムネイルのバイト列

ファイルのアップロード

ファイルのアップロード:

パラメータ
必須
説明

options

SecretsManagerOptions

はい

ストレージとクエリの設定

ownerRecord

KeeperRecord

はい

アップロードされたファイルを添付するレコード

file

KeeperFileUpload

はい

アップロードするファイル

Keeperファイルアップロードオブジェクトを作成:

パラメータ
必須
説明

name

string

はい

アップロード後にKeeperに格納されるファイルの名前

title

string

はい

アップロード後にKeeperに格納されるファイルのタイトル

type

string

オプション

ファイルのデータのMIMEタイプ。何も指定しない場合は、「application/octet-stream」が使用されます

data

Uint8Array

はい

バイト型のファイルデータ

使用例

シークレットの作成

要件

  • 共有フォルダのUID

    • 共有フォルダには、シークレットマネージャーアプリケーションからアクセスできること

    • ユーザーとシークレットマネージャーアプリケーションには編集権限が付与されていること

    • 共有フォルダには、少なくとも1つのレコードが存在すること

  • 作成されたレコードとレコードのフィールドは正しい形式で設定されていること

    • 各レコードタイプのフィールド形式については、こちらのページをご参照ください

  • TOTPフィールドには、KSM SDK以外で生成されたURLのみを指定できます

  • レコードを作成した後、uploadFile を使用して添付ファイルをアップロードできます

パラメータ
必須
デフォルト

options

SecretManagerOptions

はい

folderUid

string

はい

record

JSON Object

はい

シークレットの削除

JavaScript KSM SDKでKeeperボルトのレコードを削除できます。

パラメータ
必須

smOptions

SecretManagerOptions

はい

recordUids

string[]

はい

キャッシュ

ネットワークへのアクセスが失われた際にシークレットへのアクセスも失うという事態を避けるため、JavaScript SDKでは、シークレットを暗号化されたファイルとしてローカルマシンにキャッシュすることができます。

SecretManagerOptionsqueryFunction: cachingPostFunction を追加

使用例:

フォルダ

フォルダは完全なCRUD (作成、読み取り、更新、削除操作) に対応しています。

フォルダの読み取り

フォルダの完全な階層構造をダウンロードします。

レスポンス

型: KeeperFolder[]

使用例

フォルダの作成

作成には CreateOptions とフォルダ名の指定が必要です。CreateOptions に含まれる folder UID パラメータは必須で、これは共有フォルダのUIDを指定します。sub-folder UID は任意で、省略された場合は、指定された共有フォルダの直下に通常のフォルダが新規作成されます。なお、sub-folder UID は必ずしも親の共有フォルダの直下である必要はなく、何階層も深い位置を指定することも可能です。

パラメータ
必須
説明

options

SecretsManagerOptions

はい

事前に設定されたオプション

createOptions

CreateOptions

はい

親およびサブフォルダのUID

folderName

string

はい

フォルダ名

使用例

フォルダの更新

フォルダのメタデータ (現在はフォルダ名のみ) を更新します。

パラメータ
必須
説明

options

SecretsManagerOptions

はい

事前に設定されたオプション

folderUid

string

はい

フォルダのUID

folderName

string

はい

新しいフォルダ名

使用例

フォルダの削除

フォルダのリストを削除します。空でないフォルダを削除するには、forceDeletionフラグを使用します。

forceDeletion を使用する際は、親フォルダとその子フォルダのUIDを同時に送信しないように注意してください。削除の順序によっては、エラーが発生する可能性があります (例: 親が先に削除され、その後で子フォルダを削除しようとした場合など)。UIDのリストが常にFIFO (先入れ先出し) 順に処理される保証はありません。

ボルトに存在しないフォルダのUIDやKSMアプリケーションで共有されていないフォルダのUIDはエラーになりません。

パラメータ
必須
デフォルト
説明

options

SecretsManagerOptions

はい

事前に設定されたオプション

folderUids

string[]

はい

フォルダUIDリスト

forceDeletion

bool

いいえ

false

空でないフォルダを強制的に削除

使用例

最終更新