シークレットマネージャーコマンド
Keeperシークレットマネージャープラットフォームを設定および管理するコマンド
概要
Keeperシークレットマネージャーは、DevOpsチームとエンジニアリングチームが特権アカウントへのアクセスを一元的に管理および制御するための、クラウドベースのゼロ知識プラットフォームです。以下は、シークレットマネージャーの一般的な使用例となります。
ソースコード、設定ファイル、CI/CDシステムからのハードコードされたクレデンシャルの削除
特権パスワード、APIキー、およびその他の管理対象シークレットへのアクセス保護
マシンやアプリケーションへのボルトアクセスの提供
オンデマンドで、またはスケジュールを組んでサービスアカウントの認証情報をローテーション
Keeperシークレットマネージャーでは、Keeperボルト内の特定のフォルダにアクセスする必要のある各対象環境に対して「アプリケーション」が作成されます。 アプリケーションに対して、ボルト内の1つまたは複数の共有フォルダやレコードへのアクセス権を付与できます。アプリケーションは、1つまたは複数の「クライアント」から利用できます。クライアントはシークレットマネージャーインフラストラクチャによって個別に認証および管理されます。
たとえば、Keeperの「アプリケーション」が運用システムとなり、運用システム内の個々のウェブサーバーがクライアントになる場合もあります。各クライアントは、リクエストの署名に使用するクライアントIDと秘密鍵を使用して、Keeperボルトに対して認証されて通信します。
本ページのコマンドを使用して、Keeperシークレットマネージャーアプリケーションとクライアントデバイスを設定します。
Keeperシークレットマネージャーのコマンド
対話型シェル、CLI、JSON構成ファイルのいずれを使用する場合でも、以下のコマンドがサポートされており、各コマンドでは追加のパラメータとオプションがご利用になれます。
特定のコマンドに関するヘルプを表示するには、以下のように入力します。
コマンド形式
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>
新しいシークレットを作成
ボルトのユーザーインターフェースから実行できますが、ここではシークレットを作成し、共有フォルダを作成してから、そのシークレットを共有フォルダに移動することにします。以下はコマンドの例です。
フォルダをシークレットマネージャーアプリケーションで共有
クライアントにアプリケーションへのアクセスを許可
すべてのアプリケーションの一覧を取得
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 承認を求めません
例:
最終更新