Keeper表記法

シークレットのフィールドを取得するために使用するクエリ形式

概説

Keeper表記法は、KeeperシークレットマネージャーSDKおよび統合機能によって、Keeperのレコードのフィールドを照会するために使用されます。

表記法

keeper://<TITLE/UID>/<type|title|notes>

keeper://<TITLE/UID>/file/<filename|title|fileUID>

keeper://<TITLE/UID>/<field|custom_field>/<label|type>[[predicate][predicate]]

表記は4つ部分に分かれています。

  • シークレットレコードのタイトルまたはUID

  • レコードデータのセレクタ。以下の3種類があります。

    • 追加のパラメータ(タイプタイトルメモ)を使用しない短いセレクタ

    • ファイルセレクタには、ファイルタイトルUIDのいずれか1つのパラメータを指定できます

    • 完全なセレクタは、フィールドタイプ(fieldまたはcustom_field)を指定し、パラメータを必要とします

  • 完全なセレクタに使用するパラメータは、レコード内の一意のフィールドを選択するフィールドタイプまたはラベルを指定する必要があります。述部はオプションです

  • 述部は、フィールド値のより詳細なオプションインデックスです。最初の述部は値の配列への数値インデックスで、2番目のインデックスはプロパティインデックス(複合値の場合)です - 例: .../custom_field/name[1][middle]

述部

述部を使用すると、値にきめ細かくアクセスできます。値は、1つの値の場合もあれば、値の配列の場合もあり、それぞれの値が文字列の場合もあれば、値の連想配列の場合もあります。

配列 述部が定義されていない場合は、1つの値のみが返されます。 戻り値に値の配列が含まれている場合は、最初の値のみが返されます。 数値を指定する述部が定義されている場合は(phone[0]など)、そのインデックスの値が返されます。 インデックスは0から始まります。

値を指定しない述部が定義されている場合は(phone[]など)、配列値が返されます。

サブフィールド 一部のフィールドは、他のサブフィールドで構成されています。 たとえば、name: {"first:":"John", "last":"Doe"}

サブフィールドにアクセスするには、フィールド名を英数字の述部として含めます。 たとえば、name[last]は上の例では「Doe」を返し、name[first]は「John」を返します。

混合型

配列とサブフィールドを組み合わせた値もあります。 以下に例を示します。

[
    {"number":"555-5555555", "ext":"55"},
    {"number":"777-7777777", "ext":"77"},
    {"number":"888-8888888", "ext": "", "type":"Home"},
    {"number":"999-9999999", "type":"Work"}
]

特定のフィールドを取得するには、2つの述部が必要です。たとえば、述部がphone[1][number]の場合、2番目の値の電話番号が返ります。

名前でレコードを取得

KeeperシークレットマネージャーSDKは、レコード名でレコードを取得するKeeper表記法をサポートしています。

表記文字のエスケープ

レコードのどこかに「/」「\」「[」「]」が含まれている場合は、その文字をバックスラッシュでエスケープする必要があります。これらの記号は、内部セクションおよびインデックスの区切り文字として表記法で使用され、レコードタイトル、フィールドラベル、またはファイル名に含まれる場合はエスケープする必要があります。

例:

タイトル:「Twitterログイン[マーケティング]」 keeper://Twitter Login [Marketing]/fields/password ラベルが「/. links」のURLカスタムフィールド keeper://My Slashdot Links//.links[] (すべてのリンク) keeper://My Slashdot Links//.links[1] (2番目のリンクのみ) ファイル名: 「creds[2].crt」 keeper://My /.Credentials/file/creds[2].crt

名前を使用した環境切替の簡略化

Keeper表記法のレコードタイトル取得機能を使用すると、表記クエリを一度作成すれば、様々なシークレットマネージャーアプリケーションを利用して異なるビルド環境で使用することができます。

例:

この例では、2つの共有フォルダを作成しました。1つは開発環境用、もう1つは本番用です。 それぞれのフォルダ内には、同じ名前のレコードがあります。 これらのレコードは同じ名前ですが、格納されているクレデンシャルは異なります。

それぞれの共有フォルダは、異なるシークレットマネージャーアプリケーションに関連付けられます。

関連するシークレットマネージャー統合で、表記法を使用してクレデンシャルを取得します。たとえば、 keeper://MySQL Creds/fields/password 開発ビルドに使用される統合では、Devフォルダ(この場合は「開発環境(Development Environment)」)に関連付けられたシークレットマネージャーアプリケーションを使用します。その後、本番向けにビルドするには、関連するシークレットマネージャーアプリケーションを「本番環境(Production Environment)」に変更するだけです。コードもスクリプトも変更する必要はありません。

最終更新