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

ダウンロードとインストール
GitHubからインストール
Go SDKの最新リリースは、こちらのGithubページからで入手できます。
ソースコード
Goのソースコードは、GitHubリポジトリで入手できます。
SDKの使用
初期化
トークンのみを使用して (後で使用するために) 新しい設定を生成するには、トークンをバインドして、 config.json に完全に読み込むための読み取り操作が少なくとも1回必要です。
シークレットを取得するには、まずシークレットマネージャークライアントを初期化します。
token
string
はい
Keeperシークレットマネージャーのワンタイムトークン
hostName
string
はい
接続先のサーバー
verifySslCerts
bool
はい
SSL証明書を検証するか否かを選択します
config
IKeyValueStorage
はい
ファイルストレージの設定
NewSecretsManager関数は、指定したパラメータでシークレットマネージャーを初期化し、ClientOptions構造体の設定を格納します。
シークレットの取得
uids
[]string
はい
空のスライス
取得するUIDレコード
レスポンス
型: []*Record
指定したUIDを持つレコード、またはUIDを指定していない場合は、シークレットマネージャークライアントと共有されるすべてのレコード
使用例
すべてのシークレットを取得
フィルタでシークレットを取得
タイトルでシークレットを取得
recordTitle
string
はい
検索するレコードタイトル
使用例
シークレットから値を取得
パスワードを取得
フィールドタイプはKeeperレコードタイプに基づきます。利用可能なフィールドの詳細な一覧については、コマンダーで record-type-info コマンドをご参照ください。
Keeper表記法を使用して値を取得
パラメータ
型
必須
デフォルト
説明
query
String
はい
指定したフィールドの値を取得するためのKeeper表記法を使用したクエリ
戻り値
型: []interface{}
照会したフィールドの値
TOTPコードを取得
パラメータ
型
必須
デフォルト
説明
url
string
はい
TOTP Url
シークレットを更新
パスワードを更新
password
string
はい
レコードに設定する新しいパスワード
他のフィールドを更新
field
string
はい
更新するフィールドの名前
value
string
はい
フィールドに設定する値
ボルトのシークレットを更新
レコードを保存して、変更内容を表示
record
KeeperRecord
はい
変更の保存が必要な更新されたフィールドのあるレコード
使用例
パスワードを更新
他のフィールドを更新
レコードの各フィールドタイプは、クラスに相当します。 フィールドの値に正しくアクセスするために、フィールドを対応するクラスにキャストします。 フィールドタイプの一覧は、レコードタイプのドキュメントをご確認ください。
ランダムなパスワードを生成
length
int
はい
lowercase
int
はい
uppercase
int
はい
digits
int
はい
specialCharacters
int
はい
各パラメータは、使用する文字の種類の最小数を示します。たとえば、uppercaseは、使用する大文字の最小数を示します。
ファイルのダウンロード
title
string
はい
ダウンロードするファイルの名前
path
string
はい
ファイルの保存先のパス
レスポンス
型: bool
ファイルの保存が成功したか否か
使用例
ファイルのアップロード
ownerRecord
Record
はい
アップロードされたファイルを添付するレコード
file
KeeperFileUpload
はい
アップロードするファイル
name
string
はい
アップロード後にKeeperに格納されるファイルの名前
title
string
はい
アップロード後にKeeperに格納されるファイルのタイトル
type
string
はい
ファイルのデータのMIMEタイプ(「application/octet-stream」など)
data
[]byte
はい
バイト型のファイルデータ
使用例
シークレットの作成
前提条件:
共有フォルダのUID
共有フォルダには、シークレットマネージャーアプリケーションからアクセスできる必要があります
あなたとシークレットマネージャーアプリケーションには編集権限が必要です
共有フォルダには、少なくとも1つのレコードが存在する必要があります
作成されたレコードとレコードのフィールドは正しく書式設定されている必要があります
レコードタイプごとの適切なフィールド形式については、このドキュメントをご参照ください
TOTPフィールドには、KSM SDK以外で生成されたURLのみを指定できます
シークレットマネージャーSDKで作成したKeeperのレコードは、現時点ではファイル添付をサポートしていません
recordUid
string
いいえ
自動生成されたランダムなUID
folderUid
string
はい
record
*RecordCreate
はい
この例では、ログイン値と生成されたパスワードを含むログインタイプのレコードを作成します。
この例では、カスタムのレコードタイプのレコードを作成します。
シークレットの削除
Go KSM SDKでKeeperボルトのレコードを削除できます。
recordUids
[]string
はい
キャッシュ
ネットワークアクセスが失われたときにシークレットにアクセスできなくならないようにするために、Go SDKを使用してシークレットを暗号化されたファイルでローカルマシンにキャッシュできます。
キャッシュの設定と構成
Go SDKでキャッシュを設定するには、SetCache(cache ICache)関数を使用して、内蔵メモリもしくはファイルベースのキャッシュのいずれかにキャッシュを設定するか、または独自の実装を使用します。
Go SDKには利便性を考慮して、メモリベースのキャッシュとファイルベースのキャッシュが組み込まれています。
フォルダ
フォルダは完全なCRUD (作成、読み取り、更新、削除操作) をサポートしています。
追加のパラメータ (バッチ処理の高速化などに有効なKeeperFolderのリスト) を指定できるメソッドもあります。パラメータが見つからないか空の場合は、呼び出されるたびに完全なフォルダメタデータをそれぞれダウンロードします。
フォルダの読み取り
フォルダの完全な階層構造をダウンロードします。
レスポンス
型: []*KeeperFolder, error
使用例
フォルダの作成
CreateOptionsとフォルダ名の指定が必要です。CreateOptionsはフォルダのUIDパラメータ(共有フォルダのUID)が必須ですが、サブフォルダのUIDはオプションであり、指定されていない場合は、通常の新しいフォルダが親 (共有フォルダ) の直下に作成されます。サブフォルダは、親の共有フォルダの直接の下位オブジェクトである必要はありません。深さレベルは様々な場合があります。
createOptions
CreateOptions
はい
親およびサブフォルダのUID
folderName
string
はい
フォルダ名
folders
[]*KeeperFolder
いいえ
CreateOptionsで作成した親とサブフォルダの検索に使用するフォルダのリスト
使用例
フォルダの更新
フォルダのメタデータ (現在はフォルダ名のみ) を更新します。
folderUid
string
はい
フォルダのUID
folderName
string
はい
新しいフォルダ名
folders
[]*KeeperFolder
いいえ
親フォルダの検索に使用するフォルダのリスト
使用例
フォルダの削除
フォルダのリストを削除します。空でないフォルダを削除するには、forceDeletionフラグを使用します。
forceDeletionを使用する場合は、親フォルダと子フォルダのUIDを一緒に送信しないでください。削除する順序によっては、エラーが発生する可能性があります。_たとえば、_親が子を先に強制削除した場合。リストが必ずしもFIFO順で処理される保証はありません。
ボルトに存在しないフォルダのUIDやKSMアプリケーションで共有されていないフォルダのUIDはエラーになりません。
folderUids
[]string
はい
フォルダUIDリスト
forceDeletion
bool
はい
空でないフォルダを強制的に削除
使用例
最終更新

