from keeper_secrets_manager_core import SecretsManager
from keeper_secrets_manager_core.storage import FileKeyValueStorage
oneTimeToken = "[One Time Access Token]"
secrets_manager = SecretsManager(
# ワンタイムトークンは一度しか使用できません - 以後は、生成された設定ファイルを使用します
token=oneTimeToken,
config=FileKeyValueStorage('ksm-config.json')
)
# すべてのパスワードレコードを取得(設定も初期化)
records = secrets_manager.get_secrets()
using System;
using SecretsManager;
var oneTimeToken = "[One Time Access Token]";
var storage = new LocalConfigStorage("ksm-config.json");
try {
// ワンタイムトークンは一度しか使用できません - 以後は、生成された設定ファイルを使用します
SecretsManagerClient.InitializeStorage(storage, oneTimeToken);
var options = new SecretsManagerOptions(storage);
// すべてのパスワードレコードを取得(設定も初期化)
var records = (await SecretsManagerClient.GetSecrets(options)).Records;
Console.WriteLine($"Received {records.Length} record(s)");
// 最初のレコードからパスワードを取得
var firstRecord = records[0];
var password = records[0].FieldValue("password").ToString();
Console.WriteLine($"Password: {password}");
} catch (Exception e) {
Console.WriteLine(e);
}
from keeper_secrets_manager_core import SecretsManager
from keeper_secrets_manager_core.storage import FileKeyValueStorage
secrets_manager = SecretsManager(
config=FileKeyValueStorage('ksm-config.json')
)
record_title = "My Record"
record = secrets_manager.get_secret_by_title(record_title)
if record:
print(record.uid + " - " + record.title)
print("\tLogin: " + record.field('login')[0])
print("\tPassword: " + record.field('password')[0])
else:
print("No record found with title: " + record_title)
using System;
using System.Threading.Tasks;
using SecretsManager;
private static async Task getOneIndividualSecret()
{
var storage = new LocalConfigStorage("ksm-config.json");
var options = new SecretsManagerOptions(storage);
var records = (await SecretsManagerClient.GetSecretsByTitle(
options, "My Credentials")
).Records;
foreach (var record in records)
{
Console.WriteLine(record.RecordUid + " - " + record.Data.title);
foreach (var field in record.Data.fields)
{
Console.WriteLine("\t" + field.label + " (" + field.type + "): [" + String.Join(", ", field.value) + "]");
}
}
}
package main
// シークレットマネージャーのインポート
import ksm "github.com/keeper-security/secrets-manager-go/core"
func main() {
options := &ksm.ClientOptions{
// ワンタイムトークンは一度しか使用できません - 以後は、生成された設定ファイルを使用します
Config: ksm.NewFileKeyValueStorage("ksm-config.json")}
sm := ksm.NewSecretsManager(options)
// タイトルで個々のレコードを取得
allRecords, _ := ksm.GetSecretsByTitle("My Credentials")
for _, record := range allRecords {
println("UID", record.Uid, ", title [", record.Title(), "]")
}
}
from keeper_secrets_manager_core import SecretsManager
from keeper_secrets_manager_core.storage import FileKeyValueStorage
secrets_manager = SecretsManager(
config=FileKeyValueStorage('ksm-config.json')
)
# UIDで個々のシークレットを取得
UID_FILTER = 'XXX'
secret = secrets_manager.get_secrets([UID_FILTER])[0]
# すべてのファイルを/tmpフォルダに保存(存在しない場合はフォルダを作成)
for file in secret.files:
print("file: %s" % file)
file.save_file("/tmp/" + file.name, True)
using System;
using System.IO;
using System.Threading.Tasks;
using SecretsManager;
private static async Task downloadAFileAttachment()
{
var storage = new LocalConfigStorage("ksm-config.json");
var options = new SecretsManagerOptions(storage);
// UIDでレコードを取得
var records = (await SecretsManagerClient.GetSecrets(
options, new[] { "XXX" })
).Records;
foreach (var record in records)
{
// 最初のレコードからファイルをダウンロード
var file = record.GetFileByName("acme.cer");
if (file != null)
{
var fileBytes = SecretsManagerClient.DownloadFile(file);
// ディスクにバイトを書き込む
await File.WriteAllBytesAsync(file.Data.name, fileBytes);
}
}
}
from keeper_secrets_manager_core import SecretsManager
from keeper_secrets_manager_core.storage import FileKeyValueStorage
from keeper_secrets_manager_core.core import KeeperFileUpload
secrets_manager = SecretsManager(
config=FileKeyValueStorage('ksm-config.json')
)
# UIDによって個々のシークレットを取得し、ファイルを添付
UID_FILTER = 'XXX'
owner_record= secrets_manager.get_secrets([UID_FILTER])[0]
# アップロード用のファイルデータを準備
my_file = KeeperFileUpload.from_file("./myFile.json", "myfile.json", "My File")
# 所有者のレコードに添付されたファイルをアップロード
upload_file(owner_record, file: my_file)
using System;
using System.IO;
using System.Threading.Tasks;
using SecretsManager;
private static async Task uploadFile()
{
// ストレージとオプションを初期化
var storage = new LocalConfigStorage("ksm-config.json");
var options = new SecretsManagerOptions(storage);
// ファイルを添付するレコードを取得
var records = (await SecretsManagerClient.GetSecrets(
options, new[] { "XXX" })
).Records;
var ownerRecord = records[0];
// アップロードするファイルデータを取得
var bytes = await File.ReadAllBytesAsync("my-file.json");
var myFile = new KeeperFileUpload(
"my-file1.json",
"My File",
null,
bytes
);
// 選択したレコードにファイルをアップロード
await SecretsManagerClient.UploadFile(options, firstRecord, myFile);
}
from keeper_secrets_manager_core import SecretsManager
from keeper_secrets_manager_core.storage import FileKeyValueStorage
secrets_manager = SecretsManager(
config=FileKeyValueStorage('ksm-config.json')
)
# UIDで個々のシークレットを取得
UID_FILTER = ['XXX']
record = secrets_manager.get_secrets(UID_FILTER)[0]
# 新しいパスワードをシークレットに設定
record.set_standard_field_value('password', 'NewPassword123')
# シークレットの変更をKeeperボルトに保存
secrets_manager.save(record)
using System.Threading.Tasks;
using SecretsManager;
private static async Task updateAPassword()
{
var storage = new LocalConfigStorage("ksm-config.json");
var options = new SecretsManagerOptions(storage);
var records = (await SecretsManagerClient.GetSecrets(
options, new[] { "XXX" })
).Records;
foreach (var record in records)
{
// 「password」フィールドに新しい値を設定
record.UpdateFieldValue("password", "NewP4$$w0Rd");
// フィールドの新しい値をKeeperバックエンドに反映
await SecretsManagerClient.UpdateSecret(options, record);
}
}
package main
// シークレットマネージャーのインポート
import ksm "github.com/keeper-security/secrets-manager-go/core"
func main() {
options := &ksm.ClientOptions{
// ワンタイムトークンは一度しか使用できません - 以後は、生成された設定ファイルを使用します
Config: ksm.NewFileKeyValueStorage("ksm-config.json")}
sm := ksm.NewSecretsManager(options)
// すべてのパスワードレコードを取得(設定も初期化)
allRecords, _ := sm.GetSecrets([]string{"[Record UID]"})
for _, record := range allRecords {
record.SetPassword("NewP4$$w0Rd") // 新しいパスワードをシークレットに設定
record.RawJson = ksm.DictToJson(record.RecordDict) // JSONをサーバーに送信するため設定が必要
sm.Save(record) // シークレットの変更をKeeperボルトに保存
}
}
using System.Threading.Tasks;
using SecretsManager;
private static async Task generateNewPassword()
{
var storage = new LocalConfigStorage("ksm-config.json");
var options = new SecretsManagerOptions(storage);
var records = (await SecretsManagerClient.GetSecrets(
options, new[] { "XXX" })
).Records;
foreach (var record in records)
{
// 新しいランダムなパスワードを生成
var password = CryptoUtils.GeneratePassword();
// 「password」フィールドに新しい値を設定
record.UpdateFieldValue("password", password);
// フィールドの新しい値をKeeperバックエンドに反映
await SecretsManagerClient.UpdateSecret(options, record);
}
}
import com.keepersecurity.secretsManager.core.*;
import java.util.List;
public class KSMSample {
// 新しいレコードが格納されるフォルダ
static String folderUid = "[FOLDER UID]";
public static void addLoginRecord(){
LocalConfigStorage storage = new LocalConfigStorage("ksm-config.txt");
SecretsManagerOptions options = new SecretsManagerOptions(storage);
KeeperSecrets secrets = SecretsManager.getSecrets(options);
KeeperRecordData newRecordData = new KeeperRecordData(
"Sample Example KSM Record",
"login",
List.of(
new Login("username@email.com"),
new Password("Pa$$word123")
),
null,
"\tThis record was created\n\tvia KSM Documentation Java Example"
);
SecretsManager.createSecret(options, folderUid, newRecordData, secrets);
}
public static void main(String[] args) {
addLoginRecord();
}
}
// ログインのレコードとフィールドを作成
let newRec = {
"title":"My JavaScript Record 1",
"type": "login",
"fields": [
{
"type": "login", "value": [ "My Username" ]
},
{
"type": "password", "value": [ await generatePassword() ]
}
],
"notes":"This record was createdvia KSM"
}
// 新しいレコードをKeeperボルトに保存
let newRecUid = await createSecret(options, "[FOLDER UID]", newRec)
from keeper_secrets_manager_core import SecretsManager
from keeper_secrets_manager_core.storage import FileKeyValueStorage
# RecordCreateメソッドのインポート
from keeper_secrets_manager_core.dto.dtos import RecordCreate
# 新しいログインレコードを作成
new_login_record = RecordCreate('login', "Sample KSM Record")
# ログインフィールドとパスワードフィールドに入力
new_login_record.fields = [
RecordField(field_type='login', value='username@email.com'),
RecordField(field_type='password', value=generate_password())
]
# メモに入力
new_login_record.notes = 'This is a Python record creation example'
# 新しいレコードを作成
secrets_manager.create_secret('[FOLDER UID]', new_login_record)
using System;
using System.Threading.Tasks;
using SecretsManager;
private static async Task createASecret()
{
var folderUid = "[FOLDER UID]";
var storage = new LocalConfigStorage("ksm-config.json");
var options = new SecretsManagerOptions(storage);
// 新しいログインレコードを作成
var newRecord = new KeeperRecordData();
newRecord.type = "login";
newRecord.title = "Sample KSM Record from Docs Example (C#)";
// レコードフィールドに値を入力
newRecord.fields = new[]
{
new KeeperRecordField { type = "login", value = new[] { "username@email.com" } },
new KeeperRecordField { type = "password", value = new[] { CryptoUtils.GeneratePassword() } },
};
// レコードのメモに入力
newRecord.notes = "This record was created via KSM .NET Example";
// 新しいレコードをKeeperボルトに保存
var recordUid = await SecretsManagerClient.CreateSecret(options, folderUid, newRecord);
Console.WriteLine("New record UID = [" + recordUid + "]");
}
package main
// Secrets Managerのインポート
import ksm "github.com/keeper-security/secrets-manager-go/core"
func main() {
folderUid := "[FOLDER UID]"
options := &ksm.ClientOptions{
// ワンタイムトークンは一度しか使用できません - 以後は、生成された設定ファイルを使用します
Config: ksm.NewFileKeyValueStorage("ksm-config.json")}
sm := ksm.NewSecretsManager(options)
// 新しいログインレコードを作成
newLoginRecord := ksm.NewRecordCreate("login", "Sample KSM Record from Docs Example (GoLang)")
// ログインフィールドとパスワードフィールドに入力
password, _ := ksm.GeneratePassword(32, 0, 0, 0, 0)
newLoginRecord.Fields = append(newLoginRecord.Fields,
ksm.NewLogin("username@email.com"),
ksm.NewPassword(password))
// メモに入力
newLoginRecord.Notes = "This record was created via KSM GoLang Example"
// 新しいレコードをKeeperボルトに保存
recordUid, _ := sm.CreateSecretWithRecordData("", folderUid, newLoginRecord)
println("New record UID = [", recordUid, "]")
}
from keeper_secrets_manager_core import SecretsManager
from keeper_secrets_manager_core.storage import FileKeyValueStorage
# シークレットマネージャーを設定
secrets_manager = SecretsManager(
token='<One Time Access Token>',
config=FileKeyValueStorage('ksm-config.json')
)
# レコードUIDで特定のシークレットを削除
secret = secrets_manager.delete_secret('EG6KdJaaLG7esRZbMnfbFA')
using SecretsManager;
// シークレットマネージャーを設定
var storage = new LocalConfigStorage("ksm-config.json");
//SecretsManagerClient.InitializeStorage(storage, "<One Time Access Token>");
var smOptions = new SecretsManagerOptions(storage);
// レコードUIDで特定のシークレットを削除
await SecretsManagerClient.DeleteSecret(smOptions, new string[] {"EG6KdJaaLG7esRZbMnfbFA"});