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

レコードフィールドクラス

Keeperシークレットマネージャー Go SDKで参照できる各フィールド型クラスの説明

Go SDK v1.7.0 - Go 1.16以上が必要です。本ページでは標準フィールドおよびPAM用フィールドの型を取り扱います。SDKに登録されているフィールド型文字列の一覧は、record_data.go 内の getKeeperRecordFieldswitch をご参照ください。

Keeperシークレットマネージャー Go SDKでは、レコードフィールドは型付きのGoの構造体として表現されます。各フィールド型は基底型 KeeperRecordField を埋め込みます。

レコードフィールドへのアクセス

レコードフィールドには GetFieldsByType 関数を使用します。

GetFieldsByType の使い方

GetFieldsByType(fieldType string) []map[string]interface{}

指定した型に一致する標準フィールドをすべて、生のマップのスライスとして返します。自動デシリアライズは行われません。マップのキーと型アサーションで値にアクセスするか、型付き構造体へアンマーシャルします (例2: 電話・住所などの複合フィールド)。

// レコードからログインフィールドを取得
if loginFields := record.GetFieldsByType("login"); len(loginFields) > 0 {
  loginField := loginFields[0]
  // loginField は map[string]interface{} — キーで値にアクセス
  if values, ok := loginField["value"].([]interface{}); ok && len(values) > 0 {
    loginValue := values[0].(string)
    fmt.Printf("Login: %s\n", loginValue)
  }
}

GetFieldValueByType の使い方 (シンプルに扱う場合)

import ksm "github.com/keeper-security/secrets-manager-go/core"

// ログイン値を直接取得
login := record.GetFieldValueByType("login")
fmt.Printf("Login: %s\n", login)

// パスワード値を取得
password := record.GetFieldValueByType("password")
fmt.Printf("Password: %s\n", password)

GetFieldValueByType は単純なフィールドの文字列値を返します。電話・住所などの複合フィールドには、GetFieldsByType とJSONアンマーシャル、あるいは下記の例2のパターンを使用してください。

フィールド型クラス参照

KeeperRecordField

すべてのレコードフィールドは KeeperRecordField を埋め込み、LabelType のフィールドを持ちます。

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Type

string

はい

""

Login

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

PasswordComplexity

フィールド値

名前
必須
デフォルト
説明

Length

int

いいえ

0

パスワード全体の文字数

Caps

int

いいえ

0

大文字の最小文字数

Lowercase

int

いいえ

0

小文字の最小文字数

Digits

int

いいえ

0

数字の最小文字数

Special

int

いいえ

0

記号の最小文字数

Password

フィールド値

名前

必須

デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

EnforceGeneration

bool

いいえ

false

Value

[]string

はい

Url

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

FileRef

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

Value

[]string

はい

OneTimeCode

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

OneTimePassword

JSONのフィールド型文字列は "otp" です (OneTimeCode"oneTimeCode" とは別です)。

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

Name

フィールド値

名前
必須
デフォルト

First

string

いいえ

""

Middle

string

いいえ

""

Last

string

いいえ

""

Names

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]Name

はい

BirthDate

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]int64

はい

Date

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]int64

はい

ExpirationDate

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]int64

はい

Text

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

SecurityQuestion

フィールド値

名前
必須
デフォルト

Question

string

いいえ

""

Answer

string

いいえ

""

SecurityQuestions

フィールド値

名前

必須

デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]SecurityQuestion

はい

Multiline

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

Email

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

CardRef

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

AddressRef

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

PinCode

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

Phone

フィールド値

名前
必須
デフォルト

Region

string

いいえ

""

Number

string

いいえ

""

Ext

string

いいえ

""

Type

string

いいえ

""

Phones

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]Phone

はい

Secret

フィールド値

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

SecureNote

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

AccountNumber

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

PaymentCard

フィールド値

名前
必須
デフォルト

CardNumber

string

いいえ

""

CardExpirationDate

string

いいえ

""

CardSecurityCode

string

いいえ

""

PaymentCards

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]PaymentCard

はい

BankAccount

フィールド値

名前
必須
デフォルト

AccountType

string

いいえ

""

RoutingNumber

string

いいえ

""

AccountNumber

string

いいえ

""

OtherType

string

いいえ

""

BankAccounts

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]BankAccount

はい

KeyPair

名前
必須
デフォルト

PublicKey

string

いいえ

""

PrivateKey

string

いいえ

""

KeyPairs

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]KeyPair

はい

Host

フィールド値

名前
必須
デフォルト

Hostname

string

いいえ

""

Port

string

いいえ

""

Hosts

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]Host

はい

Address

フィールド値

名前
必須
デフォルト

Street1

string

いいえ

""

Street2

string

いいえ

""

City

string

いいえ

""

State

string

いいえ

""

Country

string

いいえ

""

Zip

string

いいえ

""

Addresses

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]Address

はい

LicenseNumber

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]string

はい

RecordRef

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

Value

[]string

はい

Checkbox

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

Value

[]bool

はい

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

Value

[]string

はい

Schedule

フィールド値

名前
必須
デフォルト
説明

Type

string

いいえ

""

スケジュール種別 (例: "weekly")

Cron

string

いいえ

""

Cron式

Time

string

いいえ

""

時刻 (非推奨の UtcTime に代わる)

Tz

string

いいえ

""

IANAタイムゾーン (例: "America/Chicago")

Weekday

string

いいえ

""

週次スケジュールの曜日

IntervalCount

int

いいえ

0

繰り返し間隔の回数

Schedules

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

Value

[]Schedule

はい

DirectoryType

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

Value

[]string

はい

DatabaseType

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

Value

[]string

はい

PamHostname

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]Host

はい

ValueHosts と同じ Host 構造体を使用します。Host をご参照ください。

AllowedSettings

フィールド値

名前
必須
デフォルト

Connections

bool

いいえ

false

PortForwards

bool

いいえ

false

Rotation

bool

いいえ

false

SessionRecording

bool

いいえ

false

TypescriptRecording

bool

いいえ

false

PamResource

フィールド値

名前
必須
デフォルト

ControllerUid

string

いいえ

""

FolderUid

string

いいえ

""

ResourceRef

[]string

いいえ

nil

AllowedSettings

AllowedSettings

いいえ

PamResources

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

Value

[]PamResource

はい

Script

フィールド値

名前
必須
デフォルト
説明

FileRef

string

いいえ

""

添付スクリプトファイルのUID

Command

string

いいえ

""

実行するシェルコマンド

RecordRef

[]string

いいえ

nil

スクリプトのコンテキストとして渡すレコードのUID

Scripts

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

PrivacyScreen

bool

いいえ

false

Value

[]Script

はい

PamSettingsPortForward

フィールド値

名前
必須
デフォルト

ReusePort

bool

いいえ

false

Port

string

いいえ

""

PamSettingsConnection

フィールド値

名前
必須
デフォルト

Protocol

string

いいえ

""

UserRecords

[]string

いいえ

nil

Security

string

いいえ

""

IgnoreCert

bool

いいえ

false

ResizeMethod

string

いいえ

""

ColorScheme

string

いいえ

""

PamSetting

フィールド値

名前
必須
デフォルト

PortForward

[]PamSettingsPortForward

いいえ

nil

Connection

[]PamSettingsConnection

いいえ

nil

PamSettings

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

Value

[]PamSetting

はい

PamRbiConnection

フィールド値

名前
必須
デフォルト

Protocol

string

いいえ

""

UserRecords

[]string

いいえ

nil

AllowUrlManipulation

bool

いいえ

false

AllowedUrlPatterns

string

いいえ

""

AllowedResourceUrlPatterns

string

いいえ

""

HttpCredentialsUid

string

いいえ

""

AutofillConfiguration

string

いいえ

""

PamRemoteBrowserSetting

フィールド値

名前
必須
デフォルト

Connection

PamRbiConnection

いいえ

PamRemoteBrowserSettings

フィールド値

名前
必須
デフォルト

Label

string

いいえ

""

Required

bool

いいえ

false

Value

[]PamRemoteBrowserSetting

はい

KeeperFileData

フィールド値

名前
説明

Title

string

ファイル添付の表示タイトル

Name

string

元のファイル名

Type

string

MIMEタイプ

Size

int64

バイト単位のファイルサイズ

LastModified

int64

最終更新のタイムスタンプ (Unixミリ秒)

KeeperFileData はファイルアップロード時にサーバー側で埋めます。各フィールドは omitempty のため、SDKが特定のフィールドを必須とみなすことはありません。

フィールドアクセスのベストプラクティス

v1.7.0で改善: 欠損や破損したフィールドデータがあっても、SDKは処理を失敗させずに継続します。

安全なフィールドアクセスのパターン

レコードフィールドにアクセスするときは、以下の点を確認します。

  1. フィールドの有無 - レコードにそのフィールドが存在しない場合があります

  2. 値の有無 - フィールドはあっても値が空の場合があります

  3. 型アサーション - 値が想定外の型で格納されている場合があります

推奨パターン:

GetFieldValueByType を使う場合 (より簡潔):

破損したフィールドの扱い

レコードに暗号化が破損したフィールドが含まれる場合:

  • 有効なフィールドには引き続きアクセスできます

  • 破損したフィールドは警告を出して黙ってスキップされます

  • 個々のフィールド失敗で例外は発生しません

例:

よくあるフィールドアクセスのパターン

例1: ログインレコードからすべてのフィールドを取得

例2: 複合フィールド (電話・住所) へのアクセス

例3: アクセス前にフィールドの有無を確認

関連ドキュメント

最終更新