Go SDK

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

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

GitHubからインストール

Go SDKの最新リリースは、こちらのGithubページからで入手できます。

ソースコード

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

SDKの使用

初期化

シークレットを取得するには、まずシークレットマネージャークライアントを初期化します。

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

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表記法を使用して値を取得

Keeper表記法の形式と機能については、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のみを指定できます

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

recordUid

string

いいえ

自動生成されたランダムなUID

folderUid

string

はい

record

*RecordCreate

はい

シークレットの削除

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

パラメータ
必須

recordUids

[]string

はい

キャッシュ

ネットワークアクセスが失われたときにシークレットにアクセスできなくならないようにするために、Go SDKを使用してシークレットを暗号化されたファイルでローカルマシンにキャッシュできます。

キャッシュの設定と構成

Go SDKでキャッシュを設定するには、SetCache(cache ICache)関数を使用して、内蔵メモリもしくはファイルベースのキャッシュのいずれかにキャッシュを設定するか、または独自の実装を使用します。

Go SDKには利便性を考慮して、メモリベースのキャッシュとファイルベースのキャッシュが組み込まれています。

フォルダ

フォルダは完全なCRUD (作成、読み取り、更新、削除操作) をサポートしています。

フォルダの読み取り

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

レスポンス

型: []*KeeperFolder, error

使用例

フォルダの作成

CreateOptionsとフォルダ名の指定が必要です。CreateOptionsはフォルダのUIDパラメータ(共有フォルダのUID)が必須ですが、サブフォルダのUIDはオプションであり、指定されていない場合は、通常の新しいフォルダが親 (共有フォルダ) の直下に作成されます。サブフォルダは、親の共有フォルダの直接の下位オブジェクトである必要はありません。深さレベルは様々な場合があります。

パラメータ
必須
説明

createOptions

CreateOptions

はい

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

folderName

string

はい

フォルダ名

folders

[]*KeeperFolder

いいえ

CreateOptionsで作成した親とサブフォルダの検索に使用するフォルダのリスト

使用例

フォルダの更新

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

パラメータ
必須
説明

folderUid

string

はい

フォルダのUID

folderName

string

はい

新しいフォルダ名

folders

[]*KeeperFolder

いいえ

親フォルダの検索に使用するフォルダのリスト

使用例

フォルダの削除

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

パラメータ
必須
説明

folderUids

[]string

はい

フォルダUIDリスト

forceDeletion

bool

はい

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

使用例

最終更新