LKCLIは、LifeKeeper REST APIを介してSIOS LifeKeeperクラスターのリソースを管理するためのコマンドラインインターフェースです。シェルプロンプトまたは自動化スクリプトから、クラスターリソース、コミュニケーションパス、リソースの依存関係、APIアクセスキーを作成および管理できます。

LKCLIは、クラスターノード上で実行されているLifeKeeper REST APIサーバーと通信します。各コマンドは、1台のサーバー (--hostで指定) を対象とします。必要に応じて、クラスター内の各ノードに対してコマンドを実行できます。

目次

認証とプロファイル

LKCLIは、次の2つの認証方法をサポートしています。

  1. パスワードによる認証 - コマンドラインで --username--password を直接指定します(または、環境変数 LKCLI_PASSWORD や対話型シェルプロンプトからパスワードを入力します)。CLIはこれらの認証情報を有効期限の短いJSON Web Token(JWT)と交換し、リクエストに使用します。
  1. ユーザープロファイル - 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 キーに割り当てられたロール (guestoperatorまたは admin)
managed このフィールドがtrueの場合、LKCLIは profile remove-key --revokeが実行されたとき、または profile refresh-key によって置き換えられたときに、サーバー上のキーを無効化します

構成の優先順位

設定可能な項目の値を決定する際、LKCLIは次の優先順位(高い順から低い順)を適用します。

接続設定 (--api-port, --timeout-connection, --timeout-read)

  1. CLIフラグ - コマンドラインで明示的に渡される値 (例:--api-port=5001
  2. config.yml のホストごとのエントリー - アクティブなプロファイルとターゲットホストに保存される値
  3. 組み込みのデフォルト値 - LKCLIにコンパイルされるデフォルト値 (グローバルフラグ を参照)

アクティブなプロファイル名

  1. --profile フラグ - コマンドラインで明示的に渡されたプロファイル名
  2. LKCLI_PROFILE 環境変数 - 例: export LKCLI_PROFILE=production
  3. config.ymldefault_profile キー - 設定ファイルの最上位キー
  4. 組み込みのデフォルト値 - 文字列 default

認証情報

  1. --username / --password フラグ - パスワードによる認証。CLIはこれらを有効期限の短いJWTと交換します
    1. --username が指定されている場合のパスワード解決順序:
      1. --passwordフラグ
      2. LKCLI_PASSWORD 環境変数
      3. 対話型プロンプト(TTY に接続されている場合のみ)
  1. 保存された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

ローカルサーバーのすべてのプロパティとフェイルオーバーポリシー設定を取得します。サーバー名、状態(ALIVEDEADUNKNOWNまたは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 文字列 任意 アプリケーションカテゴリー(例:commgendatabasefilesys)でフィルター
--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

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

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

送信