Secrets Managerコマンド

Keeper Secrets Managerプラットフォームを設定および管理するコマンド

概要

Keeper Secrets Managerは、DevOpsチームとエンジニアリングチームが特権アカウントへのアクセスを一元的に管理および制御するための、クラウドベースのゼロ知識プラットフォームです。以下は、Secrets Managerの一般的な使用例となります。

  • ソースコード、設定ファイル、CI/CDシステムからのハードコードされたクレデンシャルの削除

  • 特権パスワード、APIキー、およびその他の管理対象シークレットへのアクセス保護

  • マシンやアプリケーションへのボルトアクセスの提供

Keeper Secrets Managerでは、Keeperボルト内の特定のフォルダにアクセスする必要のある各対象環境に対して「アプリケーション」が作成されます。 アプリケーションに対して、ボルト内の1つまたは複数の共有フォルダや記録へのアクセス権を付与できます。アプリケーションは、1つまたは複数の「クライアント」から利用できます。クライアントはSecrets Managerインフラストラクチャによって個別に認証および管理されます。

たとえば、Keeperの「アプリケーション」が運用システムとなり、運用システム内の個々のウェブサーバーがクライアントになる場合もあります。各クライアントは、リクエストの署名に使用するクライアントIDと秘密鍵を使用して、Keeperボルトに対して認証されて通信します。

本ページのコマンドを使用して、Keeper Secrets Managerアプリケーションとクライアントデバイスを設定します。

アプリケーションを作成

secrets-manager app create <APPLICATION NAME>

My Vault> secrets-manager app create MyApplication

新しいシークレットを作成

ボルトのユーザーインターフェースから実行できますが、ここではシークレットを作成し、共有フォルダを作成してから、そのシークレットを共有フォルダに移動することにします。以下はコマンドの例です。

My Vault> add --login admin --pass "46$$625" --url "192.168.1.1" -t "Test Secret"
My Vault> mkdir -sf -a "My Shared Folder"
My Vault> mv "Test Secret" "My Shared Folder"

フォルダをSecrets Managerアプリケーションで共有

My Vault> secrets-manager share add --app MyApplication --secret n4QtaKjRjhWMz5aS7bT77Q

共有フォルダまたは記録UIDを検索するには、「ls -l」コマンドまたは「info」ダイアログのボルトのユーザーインターフェースを使用します。

クライアントにアプリケーションへのアクセスを許可

My Vault> secrets-manager client add MyApplication

このコマンドの出力から、クライアントで使用するワンタイムアクセストークンが得られます。

すべてのアプリケーションの一覧を取得

secrets-manager app list

My Vault> secrets-manager app list

List of all Applications

Title      Uid
---------  ----------------------
PythonApp  oXMfwo-hzZNRqMXGvJlccQ
TestApp    KtU4eAzor5IpqRW3x4A8FA

個々のアプリケーションの詳細を表示

secrets-manager app get <APPLICATION NAME|APP UID>

My Vault> secrets-manager app get MyApplication

Secrets Manager Application
App Name:MyApplication
App UID: ji__h4gaY3xvQdatVY_ffA

Client Device 1
=============================
  Name:Device1
  Short ID: nWThUIbR
  Created On:2021-10-11 16:26:21
  First Access:2021-10-11 16:27:05
  Last Access:2021-10-11 16:49:47
  IP Lock:Disabled
  IP Address: --

Application Access
Share Type    UID                     Title                   Permissions
------------  ----------------------  ----------------------  -------------
FOLDER        J6xMIXKiwMqIyYJL7kd3xw  Secrets                 Editable
RECORD        mux0ZaWKd-h8maggFzy1rw  Database Login          Read-Only

コマンド

Keeperコマンドリファレンス

対話型シェル、CLI、JSON設定ファイルのいずれを使用する場合でも、以下のコマンドがサポートされており、各コマンドでは追加のパラメータとオプションがご利用になれます。

特定のコマンドのヘルプを表示するには、次のコマンドを実行します。

help <command>

secrets-managerコマンド形式

Keeper Secrets Managerコマンドの形式は以下のとおりです。

secrets-manager <command> <sub command>

すべてのアプリを一覧表示するには、次のコマンドを使用します。

secrets-manager app list

以下はすべてのsecrets-managerコマンドとその詳細となります。

Keeper Secrets Managerに関連するすべてのコマンド

コマンド説明

アプリケーションを作成すあsy

指定したアプリケーションに関する情報を表示します

アプリケーションを削除します

すべてのアプリケーションを一覧表示します

シークレット (記録または共有フォルダ) をアプリケーションに追加します

シークレット (記録または共有フォルダ) をアプリケーションから削除します

アプリケーションにクライアントを追加します

アプリケーションからクライアントを削除します

secrets-manager app createコマンド

コマンド: secrets-manager app create

詳細: クライアントをシークレットに関連付けるために使用する新しいアプリケーションを作成します

パラメータ:

アプリケーションの名前

例:

My Vault> secrets-manager app create PythonApp
Application was added successfully

secrets-manager app getコマンド

コマンド: secrets-manager app get

詳細: 指定したアプリケーションに関する情報を表示します

パラメータ:

アプリケーションの名前またはUID

例:

My Vault> secrets-manager app get PythonApp

Secrets Manager Application
App Name:PythonApp
App UID: ji__hxgaY3xvQdefVY_ffA

Client Device 1
=============================
  Name:Device1
  Short ID: nWThUIbR
  Created On:2021-10-11 16:26:21
  First Access:2021-10-11 16:27:05
  Last Access:2021-10-11 16:49:47
  IP Lock:Disabled
  IP Address: --

Application Access
Share Type    UID                     Title                   Permissions
------------  ----------------------  ----------------------  -------------
FOLDER        J62WIXgJwMqIyYJL7kd3xw  Secrets                 Editable
RECORD        mux0ZaWKd-vpmaggFzLkrw  Database Login          Read-Only

secrets-manager app removeコマンド

コマンド: secrets-manager app remove

詳細: アプリケーションを削除します

パラメータ:

アプリケーションの名前またはUID

例:

My Vault> secrets-manager app remove PythonApp

This Application (uid:2lj-PaoQp281mTV7GWK5Bw) has 5 client(s), 1 shared folder(s), and 10 record(s).
	Are you sure you want to delete this application [y/n]: >? y
>? y
Removed Application uid:2lj-PaoQp281mTV7GWK5Bw

My Vault> secrets-manager app remove KtU4eAzor5IpqRW3x4A8FA
This Application (uid:KtU4eAzor5IpqRW3x4A8FA) has 12 client(s), 1 shared folder(s), and 4 record(s).
	Are you sure you want to delete this application [y/n]: >? y
>? y
Removed Application uid:KtU4eAzor5IpqRW3x4A8FA

secrets-manager app listコマンド

コマンド: secrets-manager app list

詳細: すべての作成済みアプリケーションを一覧表示します

例:

My Vault> secrets-manager app list

List of all Applications

Title      Uid
---------  ----------------------
PythonApp  oXMfwo-hzZNRqMXGvJlccQ
TestApp    KtU4eAzor5IpqRW3x4A8FA

secrets-manager share addコマンド

コマンド: secrets-manager share add

詳細: シークレット (記録または共有フォルダ) をアプリケーションに追加します

スイッチ:

--secret、-s <シークレットのUID> 共有するシークレット。フォルダまたはUID記録を指定できます

--app、-a 共有先のアプリケーション

--editable、-e 記録の編集を許可します

例:

My Vault> secrets-manager share add --app PythonApp --secret="-XMfwo-hzZNRqMXGvJlccQ"
Successfully added new record uid=E7YS6Yqmhsip52DzwdC9gw to app uid=oXMfwo-hzZNRqMXGvJlccQ

secrets-manager share removeコマンド

コマンド: secrets-manager share remove

詳細: シークレット (記録または共有フォルダ) をアプリケーションから削除します

スイッチ:

--secret、-s <シークレットのUID> 共有するシークレット。フォルダまたはUID記録を指定できます

--app、-a 共有先のアプリケーション

例:

My Vault> secrets-manager share remove --app PythonApp --secret="-XMfwo-hzZNRqMXGvJlccQ"
Secret share was successfully removed from the application

secrets-manager client addコマンド

コマンド: secrets-manager client add

詳細: アプリケーションへの接続に使用するクライアントをアプリケーションに追加します。このコマンドの出力は、Secrets Manager SDKを使用してクライアントデバイスを初期化するために使用するワンタイムトークンです。

スイッチ:

--name <クライアント名> クライアント名 (デフォルトはランダムな10文字)

--first-access-expires-in-min <分> 初回アクセスの有効期間 (デフォルトは60

、最大は1440)

--access-expire-in-min <分> クライアントアクセスの有効期間 (デフォルトは無期限)

--unlock-ip 最初に要求するデバイスに対してIPアドレスをロックしません

--count <数> 生成するトークンの数 (デフォルトは1)

--config-init <{json、b64、k8s}> ワンタイムトークンから設定文字列を初期化します

--name <名前> クライアントの名前

例 1: 「Test 1」という名前の新しいデバイスを作成し、ワンタイムアクセストークンを生成します。

My Vault> sm client add --app Ansible --name "Test 1"

Successfully generated Client Device
====================================
One-Time Access Token:US:_wYNCeeLmBSdDgkcE77NyMcO-6DqLutNO1NylWVyco
Name:Test 1
IP Lock:Enabled
Token Expires On:2021-09-30 22:52:46
App Access Expires on:Never

例 2: 「Test 2」という名前の新しいデバイスを作成し、IPロックなしの完全に初期化されたJSON設定ファイルを生成します。この設定ファイルは、デバイスに直接読み込めます。

My Vault> sm client add --app Ansible --name "Test 2" --unlock-ip --config-init=json                                                                                    

Successfully generated Client Device
====================================

Initialized Config: {"hostname": "keepersecurity.com","clientId":"XXX","privateKey":"XXX","serverPublicKeyId":"10","appKey":"XXX"}
Name:Test 2
IP Lock:Disabled
Token Expires On:2021-09-30 22:54:11
App Access Expires on:Never

例 3: 「Test 3」という名前の新しいデバイスを作成し、IPロックなしの完全に初期化されたbase64設定文字列を生成します。この設定ファイルは、JSON設定ファイルを使用する代わりに、単一の文字列としてデバイスに読み込めます。

My Vault> sm client add --app Ansible --name "Test 3" --unlock-ip --config-init=b64                                                                                    

Initialized Config: eyJob3N0bmFtJjbGllbnRJZCI6I3lHbXZodUZFITEhBbDhBRmVHK1owSDcrN2czOVMvNGkvTU1lcVhhVi92cTc4S3FqM2VuZkdtQkQzNmhsQT09IiweXFHU000OUFnRUdDQ3FHU000OUF3RUhCRzB3YXdJQkFRUWdqN2diVXM2bXVl0bXA0WjlnR0ttaFJBTkNBQVNrdTZCN3dPclpXSGdhR1lzNE1uRGNyZE5xdXYyRkYmNQWTF3S090ZHppME03c05PTnA4cXppU0VLejhUUGVTIiwic2VydmVyUHVibGljS2V5SWQiOiAiMTAiLCJhcHBLZXkiOiAiUFlqdlcrVTqdUljdUh6UzJHcz0ifQ==
Name:Test 3
IP Lock:Disabled
Token Expires On:2021-09-30 22:59:09
App Access Expires on:Never

例 4: 「Test 4」という名前の新しいデバイスを作成し、IPロックなしの完全に初期化されたKubernetes設定を生成します。YAML出力は、ファイルにカットアンドペーストして適用し、Kubernetesシークレットとして作成できます。

My Vault> sm client add --app Nginx --name "Test 4" --unlock-ip --config-init=k8s                                                                                

apiVersion: v1
data:
  config: eyJob3N0bmFtJjbGllbnRJZCI6I3lHbXZodUZFITEhBbDhBRmVHK1owSDcrN2czOVMvNGkvTU1lcVhhVi92cTc4S3FqM2VuZkdtQkQzNmhsQT09IiweXFHU000OUFnRUdDQ3FHU000OUF3RUhCRzB3YXdJQkFRUWdqN2diVXM2bXVl0bXA0WjlnR0ttaFJBTkNBQVNrdTZCN3dPclpXSGdhR1lzNE1uRGNyZE5xdXYyRkYmNQWTF3S090ZHppME03c05PTnA4cXppU0VLejhUUGVTIiwic2VydmVyUHVibGljS2V5SWQiOiAiMTAiLCJhcHBLZXkiOiAiUFlqdlcrVTqdUljdUh6UzJHcz0ifQ==
kind:Secret
metadata:
  name: ksm-config
  namespace: default
type:Opaque

Name:Test 4
IP Lock:Disabled
Token Expires On:2021-09-30 22:59:09
App Access Expires on:Never

secrets-manager client removeコマンド

コマンド: secrets-manager client remove

詳細: アプリケーションからクライアントを削除します

スイッチ:

--client アプリケーションから削除するクライアント

--app、-a アプリケーション

--force 承認を求めません

例:

My Vault> secrets-manager client remove --app PythonApp --client MyClient
Are you sure you want to delete 3 matching clients from this application? [y/n]:
>? y
Client removal was successful

最終更新