For the complete documentation index, see llms.txt. This page is also available as Markdown.

リンク済み認証情報

シークレットマネージャーSDKでPAMリソースレコードにリンクされた認証情報を取得する方法

概要

KeeperのレコードはGraphSyncを通じて相互にリンクできます。最も一般的な用途はPrivileged Access Managerです。PAMリソースレコード (PAMマシン、データベース、ディレクトリ、またはリモートブラウザ) は、そのリソースを操作する pamUser レコードとリンクされ、各ユーザーが許可されている操作を示すメタデータも含まれます。

シークレットマネージャーSDKでは各レコードからこれらのリンクを取得できるため、たとえば特定のマシンの管理ユーザーと接続用認証情報を特定できます。

リンクは要求した場合にのみ返されます。リンクの取得は応答サイズと処理時間を増やすため、必要な場合にのみ要求してください。

リンク済みレコードの取得

シークレットクエリに request-links オプションを渡します。各SDKではクエリオプションオブジェクトで指定します。言語ごとのメソッド名とフラグ名は、以下のクロスSDKリファレンスをご参照ください。

from keeper_secrets_manager_core import SecretsManager
from keeper_secrets_manager_core.storage import FileKeyValueStorage
from keeper_secrets_manager_core.dto.payload import QueryOptions

secrets_manager = SecretsManager(config=FileKeyValueStorage('ksm-config.json'))

# request links along with the records
# QueryOptions takes records_filter and folders_filter first; pass None for both to fetch everything
query = QueryOptions(records_filter=None, folders_filter=None, request_links=True)
records = secrets_manager.get_secrets_with_options(query)

for record in records:
    for link in record.links:
        print(f"{record.title} ({record.type}) -> {link['recordUid']}")
        if link.get('path'):
            print(f"  path: {link['path']}")

リンクはリソースレコード (PAMマシン/データベース/ディレクトリ/リモートブラウザ) に表示されます。pamUser レコード自身の links は常に空です。逆参照はありません。ユーザーが操作するすべてのマシンを見つけるには、リソースレコードを順に確認してください。

各リンクは3つのフィールドを持つオブジェクトです。

フィールド
説明

recordUid

String

リンク先レコードのUID

data

String (optional)

Base64エンコードされたリンクペイロード。エッジにデータがない場合は null

path

String (optional)

data の意味を識別。基本的なユーザーリンクの場合は null

path の値によって data の解釈方法が決まります。

path

data の内容

備考

null / empty

ユーザーリンクメタデータ、JSON (snake_case)

recordUid はリンク先の pamUser。管理者/接続/IAM/ローテーションフラグ

meta

リソース自身の設定、JSON (camelCase)

recordUid はリソース自身のUID (自己参照)

ai_settings

暗号化Blob

リソースレコード自身のキーで復号

jit_settings

暗号化Blob

ジャストインタイムアクセス構成。レコード自身のキーで復号

domain

リンクエッジ

マシンからディレクトリへの参照。JITルックアップで使用

ユーザーリンクデータ (path が null)

デコード後のJSON。キーは snake_case。すべてのフィールドは任意。欠落時は false/未設定として扱います。

メタリンクデータ (path が "meta")

デコード後のJSON。キーは camelCase。

クロスSDKリファレンス

リンク済みレコードに対応するすべてのSDKは同じワイヤーフィールドを公開します。表面は言語ごとに異なります。

クエリメソッド
Request-linksフラグ
リンクアクセサ
リンク形状

Java / Kotlin

getSecrets2(opts, qopts)

requestLinks

record.getLinks()

型付き KeeperRecordLink (22ヘルパーメソッド)

Python

get_secrets_with_options(qopts)

request_links

record.links

dictのリスト

JavaScript

getSecrets2(opts, qopts)

requestLinks

record.links

{recordUid, data?, path?}

.NET

GetSecrets2(opts, qopts)

RequestLinks

record.Links

型付き KeeperRecordLink (プロパティ)

Go

GetSecretsWithOptions(qopts)

RequestLinks

record.Links

型付き RecordLink struct

Rust

get_secrets_with_options(qopts)

request_links

record.links

Vec<HashMap<String, Value>>

現時点でリンクデータに対する型付きアクセサメソッドを提供しているのはJava/KotlinSDKのみです。他のSDKは生の {recordUid, data, path} 構造を返すため、data の解析は利用側で行います。型付きAPIの完全な一覧は、Javaリンク済み認証情報リファレンスをご参照ください。

メソッドリファレンス (Java / Kotlin)

型付き KeeperRecordLink メソッドのリファレンスです。他のSDKも同じ基盤ワイヤーフィールドを読み取ります。

メソッド
戻り値
説明

getRecordUid()

String

対象レコードUID

getPath()

String

リンクメタデータタイプ

getData()

String

生のBase64リンクデータ

isAdminUser()

boolean

ユーザーに管理者権限あり

isLaunchCredential()

boolean

接続用認証情報

allowsRotation()

boolean

パスワードローテーション許可

allowsConnections()

boolean

接続許可

allowsPortForwards()

boolean

ポートフォワーディング許可

allowsSessionRecording()

boolean

セッション記録有効

allowsTypescriptRecording()

boolean

Typescript記録有効

allowsRemoteBrowserIsolation()

boolean

RBI許可

rotatesOnTermination()

boolean

セッション終了時にローテーション

getDecodedData()

String

復号なしのBase64デコード

getDecryptedData(byte[])

String

レコードキーでデータを復号

getAiSettingsData(byte[])

Map

AI設定へのアクセス

getJitSettingsData(byte[])

Map

JIT設定へのアクセス

getSettingsForPath(String, byte[])

Map

パス指定による汎用設定アクセス

重要な注意事項

  • linksToRemove はファイルを削除し、レコードリンクは削除しません。 更新オプションの linksToRemove パラメーターはファイル添付を削除します。GraphSyncレコードリンクは削除しません。

  • 暗号化: ai_settings および jit_settings ペイロードはリソースレコード自身のキーで暗号化されています。頂点/キーチェーンキーではなく、そのキーで復号してください。

  • パフォーマンス: リンクの要求は応答サイズと処理時間を増やします。可能な限りレコードをフィルターしてください。

最終更新