profileコマンド
Keeperシークレットマネージャーデバイスのプロファイルの設定と初期化
profile
コマンド
profile
コマンド説明: デバイスのプロファイルを初期化して切り替えます。同じデバイスで複数の環境をサポートするために、シークレットマネージャーデバイスのプロファイルを切り替えることもできます。
パラメータ
実行するサブコマンドとオプション
形式: ksm profile <サブコマンド>
サブコマンド
サブコマンド | 説明 |
---|---|
| 新しいクライアントデバイスのプロファイルを初期化します |
| 外部ストレージから新しいプロファイルを設定します |
| 作成されたプロファイルを一覧表示して、有効なプロファイルを示します |
| 設定プロファイルをエクスポートします |
| エクスポートされた暗号化プロファイルから新しい設定を作成します |
| 有効な設定プロファイルを指定します |
init
クライアントデバイスのプロファイルを初期化します。
keeper.ini
ファイルが現在の作業ディレクトリに作成されます。WindowsまたはMac OSのバイナリアプリケーションの場合、keeper.ini
は、ユーザーのホームディレクトリ (${HOME}環境変数または$env:USERPROFILE
環境変数) に作成されます。keeper.ini
は以下の場所に移動できます。
環境変数
KSM_INI_DIR
で定義されたパス現在のディレクトリ
ユーザーのホームディレクトリ
${HOME}
${HOME}/.config/ksm
$env:USERPROFILE
様々なシステムディレクトリ
/etc
/etc/ksm
/etc/keeper
$env:APPDATA/Keeper
$env:ProgamData/Keeper
$env:ProgramFiles/Keeper
パラメータ
-t、--token <トークン>
ワンタイムアクセストークン-h、--hostname <XX>
接続先のリージョンデフォルトはUSリージョンです。他のリージョンでホストされている場合、以下の値を設定する必要があります。
US
(米国)EU
(ヨーロッパ)AU
(オーストラリア)JP
(日本)CA
(カナダ)US_GOV
(GovCloud)
--ini-file <ファイル名>
新しいプロファイルをこのファイルに保存します。-p、--profile-name <名前>
プロファイル名を設定します。 設定しない場合、プロファイルは「default」に設定されます。
通常KSM CLIを初期化する際には、以下のようにボルトまたはKeeperコマンダーで作成されたトークンを使用します。
トークンをコマンドライン上で露出させないようにするためには、以下のようにKSM_CLI_TOKEN
環境変数を使用してください。
KSM_CLI_TOKEN
環境変数を使用してワンタイムトークンを提供することで、カスタムINIファイルやカスタムプロファイルを選択して作成・上書きすることが可能です。この設定はコマンドラインの--token
オプションによって上書きすることもできます。
クイックスタートガイドに記載のように、まずコマンダーCLIかKeeperボルトインターフェイスでトークンを作成できます。
setup
AWS Secrets Managerなどの外部ストレージからロードされる新しいプロファイルを設定します。これは、クラウドインスタンスから KeeperシークレットマネージャーCLIを使用する際に最適です。この認証方法を使用することで、追加のセキュリティ層が加わります。
AWSのような外部ストレージプロバイダーとの統合には以下の3つの方法があります。
EC2インスタンスロール (推奨)
AWSプロファイル認証情報
AWSカスタムキー
方法1: EC2インスタンスロール
この方法を使用するには、特定のAWS Secrets Managerのシークレットを読み取る権限を持つロールが設定されたEC2インスタンスに、KeeperシークレットマネージャーCLIをインストールする必要があります。特定のキーのみを読み取れる最小限の権限を持つEC2ロールポリシーを設定することを推奨します。 AWS Secrets Managerのアクセス制御についての詳細は、公式ドキュメントをご参照ください。
以下は、AWS EC2インスタンスロールを使用して、EC2インスタンス上でKSM CLIプロファイルを初期化する手順となります。
これにより、以下のようにAWS内のシークレットキーを定義するkeeper.ini
ファイルが作成されます。
デフォルトでは、シークレットキーはksm-config
という名前であると仮定されます。異なるキー値を使用したい場合は、keeper.ini
ファイルを編集するか、--secret
オプションを使用して指定します。
方法2: AWSプロファイル認証情報
KSM CLI は、事前にこのデバイス上で aws configure
コマンドを使用して初期化された特定の AWS プロファイルを利用するよう設定できます。
この方法では、AWS プロファイルの認証情報は、AWS Secrets Managerから特定のキーのみを読み取る権限を持つロールに割り当てる必要があります。AWS Secrets Managerのアクセス制御について、詳しくはこちらのウェブページをご参照ください。
例
方法3: AWSカスタムキー
KSM CLIで特定のAWSアクセスキーとシークレットキーのペアを使用するように設定できます。この場合、アクセスキーとシークレットキーはローカルのkeeper.ini
ファイルに保存されます。
例
追加のフラグ --fallback
を使用すると、初期の認証情報が失敗した場合に、デフォルトのAWSローカル設定からのプロファイルを使用するように指定できます。
KSM CLIのセットアップを完了
セットアップを完了するには、KeeperボルトインターフェースまたはKeeperコマンダーCLIからbase64形式のKSM設定値を生成する必要があります。これについては、クイックスタートガイドにも記載されています。
コマンダーCLIを使用すると、以下のようなコマンドを使用して生成できます。
次の手順で使用するために、設定値をコピーします。
このKSMデバイスがKeeperシークレットマネージャーと認証するためには、base64形式のKSM設定値をAWS Secrets Managerに入力する必要があります。例えば、AWS CLIを使用して以下のように設定できます。
KSM CLIが機能し、ボルトからシークレットにアクセスできることを確認するには、以下のコマンドを使用します。
追加のセットアップオプション
--ini-file <ファイル名>
新しいプロファイルをこのファイルに保存します。
-p、--profile-name <名前>
プロファイル名を設定します。設定しない場合、プロファイルは「default」として設定されます。
list
現在のクライアントデバイスで利用可能なすべてのプロファイルを一覧で表示します。
ksm profile list
例
export
現在のプロファイルをbase64でエンコードした文字列にエクスポートします。
ksm profile export [--plain] [--file-format] [プロファイル名]
オプションパラメータ
--plain
文字列をbase64でエンコードせずにプロファイルをエクスポートします。--file-format
プロファイルを特定のファイル形式にエクスポートします。利用できる形式は以下のとおりです。ini CLIの別のインスタンスで使用されます。
json CLIおよびその他の開発者用SDKで使用できます。
例
注: KSM構成に外部ストレージプロバイダを使用する場合、プロファイルはエクスポートできません。
import
暗号化されたbase64エンコード文字列からクライアントデバイスのプロファイルをインポートします。
ksm profile import [--output-file "INI filename"] <BASE64 CONFIG>
オプションパラメータ
--output-file <INIファイル名>
INI設定ファイルの作成場所です。設定されていない場合は、現在のディレクトリに作成されます。
active
このクライアントデバイスの現在有効なプロファイルを設定します。
ksm profile active <プロファイル名>
例
コンテナ内のプロファイル
コンテナ化された環境内でCLIを実行している場合、プロファイルを初期化できないことがあります。INI構成ファイルが見つからず、環境変数KSM_TOKENが見つかった場合、デフォルトプロファイルが自動生成されます。INI構成ファイルが作成され、現在の作業ディレクトリに格納されます。これは、環境変数KSM_INI_DIRで上書きできます。
デフォルトのINIファイル名
INIファイルのデフォルトの名前はkeeper.ini
ですが、KSM_INI_FILE
環境変数を使用して上書きできます。KSM_INI_DIR
およびKSM_INI_FILE
環境変数を使用すると、INI構成ファイルの場所と名前を完全に変更できます。
最終更新