1Passwordを使用してAxiom CLIを安全に認証する
1Passwordマニュアル|Axiom CLIシェルプラグインを活用し、1Passwordでの安全な認証方法を詳しく解説します。セキュリティー強化に最適です。
Table of Contents
1Passwordを使用してAxiom CLIを安全に認証する
Axiom CLIシェルプラグインを使うと、1Passwordを使用してAxiom CLIを安全に認証できます。資格情報をプレーンテキストでSaveするのではなく、指紋、Apple Watch、またはシステム認証を使用してSaveします。 指示に従ってデフォルトの資格情報を設定し、plugins.shファイルを取得すると、生体認証を使用して Axiom CLI を認証するように求められます。
必要条件
- 1. 1Passwordにサインアップしてください。
- 2. MacまたはLinux用の 1Password 8 をインストールしてサインインします。
- 3. 1Password CLI 2.xx 以降をインストールします。既に 1Password CLI をインストールしている場合は、インストールを更新する 方法を確認してください。
- 4.1Password CLI を 1Password アプリに接続します。
- 5. Axiom CLI をインストールします。
次のシェルがサポートされています:
- Bash
- Zsh
- fish
ステップ 1: デフォルトの資格情報
Axiom CLIシェル プラグインを使い始めるには:
- ①Axiom CLIプラグインで使う 1Password アカウントにサインインします。
- $ op signin
- ②特定のディレクトリでのみプラグインを設定したい場合は、そのディレクトリに変更します
- ③プラグインを設定するには、次のコマンドを実行します。
- $ op plugin init axiom
Axiom CLI の資格情報を 1Passwordにインポートするか、資格情報がSaveされている保存済みの 1Password 項目を選択して、資格情報をいつ使うかを設定するように求められます。
ステップ 1.1: アイテムをインポートまたは選択する
新しいアイテムをインポートする
Axiom CLI の認証情報を 1PasswordにまだSaveしていない場合は、Import into 1Passwordを選択します。
認証情報を入力し、新しい 1Password アイテムの名前を選択して、Save先の保管庫を選択します。 1Password がローカル開発環境で資格情報を検出すると、自動的にインポートするように求められます。
保存済みのアイテムを選択
Axiom CLI の認証情報を既に 1PasswordにSaveしている場合は、Search in 1Passwordを選択します。 関連するアイテムとそれらがSaveされている保管庫のリストが表示されます。
資格情報が表示されない場合は、Expand searchを選択して、アカウント内の全てのアイテムを参照します。
ステップ 1.2: デフォルトの資格情報スコープを設定する
資格情報を選択またはインポートすると、 Axiom CLI の認証にその項目を使うタイミングを構成するように求められます。
- "Prompt me for each new terminal session"を選択すると、現在のターミナル セッションの期間中のみ資格情報が設定されます。ターミナルを終了すると、デフォルトは削除されます。
- "Use automatically when in this directory or subdirectories"を選択すると、他のディレクトリ固有のデフォルトが設定されていない限り、現在のディレクトリとその全てのサブディレクトリで資格情報がデフォルトになります。ターミナル セッションのデフォルトは、ディレクトリ固有のデフォルトよりも優先されます。
- "Use as global default on my system" を選択すると、資格情報が全てのターミナル セッションとディレクトリのデフォルトとして設定されます。ディレクトリ固有のデフォルトは、グローバル デフォルトよりも優先されます。
ステップ2: plugins.shファイルをsourceにする
プラグインを使用できるようにするには、plugins.shファイルをソース化します。例:
$ source ~/.config/op/plugins.sh opフォルダーのファイル パスは、構成ディレクトリによって異なる場合があります。
op plugin initは正しいファイル パスを含むソース コマンドを出力します。
シェル プラグインを初めてインストールする場合は、現在のターミナル セッションを超えてプラグインを永続化するために、RC ファイルまたはシェル プロファイルに source コマンドを追加する必要があります。例:
- Bash
$ echo "source ~/.op/plugins.sh" >> ~/.bashrc && source ~/.bashrc
- Zsh
$ echo "source ~/.op/plugins.sh" >> ~/.zshrc && source ~/.zshrc
- fish
$ echo "source ~/.op/plugins.sh" >> ~/.config/fish/config.fish && source ~/.config/fish/config.fish
ステップ3: CLIを使う
次回Axiom CLIでコマンドを入力するときに、生体認証またはシステム認証による認証を求めるメッセージが表示されます。
ステップ4: インポートした資格情報をdiskから削除
Axiom CLI認証情報を 1PasswordにSaveしたら、以前にディスクにSaveした全てのローカル コピーを削除できます。
次のステップ
1Password Shell プラグインは60 を超えるサードパーティの CLI をサポートしています。サポートされている CLI のリストを表示するには:
$ op plugin list
別のプラグインを選択して開始するには:
$ op plugin init
シームレスなコンテキスト切り替えのためにシェル プラグインを使うには、複数の環境または複数のアカウントでプラグインを構成する方法を学習します。
ヘルプを受ける
設定を検査する
現在のAxiom CLI構成を検査するには:
$ op plugin inspect axiom
1Password CLI は、 Axiom CLIで使うために設定した資格情報とそのデフォルト スコープのリスト、およびAxiom CLI用に設定されたエイリアスのリストを返します。
資格情報を消去する
Axiom CLIで使用される資格情報をリセットするには: $ op plugin clear axiom 次の優先順位に従って、一度に 1 つの構成をクリアできます。
- ①ターミナルセッションのデフォルト
- ②ディレクトリのデフォルト、現在のディレクトリから$HOME
- ③グローバルデフォルト
例えば、ディレクトリ内にいて$HOME/projects/awesomeProject、ターミナル セッションのデフォルト、$HOMEおよびのディレクトリのデフォルト$HOME/projects/awesomeProject、およびグローバル デフォルトの資格情報が構成されている場合、全てのデフォルトをクリアするには op plugin clear axiomを 4 回実行する必要があります。
グローバル デフォルト資格情報、ターミナル セッション デフォルト、および現在のディレクトリのデフォルトを同時にクリアするには、 op plugin clear axiom --allを実行します。
参照
1Password は、プラグイン コマンドに必要な資格情報を 1Password アカウントから直接環境変数に挿入することで、Axiom CLIで認証します。
新しい項目をインポートするためにop pluginを使うのではなく、Axiom CLI 資格情報を 1Passwordに手動でSaveした場合は、フィールド名が以下の表と一致していることを確認してください。
アイテムに必要な名前のフィールドが含まれていない場合は、保存済みのフィールドのいずれかの名前を変更するように求められます。
1Passwordフィールド名 | 環境変数 |
Token | AXIOM_TOKEN |
Organization | AXIOM_ORG_ID |
Deployment | AXIOM_DEPLOYMENT |
このプラグインを提供してくれた@ rajapri28613に感謝します。独自のシェル プラグインを構築する方法を学びましょう。