.NET SDK
Keeperシークレットマネージャー用.Net SDKの詳細なドキュメント

ダウンロードとインストール
要件
dotnet add package Keeper.SecretsManager
詳しくはこちらのウェブサイトをご覧ください。
ソースコード
.Netのソースコードは、GitHubリポジトリで入手できます。
SDKの使用
ストレージの初期化
シークレットを取得するには、まずマシンのローカルストレージを初期化する必要があります。
storage
KeyValueStorage
はい
clientKey
String
オプション
null
hostName
String
オプション
null
パラメータ
型
必須
デフォルト
説明
storage
IKeyValueStorage
はい
構成を永続化するストレージ実装
oneTimeToken
string
はい
構成の初期化に使用するワンタイムアクセストークン
hostName
string
任意
null
Keeperサーバーのホスト名(省略時はトークンから自動検出)
使用例
自動ファイルセキュリティ (v17.1.0以降)
.NET SDKでは、設定ファイルおよびキャッシュファイルのセキュリティが自動的に保護されます。
Unix/macOS:
chmod 600(所有者のみ読み取り/書き込み可能) が設定されます。Windows: ACLが現在のユーザーのみに制限されます。
保護対象のファイル
ksm-config.json(またはカスタム構成ファイル名)cache.dat(キャッシュを使用する場合)
追加の設定は不要です。SDKによって自動的に処理されます。
シークレットマネージャーのオプション
パラメータ
型
必須
デフォルト
storage
IKeyValueStorage
はい
queryFunction
QueryFunction
任意
null
allowUnverifiedCertificate
bool
任意
false
proxyUrl
string
任意
null
バインディングライフサイクル
ワンタイムトークンは、クライアント作成時ではなく、最初の GetSecrets() 呼び出し時に引き換えられます。構成を外部ストア (AWS Secrets Manager、Azure Key Vaultなど) に保存する場合は、バインド後に読み出してから永続化します。詳しくは、バインディングライフサイクルをご参照ください。
シークレットの取得
options
SecretsManagerOptions
はい
ストレージとクエリの設定
recordsFilter
string[]
任意
null
レコードの検索フィルタ
レスポンス
型: KeeperSecrets
すべてのKeeperのレコード、または指定したフィルタ条件に一致するレコードを含むオブジェクト
使用例
すべてのシークレットを取得
タイトルでシークレットを取得
options
SecretsManagerOptions
はい
事前に設定されたオプション
recordTitle
string
はい
検索するレコードタイトル
使用例
シークレットから値を取得
パスワードを取得
フィールドタイプはKeeperレコードタイプに基づきます。利用可能なフィールドの詳細な一覧については、コマンダーで record-type-info コマンドをご参照ください。
Keeper表記法を使用して他のフィールドを取得
パラメータ
型
必須
デフォルト
説明
secrets
KeeperSecrets
はい
照会するシークレット
notation
string
はい
ドット記法形式のフィールドクエリ
TOTPコードを取得
パラメータ
型
必須
デフォルト
説明
url
string
はい
TOTP Url
PAMレコードタイプ
PAMレコードは record.Data.type で識別できます。
全11種類のPAMレコードタイプのフィールド定義は、PAMレコードタイプをご参照ください。
リンク済み認証情報
PAMリソースレコードとリンク済み認証情報を含めて取得するには、QueryOptions で requestLinks: true を指定します。
リンクを要求しなかった場合、またはリンクが存在しない場合は record.Links は空です。各SDK共通の説明は、リンク済み認証情報をご参照ください。
シークレットの値を更新
レコード更新コマンドは成功してもローカルのレコードデータが更新されません(特に更新後のレコードリビジョン)。そのため、すでに更新されたレコードに連続して更新を行うと、リビジョンの不一致によって失敗します。各更新バッチの後には、必ず更新されたすべてのレコードを再読み込みしてください。
変更をシークレットに保存
options
SecretsManagerOptions
はい
ストレージとクエリの設定
パラメータ
型
必須
デフォルト
説明
options
SecretsManagerOptions
はい
ストレージとクエリの設定
record
KeeperRecord
はい
更新されたフィールド値を含むレコード
transactionType
UpdateTransactionType?
任意
null
トランザクション(2フェーズ)更新には Rotation を指定
UpdateSecret を使用して、シークレットレコードに加えた変更を保存してください。UpdateSecret を実行するまで、変更はKeeperボルトに反映されません。
フィールド値を更新
fieldType
string
はい
更新するフィールド
value
object
はい
フィールドに設定する値
ランダムなパスワードを生成
length
int
オプション
64
lowercase
int
オプション
0
uppercase
int
オプション
0
digits
int
オプション
0
specialCharacters
int
オプション
0
minLength
int
任意
32
lowercase
int?
任意
null
uppercase
int?
任意
null
digits
int?
任意
null
specialCharacters
int?
任意
null
specialCharacterSet
string
任意
"!@#$%()+;<>=?[]{}^.,
各パラメータは、その文字種をパスワードに含める最小個数を表します。null の場合、ジェネレーターはすべての文字カテゴリにわたってバランスの取れた配分を使用します。specialCharacterSet パラメータは、候補となる特殊文字の集合を制御します。
ファイルのダウンロード
file
KeeperFile
はい
ダウンロードするファイル
レスポンス
型: ByteArray
ダウンロード用のファイルのバイト配列
サムネイルのダウンロード
file
KeeperFile
はい
ダウンロードするサムネイル付きファイル
レスポンス
型: ByteArray
ダウンロード用サムネイルのバイト配列
ファイルのアップロード
ファイルのアップロード:
options
SecretsManagerOptions
はい
ストレージとクエリの設定
ownerRecord
KeeperRecord
はい
アップロードされたファイルを添付するレコード
file
KeeperFileUpload
はい
アップロードするファイル
Keeperファイルアップロードオブジェクトを作成
name
string
はい
アップロード後にKeeperに格納されるファイルの名前
title
string
はい
アップロード後にKeeperに格納されるファイルのタイトル
type
string
はい
ファイルのデータのMIMEタイプ(「application/octet-stream」など)
data
byte[]
はい
バイト型のファイルデータ
使用例
シークレットの作成
要件
共有フォルダのUID
共有フォルダへはシークレットマネージャーアプリケーションからアクセスできること
あなたとシークレットマネージャーアプリケーションに編集権限が付与されていること
共有フォルダには、少なくとも1つのレコードが存在すること
作成されたレコードとレコードのフィールドは正しく書式設定されていること
レコードタイプごとの想定されるフィールド形式については、こちらのページをご参照ください
TOTPフィールドには、KSM SDK以外で生成されたURLのみを指定できます
レコードを作成した後、UploadFileを使用してファイル添付をアップロードできます
options
SecretsManagerOptions
はい
folderUid
string
はい
record
KeeperRecordData
はい
options
SecretsManagerOptions
はい
createOptions
CreateOptions
はい
record
KeeperRecordData
はい
folders
KeeperFolder[]
いいえ
この例では、ログイン値と生成されたパスワードを含むログインタイプのレコードを作成します。
この例では、カスタムのレコードタイプのレコードを作成します。
シークレットの削除
.Net KSM SDKでKeeperボルトのレコードを削除できます。
smOptions
SecretsManagerOptions
はい
recordsUids
string[]
はい
キャッシュ
ネットワークにアクセスできなくなった場合にシークレットへのアクセスを失わないよう、.Net SDKではシークレットをローカルマシン上の暗号化ファイルにキャッシュできます。
キャッシュの設定と構成
.Net SDKでキャッシュを設定するには、SecretsManagerOptions オブジェクトをインスタンス化する際に、2番目の引数としてキャッシュ用のポスト関数を含めます。
.Net SDKには標準のキャッシュ機能 cachingPostFunction が用意されており、キャッシュされたクエリをファイルに保存します。
フォルダ
フォルダは、作成・読み取り・更新・削除 (CRUD) のすべての操作に対応しています。
フォルダの読み取り
フォルダの完全な階層構造をダウンロードします。
レスポンス
型: KeeperFolder[]
使用例
フォルダの作成
CreateOptions とフォルダ名の指定が必要です。CreateOptions 内のフォルダUIDパラメータは必須で、共有フォルダのUIDを指定します。サブフォルダのUIDは任意であり、省略された場合は親 (共有フォルダ) 直下に通常のフォルダが新規作成されます。サブフォルダは必ずしも親共有フォルダの直接の子である必要はなく、階層を深く設定することも可能です。
options
SecretsManagerOptions
はい
事前に設定されたオプション
createOptions
CreateOptions
はい
親およびサブフォルダのUID
folderName
string
はい
フォルダ名
folders
KeeperFolder[]
いいえ
null
CreateOptionsで作成した親とサブフォルダの検索に使用するフォルダのリスト
使用例
フォルダの更新
フォルダのメタデータ (現在はフォルダ名のみ) を更新します。
options
SecretsManagerOptions
はい
事前に設定されたオプション
folderUid
string
はい
フォルダのUID
folderName
string
はい
新しいフォルダ名
folders
KeeperFolder[]
いいえ
null
親フォルダの検索に使用するフォルダのリスト
使用例
フォルダの削除
フォルダのリストを削除します。空でないフォルダを削除するには、forceDeletion フラグを使用します。
options
SecretsManagerOptions
はい
事前に設定されたオプション
folderUids
string[]
はい
フォルダUIDリスト
forceDeletion
bool
いいえ
false
空でないフォルダを強制的に削除
使用例
プロキシのサポート
.NET SDKでは、環境変数を使用する方法と、SecretsManagerOptionsに直接プロキシURLを渡す方法の2通りでプロキシを設定できます。
環境変数による使用例
SecretsManagerOptions にURLを渡す使用例
最終更新

