シークレットマネージャーコマンド

Keeperシークレットマネージャープラットフォームを設定および管理するコマンド

概要

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

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

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

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

  • オンデマンドで、またはスケジュールを組んでサービスアカウントの認証情報をローテーション

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

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

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

Keeperシークレットマネージャーのコマンド

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

特定のコマンドに関するヘルプを表示するには、以下のように入力します。

bashCopyEdithelp <コマンド名>

コマンド形式

Keeperシークレットマネージャーのコマンドは、以下の形式に従います。

たとえば、すべてのアプリケーションを一覧表示するには、以下のコマンドを実行します。

以下は、すべてのsecrets-managerコマンドとその詳細の一覧です。

コマンド
説明

secrets-manager app list

アプリケーション一覧を表示。App UID、最終アクセス日時、割り当てられたレコード/フォルダ数を確認可能。

secrets-manager app get

アプリケーションの詳細情報 (デバイス情報を含む) を取得。

secrets-manager app create

新しいアプリケーションを作成。

secrets-manager app remove

アプリケーションを削除。

secrets-manager app share

アプリケーションおよび関連ゲートウェイ/構成を他のユーザーと共有。

secrets-manager app unshare

ユーザーからアプリケーションの共有を解除。

secrets-manager client add

アプリケーションに関連付けられたデバイスまたはマシンIDを作成。

secrets-manager client remove

デバイスを削除。

secrets-manager share add

フォルダまたはレコードをアプリケーションに関連付け。

secrets-manager share remove

アプリケーションからフォルダまたはレコードの関連付けを解除。


APIフローの例

以下は、アプリケーションの作成、シークレットの割り当て、マシンデバイスの作成を行う一連のAPI操作例です。

アプリケーションを作成

secrets-manager app create <APPLICATION NAME>

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

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

フォルダをシークレットマネージャーアプリケーションで共有

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

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

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

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

secrets-manager app list

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

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

コマンド

secrets-manager app createコマンド

コマンド: secrets-manager app create

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

パラメータ:

アプリケーションの名前

例:

secrets-manager app getコマンド

コマンド: secrets-manager app get

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

パラメータ:

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

例:

secrets-manager app removeコマンド

コマンド: secrets-manager app remove

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

パラメータ:

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

例:

secrets-manager app shareコマンド

  • コマンド secrets-manager app share

  • 概要 アプリケーションと、それに関連するゲートウェイおよび構成を別のユーザーと共有します。

  • パラメータ

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

    • 共有相手のメールアドレス

  • 使用例

secrets-manager app unshareコマンド

  • コマンド secrets-manager app unshare

  • 概要 指定したユーザーに対するアプリケーションの共有を解除します。

  • パラメータ

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

    • 共有を解除する対象ユーザーのメールアドレス

  • 使用例

secrets-manager app listコマンド

コマンド: secrets-manager app list

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

例:

secrets-manager share addコマンド

コマンド: secrets-manager share add

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

スイッチ:

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

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

--editable、-e レコードの編集を許可します

例:

secrets-manager share removeコマンド

コマンド: secrets-manager share remove

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

スイッチ:

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

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

例:

secrets-manager client addコマンド

コマンド: secrets-manager client add

詳細: アプリケーションへの接続に使用するクライアントをアプリケーションに追加します。このコマンドの出力は、シークレットマネージャー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」という名前の新しいデバイスを作成し、ワンタイムアクセストークンを生成します。

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

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

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

secrets-manager client removeコマンド

コマンド: secrets-manager client remove

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

スイッチ:

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

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

--force 承認を求めません

例:

最終更新