LKCLIは、LifeKeeper REST APIを介してSIOS LifeKeeperクラスターのリソースを管理するためのコマンドラインインターフェースです。シェルプロンプトまたは自動化スクリプトから、クラスターリソース、コミュニケーションパス、リソースの依存関係、APIアクセスキーを作成および管理できます。
LKCLIは、クラスターノード上で実行されているLifeKeeper REST APIサーバーと通信します。各コマンドは、1台のサーバー (--hostで指定) を対象とします。必要に応じて、クラスター内の各ノードに対してコマンドを実行できます。
目次
認証とプロファイル
LKCLIは、次の2つの認証方法をサポートしています。
- パスワードによる認証 - コマンドラインで
--usernameと--passwordを直接指定します(または、環境変数LKCLI_PASSWORDや対話型シェルプロンプトからパスワードを入力します)。CLIはこれらの認証情報を有効期限の短いJSON Web Token(JWT)と交換し、リクエストに使用します。
- ユーザープロファイル -
lkcli profile add-keyまたはlkcli profile configureコマンドを使用して、ホストのAPIキーをローカルの認証情報ファイルに保存します。対象ホストとアクティブなプロファイルに一致する保存済みキーが見つかった場合、--username/--passwordを指定しなくても、そのキーが自動的に使用されます。
プロファイルとは、保存された認証情報と構成設定のセットに名前を付けたものです。アクティブなプロファイルは、 --profile フラグまたはLKCLI_PROFILE 環境変数(デフォルト: default) によって指定されます。保存された各APIキーは、作成元のサーバー上でのみLifeKeeper REST APIへのアクセスを許可します。名前付きプロファイルには、複数のホスト用のAPIキーを保存することができます(例:LifeKeeperクラスター内の各サーバーごとに1つずつ)。
設定ファイル
LKCLIは、ホームフォルダ内の.lkcliディレクトリにある2つのYAMLファイルに設定を保存します。
| ファイル | パス | 目的 |
|---|---|---|
config.yml |
%USERPROFILE%\.lkcli\config.yml |
ホストごとの非機密設定(APIポート、タイムアウト)。初回実行時に、コメントアウトされた例が含まれた状態で自動的に作成されます。 |
credentials.yml |
%USERPROFILE%\.lkcli\credentials.yml |
APIキー認証情報(キーIDとシークレット)。ファイルへのアクセス権限は所有者のみに制限されています。 |
config.yml の構造
config.yml には、プロファイルごとに整理された、ホストごとの非機密設定が格納されます。各プロファイルは、1つまたは複数のホストの設定を指定できます。オプションの最上位キーであるdefault_profile は、組み込みのデフォルトプロファイル名 (default)を上書きします。
# %USERPROFILE%\.lkcli\config.yml
# Optional: override the built-in default profile name
default_profile: default
profiles:
default:
hosts:
server1.corp.example.com:
api_port: 5000
timeout_connection: 120
timeout_read: 600
server2.corp.example.com:
api_port: 5000
production:
hosts:
lk-prod-01.corp.example.com:
api_port: 5010
timeout_connection: 180
timeout_read: 720
lk-prod-02.corp.example.com:
api_port: 5010
timeout_connection: 180
timeout_read: 720
config.ymlで利用可能な各ホストのキー
| キー | タイプ | 説明 |
|---|---|---|
api_port |
整数 | REST APIがリッスンしているTCPポート |
timeout_connection |
整数 | 接続タイムアウト(秒)(0=タイムアウトなし、デフォルト=60秒) |
timeout_read |
整数 | ストリーミング読み取りタイムアウト(秒)(0=タイムアウトなし、デフォルト300秒) |
credentials.yml の構造
credentials.yml には、プロファイルとホストごとに整理されたAPIキー認証情報が格納されます。このファイルは、 lkcli profile add-keyおよびlkcli profile configure コマンドによって自動的に書き込まれます。アクセス権限は所有者のみに制限されており、権限が緩すぎる場合はLKCLIが読み取りを拒否します。
# %USERPROFILE%\.lkcli\credentials.yml
profiles:
default:
hosts:
server1.corp.example.com:
key_id: lk_a1b2c3d4e5f6a7b8c9d0e1f2
secret: lks_000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
username: lkadmin
role: admin
managed: true
server2.corp.example.com:
key_id: lk_b2c3d4e5f6a7b8c9d0e1f2a3
secret: lks_202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
username: lkadmin
role: admin
managed: true
認証フィールド
| フィールド | 説明 |
|---|---|
key_id |
公開キー識別子 (lk_ + 24桁の16進数) |
secret |
キーシークレット(lks_ + 48桁の16進数)。LKCLIの出力には表示されません。 |
username |
キーが作成された対象のLifeKeeperユーザー名 |
role |
キーに割り当てられたロール (guest、operatorまたは admin) |
managed |
このフィールドがtrueの場合、LKCLIは profile remove-key --revokeが実行されたとき、または profile refresh-key によって置き換えられたときに、サーバー上のキーを無効化します |
構成の優先順位
設定可能な項目の値を決定する際、LKCLIは次の優先順位(高い順から低い順)を適用します。
接続設定 (--api-port, --timeout-connection, --timeout-read)
- CLIフラグ - コマンドラインで明示的に渡される値 (例:
--api-port=5001) config.ymlのホストごとのエントリー - アクティブなプロファイルとターゲットホストに保存される値- 組み込みのデフォルト値 - LKCLIにコンパイルされるデフォルト値 (グローバルフラグ を参照)
アクティブなプロファイル名
--profileフラグ - コマンドラインで明示的に渡されたプロファイル名LKCLI_PROFILE環境変数 - 例:export LKCLI_PROFILE=productionconfig.ymlのdefault_profileキー - 設定ファイルの最上位キー- 組み込みのデフォルト値 - 文字列
default
認証情報
--username/--passwordフラグ - パスワードによる認証。CLIはこれらを有効期限の短いJWTと交換します--usernameが指定されている場合のパスワード解決順序:--passwordフラグLKCLI_PASSWORD環境変数- 対話型プロンプト(TTY に接続されている場合のみ)
- 保存されたAPIキー -アクティブなプロファイルとターゲットホストの
credentials.ymlから読み込まれたキーIDとシークレット。 認証情報の検索を成功させるには、credentials.ymlファイル内のホスト名が--hostフラグの値(デフォルトはlocalhost)と完全に一致している必要があります。
グローバルフラグ
以下のフラグは、すべてのLKCLIコマンドで受け入れられます。
| フラグ | タイプ | デフォルト | 説明 |
|---|---|---|---|
--host |
文字列 | localhost |
LifeKeeper REST APIサーバーのホスト名またはIPアドレス |
--api-port |
整数 | 5000 |
REST APIサーバーがリッスンしているTCPポート |
--username |
文字列 | — | パスワードによる認証用のユーザー名 |
--password |
文字列 | — | パスワードによる認証用のパスワード(LKCLI_PASSWORD環境変数を上書きします) |
--profile |
文字列 | default |
アクティブなプロファイル名。使用する保存済みAPIキーと永続的な構成設定を選択します(大文字と小文字を区別します。 LKCLI_PROFILE環境変数を上書きします) |
--debug |
真偽値 | false |
詳細なデバッグログを標準エラー出力に出力します |
--timeout-connection |
整数 | 60 |
サーバーがレスポンスヘッダーを返すのを待機する時間(秒)(0 = タイムアウトなし。config.yml内のホストごとの timeout_connection 設定を上書きします) |
--timeout-read |
整数 | 300 |
ヘッダー受信後、ストリーミングレスポンスの終了を待機する時間(秒)(0 = タイムアウトなし。config.yml内のホストごとの timeout_read 設定を上書きします) |
終了コード
LKCLIコマンドは、以下の終了コードを使用します。
| コード | コード名 | 状態 |
|---|---|---|
| 0 | Success | コマンドは正常に完了しました |
| 1 | GenericError | フラグ解析エラー、検証エラー、または応答処理エラー |
| 2 | ClientError | サーバーからのHTTP 4xx応答(例:401 Unauthorized、404 Not Found) |
| 3 | ServerError | サーバーからのHTTP 5xx応答 |
| 4 | UnexpectedHTTPStatus | ステータスコードが成功リストに含まれておらず、かつ4xx/5xxでもないHTTP応答 |
| 5 | ServerConnectionError | ネットワークレベルのエラー(例:接続拒否、DNSエラー) |
| 6 | ServerConnectionTimeout | 接続またはストリーミングの読み取りタイムアウトが発生しました |
| 7 | ServerConnectionLost | TCP接続がリクエストの途中で切断されました |
| 8 | ServerMalformedResponse | APIレスポンスを解析できなかったか、形式が不正でした |
コマンドグループ
status
クラスターに登録されているすべてのリソースとシステムを含む、LifeKeeper LCD(LifeKeeper構成データベース)構成の概要を報告します。
必要なロール : guest
lkcli status [フラグ]
このコマンドには、コマンド固有のフラグはありません。
例 :
lkcli status --host=server1
communication-path
クラスターノード間のLifeKeeperコミュニケーションパスを管理するためのコマンド。
エイリアス :commpath
communication-path create
ターゲットサーバーとクラスター内のリモートサーバー間に新しいコミュニケーションパスを作成します。
必要なロール :admin
lkcli communication-path create --remote-sys=<文字列> --local-ip=<文字列> --remote-ip=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--remote-sys |
-r |
文字列 | 必須 | — | リモートサーバーのホスト名 |
--local-ip |
-l |
文字列 | 必須 | — | ローカルサーバーエンドポイントのIPアドレス |
--remote-ip |
-e |
文字列 | 必須 | — | リモートサーバーエンドポイントのIPアドレス |
--heartbeat-interval |
-i |
整数 | 任意 | 6 | ハートビート間隔(秒) |
--max-heartbeat-misses |
-m |
整数 | 任意 | 5 | パスがダウンしていると判断されるまでの最大ハートビート欠落回数 |
--priority |
-p |
整数 | 任意 | — | コミュニケーションパスの優先順位(数値が小さい=優先順位高) |
--port |
-o |
整数 | 任意 | — | コミュニケーションパスに使用されるTCPポート |
例 :
lkcli communication-path create \
--host=server1 \
--remote-sys=server2 \
--local-ip=192.168.1.10 \
--remote-ip=192.168.1.20
communication-path delete
ターゲットサーバーとリモートサーバー間の既存のコミュニケーションパスを削除します。
必要なロール :admin
lkcli communication-path delete --remote-sys=<文字列> --local-ip=<文字列> --remote-ip=<文字列> [--priority=<整数>] [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--remote-sys |
-r |
文字列 | 必須 | — | リモートサーバーのホスト名 |
--local-ip |
-l |
文字列 | 必須 | — | コミュニケーションパスのローカルIPアドレス |
--remote-ip |
-e |
文字列 | 必須 | — | コミュニケーションパスのリモートIPアドレス |
--priority |
-p |
整数 | 任意 | — | コミュニケーションパスの優先順位 |
例 :
lkcli communication-path delete \
--host=server1 \
--remote-sys=server2 \
--local-ip=192.168.1.10 \
--remote-ip=192.168.1.20
communication-path list
ターゲットサーバー上で定義されているすべてのコミュニケーションパスを、オプションのフィルターを指定して一覧表示します。
必要なロール :guest
lkcli communication-path list [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 有効な値 | 説明 |
|---|---|---|---|---|---|---|
--device |
-d |
文字列 | 任意 | — | — | デバイスでフィルター(例:TCPIP:1500) |
--local-ip |
-l |
文字列 | 任意 | — | — | ローカルIPアドレスでフィルター |
--priority |
-p |
整数 | 任意 | — | — | 優先順位でフィルター |
--remote-sys |
-r |
文字列 | 任意 | — | — | リモートシステムのホスト名でフィルター |
--remote-ip |
-e |
文字列 | 任意 | — | — | リモートIPアドレスでフィルター |
--state |
-s |
列挙型 | 任意 | — | ALIVE, DEAD, UNKNOWN, ILLSYS |
パスの状態でフィルター |
--type |
-t |
列挙型 | 任意 | — | TLI, TTY, SCSI, ILLNET |
プロトコルタイプでフィルター |
例 :
lkcli communication-path list --host=server1
lkcli communication-path list --host=server1 --state=ALIVE
lkcli communication-path list --host=server1 --remote-sys=server2
server
LifeKeeperサーバーのプロパティと設定を管理するためのコマンド。
server get-properties
ローカルサーバーのすべてのプロパティとフェイルオーバーポリシー設定を取得します。サーバー名、状態(ALIVE、DEAD、UNKNOWNまたはILLSYS)、およびフェイルオーバーポリシー設定が返されます。
エイリアス : get-properties, info
必要なロール : guest
lkcli server get-properties [フラグ]
このコマンドには、コマンド固有のフラグはありません。
例 :
lkcli server get-properties --host=server1
server set-shutdown-strategy
ローカルサーバーのシャットダウン時のスイッチオーバーストラテジーを設定します。ローカルサーバーが正常にシャットダウンされた際に、リソースが自動的にスタンバイサーバーに切り替わるかどうかを制御します。
必要なロール :admin
lkcli server set-shutdown-strategy --value=<switchover|do_not_switchover> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 有効な値 | 説明 |
|---|---|---|---|---|---|---|
--value |
-v |
列挙型 | 必須 | — | switchover, do_not_switchover |
シャットダウン時のスイッチオーバーストラテジー |
例 :
lkcli server set-shutdown-strategy --host=server1 --value=switchover
lkcli server set-shutdown-strategy --host=server1 --value=do_not_switchover
resource
LifeKeeperリソースの一覧表示、検査、および状態管理を行うためのコマンド。リソースタイプ固有のサブコマンド(作成、拡張、プロパティ取得、プロパティ設定、およびリソース固有のアクション)は、リソースタイプのパス(例:lkcli resource comm/ip create)からアクセスできます。リソースタイプごとのドキュメントについては、リソースタイプ ディレクトリを参照してください。
resource list
指定されたサーバー上のすべてのLifeKeeperリソースを、オプションのフィルターを指定して一覧表示します。
必要なロール :guest
lkcli resource list [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--application |
-a |
文字列 | 任意 | — | アプリケーションカテゴリー(例:comm、 gen、 database、filesys)でフィルター |
--id |
-i |
文字列 | 任意 | — | LifeKeeperリソース識別子でフィルター |
--kit-properties |
-p |
配列 | 任意 | — | 追加のリソース固有のプロパティ値を取得します(プロパティ名をカンマで区切ったリスト、またはすべてのリソース固有のプロパティを取得する場合はallを指定) |
--resource-type |
-r |
文字列 | 任意 | — | リソースタイプ(例: ip, app, sqlapp, volume)でフィルター |
--state |
-s |
文字列 | 任意 | — | リソースの状態(例:ISP, OSU, OSF)でフィルター |
--tag |
-t |
文字列 | 任意 | — | リソースタグ名でフィルター |
例:
lkcli resource list --host=server1
lkcli resource list --host=server1 --state=ISP
lkcli resource list --host=server1 --resource-type=volume --kit-properties=all
lkcli resource list --host=server1 --application=comm \
--kit-properties=ip_address,netmask
resource info
タグを使って、特定のLifeKeeperリソースに関する詳細情報を取得します。
必要なロール: guest
lkcli resource info --tag=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--tag |
-t |
文字列 | 必須 | — | リソースタグ名 |
--kit-properties |
-p |
配列 | 任意 | — | 追加のリソース固有のプロパティ値を取得します(プロパティ名をカンマで区切ったリスト、またはすべてのリソース固有のプロパティを取得する場合はall を指定) |
例:
lkcli resource info --host=server1 --tag=ip-172.31.1.10
lkcli resource info --host=server1 --tag=Vol.D \
--kit-properties=volume_letter,volume_size
resource remove
LifeKeeperリソースをOut of serviceにします。
必要なロール: operator
lkcli resource remove --tag=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--tag |
-t |
文字列 | 必須 | — | リソースタグ名 |
例:
lkcli resource remove --host=server1 --tag=ip-172.31.1.10
resource restore
LifeKeeperリソースをIn-Serviceにします。
必要なロール: operator
lkcli resource restore --tag=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--tag |
-t |
文字列 | 必須 | — | リソースタグ名 |
例:
lkcli resource restore --host=server1 --tag=ip-172.31.1.10
リソースタイプサブコマンド
リソースは、リソースタイプのパスを介して作成および管理されます。一般的な形式は次のとおりです。
lkcli resource <type> <サブコマンド> [フラグ]
リソースタイプごとに使用可能なサブコマンド:
| サブコマンド | 説明 | 必要なロール |
|---|---|---|
create |
ターゲットサーバー上に新しいリソースインスタンスを作成します |
admin |
extend |
既存のリソースをスタンバイサーバーに拡張します | admin |
get-property |
リソースプロパティの値を読み取ります | guest |
set-property |
編集可能なリソースプロパティの値を更新します | admin |
リソースタイプによっては、追加のアクションサブコマンド(例:filesys/volume break)が公開されている場合もあります。詳細については、各リソースタイプのドキュメントを参照してください。
利用可能なリソースタイプとそのエイリアス:
| リソースタイプ | エイリアス | 説明 |
|---|---|---|
comm/ip |
ip |
IP Addressリソース |
comm/dns |
dns |
DNSリソース |
comm/ecc |
ecc, ec2 |
Amazon EC2リソース |
comm/lbhc |
lbhc |
Load Balancer Health Checkリソース |
comm/ocivip |
ocivip |
OCI Virtual IPリソース |
comm/route53 |
route53 |
Amazon Route 53 DNSリソース |
comm/volshare |
volshare |
File Share Listリソース |
database/listener |
listener |
Oracle Listenerリソース |
database/oraapp |
oraapp |
Oracle Databaseリソース |
database/pdb |
pdb |
Oracle Pluggable Databaseリソース |
database/pgsqlapp |
pgsqlapp, pgsql |
PostgreSQL Databaseリソース |
database/sqlapp |
sqlapp |
Microsoft SQL Serverリソース |
filesys/volume |
volume |
Volumeリソース |
gen/app |
gen |
Generic Application リソース |
gen/hulft |
hulft |
HULFTリソース |
gen/qsp |
qsp |
Quick Service Protectionリソース |
appsuite/jp1ajs |
jp1ajs |
Hitachi JP1/AJSリソース |
WEBServer/webapp |
webserver/webapp, webapp, iis |
IIS (Internet Information Services) リソース |
resource-hierarchy
LifeKeeperのリソース階層ブランチを管理するためのコマンド(階層とは、ルートリソースとそのすべての依存リソースの完全なツリー構造のことです)。
resource-hierarchy delete
クラスターから、1つ以上のLifeKeeperリソース階層ブランチを削除します。指定された各ブランチ内のすべてのリソースは、階層の別のブランチにも存在しない限り、クラスター内のすべての稼働中のサーバーから削除されます。これは、ストリーミング出力を伴う長時間の実行操作です。
必要なロール: admin
lkcli resource-hierarchy delete --roots=<配列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--roots |
-r |
配列 | 必須 | — | 削除するルートリソースタグをカンマ区切りで指定します(例: tag1,tag2 |
例:
lkcli resource-hierarchy delete --host=server1 --roots=ip-172.31.1.10
lkcli resource-hierarchy delete --host=server1 --roots=tag1,tag2
resource-hierarchy reorder-priorities
リソース階層内のサーバーのフェイルオーバー優先順位を変更します。リソース階層のフェイルオーバー候補として2つのサーバーを比較する場合、優先順位の値が低いサーバーが優先されます。
必要なロール: admin
lkcli resource-hierarchy reorder-priorities --tag=<文字列> --priorities=<オブジェクト> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--tag |
-t |
文字列 | 必須 | — | リソースタグ名 |
--priorities |
-p |
オブジェクト | 必須 | — | サーバーの優先順位をhostname=priorityのペアで、カンマ区切りで指定します(例: server1=1,server2=10)。 |
例:
lkcli resource-hierarchy reorder-priorities \
--host=server1 \
--tag=ip-172.31.1.10 \
--priorities=server1=1,server2=10
resource-hierarchy unextend
ターゲットサーバーから、指定されたリソースを含むリソース階層を拡張解除します。このコマンドを実行する前に、ターゲットサーバー上で階層内のすべてのリソースがOut of serviceになっている必要があります。
必要なロール: admin
lkcli resource-hierarchy unextend --tag=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--tag |
-t |
文字列 | 必須 | — | 拡張解除する階層内にある任意のリソースのタグを指定します |
例:
lkcli resource-hierarchy unextend --host=server2 --tag=ip-172.31.1.10
dependency
LifeKeeperリソース間の親子の依存関係を管理するためのコマンド。
dependency create
2つのリソース間に親子の依存関係を作成します。
必要なロール: admin
lkcli dependency create --parent=<文字列> --child=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--parent |
-p |
文字列 | 必須 | — | 親リソースタグ |
--child |
-c |
文字列 | 必須 | — | 子リソースタグ |
例:
lkcli dependency create --host=server1 --parent=app.0 --child=ip-172.31.1.10
dependency delete
既存の親子の依存関係を削除します。
必要なロール: admin
lkcli dependency delete --parent=<文字列> --child=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--parent |
-p |
文字列 | 必須 | — | 親リソースタグ |
--child |
-c |
文字列 | 必須 | — | 子リソースタグ |
例:
lkcli dependency delete --host=server1 --parent=app.0 --child=ip-172.31.1.10
dependency list
親子の依存関係を一覧表示します。オプションでフィルターも使用できます。
必要なロール: guest
lkcli dependency list [--parent=<文字列>] [--child=<文字列>] [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--parent |
-p |
文字列 | 任意 | — | 親リソースタグでフィルター |
--child |
-c |
文字列 | 任意 | — | 子リソースタグでフィルター |
例:
lkcli dependency list --host=server1 --parent=app.0
log
LifeKeeperのイベントログデータにアクセスするためのコマンド。
log get-events
ターゲットサーバーからLifeKeeperのログイベントを取得して表示します。オプションで、返されるイベントの数を制限できます。
必要なロール: guest
lkcli log get-events [--limit=<int>] [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|---|---|
--limit |
-n |
整数 | 任意 | 10 |
最小: 1、最大: 1000 | 返されるログイベントの最大数 |
例:
lkcli log get-events --host=server1
lkcli log get-events --host=server1 --limit=100
access-key
LifeKeeper REST APIアクセスキーを管理するためのコマンド。管理者以外のユーザーは、自分のキーのみを管理できます。管理者は、すべてのユーザーのキーを管理できます。
access-key create
対象サーバー上で現在認証されているユーザー用に、新しいAPIアクセスキーを作成します。キーのロールは、認証済みユーザー自身のロールを超えることはできません。シークレットの値は応答に一度だけ表示され、後で復元することはできません。
必要なロール: guest
lkcli access-key create --role=<guest|operator|admin> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|---|---|
--role |
— | 列挙型 | 必須 | — | guest, operator, admin |
新しいキーに割り当てるロール(ユーザー自身のロールを超えることはできません) |
--description |
— | 文字列 | 任意 | "API key for <user> (<role>) created at <datetime>" |
最大256文字 | 人間が判別できる形式での、キーの目的の説明 |
--expiration-days |
— | 整数 | 任意 | デフォルト値はサーバー上で設定可能 | 最小: 0 | キーの有効期限切れまでの日数。0 = 無期限(guest キーのみ)。サーバーがデフォルト値と最大値を設定します。 |
例:
lkcli access-key create \
--host=server1 \
--username=lkadmin \
--password=secret \
--role=operator \
--description="Operator key for lkadmin@server1" \
--expiration-days=90
access-key delete
キーIDを指定して、単一のAPIアクセスキーを無効化します。管理者以外のユーザーは、自分のキーのみを無効化できます。
必要なロール: guest
lkcli access-key delete --key-id=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|---|---|
--key-id |
— | 文字列 | 必須 | — | 形式: lk_ + 24桁の16進数 |
無効化するキーID |
--reason |
— | 文字列 | 任意 | — | 最大256文字 | 無効化されたキーと共に保存される無効化の理由(任意)。理由が指定されている場合、 lkcli access-key infoまたは lkcli access-key list --include-inactiveコマンドで確認できます。 |
例:
lkcli access-key delete \
--host=server1 \
--key-id=lk_a1b2c3d4e5f6a7b8c9d0e1f2 \
--reason="Key rotation"
access-key delete-all
ユーザーの有効なAPIアクセスキーをすべて無効化します。--target-userオプションを指定しない場合、このコマンドは認証済みユーザー自身のキーを無効化します。管理者ユーザーは、--target-userオプションを指定して別のユーザーを対象にすることができます。
必要なロール: guest(自身のキーの場合)、admin( --target-userを指定した他のユーザーのキーの場合)
lkcli access-key delete-all [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--target-user |
— | 文字列 | 任意 | 現在認証されているユーザー | キーを無効化するユーザー名(管理者のみ) |
--reason |
— | 文字列 | 任意 | — | 無効化されたキーと共に保存される無効化の理由(任意)。理由が指定されている場合、lkcli access-key infoまたはlkcli access-key list --include-inactiveコマンドで確認できます。 |
例:
lkcli access-key delete-all \
--host=server1 \
--username=lkadmin \
--password=secret \
--target-user=lkuser \
--reason="Account deactivated"
access-key info
キーIDを指定して、単一のAPIアクセスキーの詳細情報を取得します。管理者以外のユーザーは、自分のキーの情報のみを取得できます。
必要なロール: guest
lkcli access-key info --key-id=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|---|---|
--key-id |
— | 文字列 | 必須 | — | 形式:lk_ + 24桁の16進数 |
取得対象のキーID |
例:
lkcli access-key info --host=server1 --key-id=lk_a1b2c3d4e5f6a7b8c9d0e1f2
access-key list
APIアクセスキーの一覧を表示します。フィルターフラグを指定しない場合、コマンドは認証済みユーザー自身の有効なキーを返します。
必要なロール: guest(自身のキーの場合)、 admin (--target-userまたは--all-users指定した場合)
lkcli access-key list [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--target-user |
— | 文字列 | 任意 | — | この特定ユーザーのキー一覧を表示します(管理者のみ。--all-usersオプションとは同時使用不可) |
--all-users |
— | 真偽値 | 任意 | false |
すべてのユーザーのキー一覧を表示します(管理者のみ。--target-userオプションとは同時使用不可) |
--include-inactive |
— | 真偽値 | 任意 | false |
最近失効したキーと最近期限切れになったキーも含めます |
例:
lkcli access-key list --host=server1
lkcli access-key list --host=server1 --target-user=lkuser
lkcli access-key list --host=server1 --all-users
lkcli access-key list --host=server1 --all-users --include-inactive
profile
ローカル認証情報プロファイルを管理するためのコマンド。プロファイルには1つ以上のホストのAPIキーが格納されるため、すべてのコマンドで --username/--password を渡す必要がなくなります。
プロファイルデータはローカル設定ファイル(%USERPROFILE%/.lkcli/config.yml and %USERPROFILE%/.lkcli/credentials.yml)に格納されます。
profile add-key
基本認証情報(ユーザー名/パスワード)を使用して認証を行い、サーバー上に新しいAPIキーを作成して、アクティブなプロファイルの認証情報ファイルに保存します。このコマンドを実行すると、同じホストを対象とする以降のコマンドは、保存されたキーを自動的に使用します。
必要なロール: guest
lkcli profile add-key [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|---|---|
--username |
— | 文字列 | 必須 | — | — | APIアクセスキーを生成するアカウントのユーザー名 |
--password |
— | 文字列 | 必須 | — | — | APIアクセスキーを生成するアカウントのパスワード(LKCLI_PASSWORD環境変数の設定を上書きします) |
--role |
— | 列挙型 | 任意 | guest |
guest, operator, admin |
新しいキーに割り当てるロール(自分のロールを超えることはできません) |
--description |
— | 文字列 | 任意 | "LKCLI profile key for <user>@<host> created at <datetime>" |
最大256文字 | 人間が判別できる形式での、キーの目的の説明 |
--expiration-days |
— | 整数 | 任意 | デフォルト値はサーバー上で設定可能 | 最小: 0 | キーの有効期限切れまでの日数。0 = 無期限(guestキーのみ)。サーバーがデフォルト値と最大値を設定します。 |
例:
lkcli profile add-key \
--host=server1 \
--username=lkadmin \
--password=secret \
--role=admin \
--description="LKCLI key for server1" \
--expiration-days=180
profile configure
既存のAPIキーを、アクティブなプロファイルの認証情報ファイルに保存します。これは、すでにキーIDとシークレット(access-key createなど)を取得しており、それをローカルに登録したい場合に使用します。APIキーのシークレットが--secretフラグで指定されていない場合、TTYに接続されていると、対話形式でシークレットの入力を求められます。--managed フラグが指定されている場合、LKCLIがAPIキーのライフサイクル管理を担当します(つまり、lkcli profile remove-keyは、ローカルの認証情報ファイルからキーを削除するだけでなく、サーバー上でもキーを無効化します)。
必要なロール: 該当なし(ローカルのみの操作)
lkcli profile configure --key-id=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|---|---|
--key-id |
— | 文字列 | 必須 | — | 形式:lk_ + 24桁の16進数 |
保存するキーID |
--secret |
— | 文字列 | 必須 | — | 形式:lks_ + 48桁の16進数 |
保存するキーシークレット。指定されていない場合は対話形式で入力を求められます。 |
--username |
— | 文字列 | 必須 | — | — | APIキーに関連付けられたユーザー名(情報提供のみを目的としています) |
--role |
— | 列挙型 | 任意 | guest |
guest, operator, admin |
APIキーと共に保存するロール(情報提供のみを目的としています) |
--managed |
— | 真偽値 | 任意 | false |
— | LKCLIがこのAPIキーのライフサイクルを管理するかを設定します |
例:
lkcli profile configure \
--host=server1 \
--username=lkadmin \
--key-id=lk_a1b2c3d4e5f6a7b8c9d0e1f2
# (prompts for secret interactively)
profile info
アクティブなプロファイルに保存されている構成情報と認証情報メタデータを表示します。
必要なロール: 該当なし(ローカルのみの操作)
lkcli profile info [--profile=<文字列>] [フラグ]
このコマンドには、コマンド固有のフラグはありません。
profile list
ローカル設定ファイルと認証情報ファイル(%USERPROFILE%\.lkcli\config.yml および%USERPROFILE%\.lkcli\credentials.yml)で定義されているすべてのプロファイル名を一覧表示します。
必要なロール: 該当なし(ローカルのみの操作)
lkcli profile list [--profile=<文字列>] [フラグ]
このコマンドには、コマンド固有のフラグはありません。
profile refresh-key
既存のAPIキーを使用して、サーバー上に新しいAPIキーを作成し、アクティブなプロファイルに保存します。既存のAPIキーがmanaged: trueで保存されている場合、LKCLIは古いキーを自動的に無効化します。アクセス権を失うことなくAPIキーをローテーションするのに便利です。
必要なロール: guest
lkcli profile refresh-key [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|---|---|
--role |
— | 列挙型 | 任意 | guest |
guest, operator, admin |
新しいキーに割り当てるロール(保存されているキーの役割を超えることはできません) |
--description |
— | 文字列 | 任意 | "LKCLI profile key for <user>@<host> refreshed at <datetime>" |
最大256文字 | 人間が判別できる形式での、キーの目的の説明 |
--expiration-days |
— | 整数 | 任意 | デフォルト値はサーバー上で設定可能 | 最小: 0 | 新しいキーの有効期限が切れるまでの日数。0 = 無期限(guestキーのみ)。サーバーがデフォルト値と最大値を設定します。 |
--reason |
— | 文字列 | 任意 | "Replaced by lkcli profile refresh-key" |
最大256文字 | 古いキーを削除する理由(LKCLIで管理されている場合)(任意) |
例:
lkcli profile refresh-key --host=server1 \
--role=admin \
--description="Administrator key for server1" \
--expiration-days=180 \
--reason="Key rotation"
profile remove-key
アクティブプロファイルから、対象ホストの保存済み認証情報を削除します。必要に応じて、同時にサーバー上のキーを無効化します。
必要なロール: --local-onlyの場合は該当なし、--revokeの場合はguest
lkcli profile remove-key [--local-only | --revoke] [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
--local-only |
— | 真偽値 | 任意 | — | ローカルエントリーのみを削除します。サーバーには接続しません(--revokeオプションとは併用できません) |
--revoke |
— | 真偽値 | 任意 | — | サーバー上のキーを無効化し、ローカルエントリーを削除します(--local-onlyオプションとは同時に実行できません)。 |
例 :
lkcli profile remove-key --host=server1 --local-only
lkcli profile remove-key --host=server1 --revoke



このトピックへフィードバック