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