1PasswordでYugabyteDB SQL Shellを安全に認証する
1Passwordマニュアル|YugabyteDB SQL Shellシェルプラグインを使い1Passwordで安全に認証する方法を解説します。
1Passwordマニュアル|YugabyteDB SQL Shellシェルプラグインを使い1Passwordで安全に認証する方法を解説します。
YugabyteDB SQL Shellシェルプラグインを使うと、1Passwordを使ってを安全に認証できます。資格情報を平文でSaveするのではなく、指紋、Apple Watch、またはシステム認証を使ってSaveします。
指示に従ってデフォルトの資格情報を設定し、plugins.shファイルを取得すると、生体認証を使ってYugabyteDB SQL Shellを認証するように求められます。
1Passwordに
または用の1Password 8をインストールしてサインインします。
2.22.0以降をインストールします。1Password CLIを既にインストールしている場合は、方法を確認してください。
。
次のシェルがサポートされています:
Bash
Zsh
fish
YugabyteDB SQL Shellシェルプラグインを使い始めるには:
YugabyteDB SQL Shellプラグインで使う1Passwordアカウントに次のコマンドでサインインします。
$ op signin
特定のディレクトリーでのみプラグインを設定したい場合は、そのディレクトリーに変更します。
プラグインを設定するために、次のコマンドを実行します。
$ op plugin init ysqlsh
YugabyteDB SQL Shellの資格情報を1Passwordにインポートするか、資格情報がSaveされている保存済みの1Passwordアイテムを選択して、資格情報をいつ使うかを設定するように求められます。
新しいアイテムをインポートする場合
YugabyteDB SQL Shel の認証情報を1PasswordにまだSaveしていない場合は、[Import into 1Password]を選択します。認証情報を入力し、新しい1Passwordアイテムの名前を選択して、Save先の保管庫を選択します。
1Passwordがローカル開発環境で資格情報を検出すると、自動的にインポートするように求められます。
保存済みのアイテムを選択する場合
YugabyteDB SQL Shellの資格情報を1Passwordに既にSaveしている場合は、[Search in 1Password]を選択します。
関連するアイテムとそれらがSaveされている保管庫のリストが表示されます。資格情報が表示されない場合は、[Expand search]を選択して、アカウント内の全アイテムを参照します。
資格情報を選択またはインポートすると、その項目をいつ使ってYugabyteDB SQL Shellを認証するかを設定するように求められます。
[Prompt me for each new terminal session]を選択すると、現在のターミナルセッションの期間中のみ資格情報が設定されます。ターミナルを終了すると、デフォルトは削除されます。
[Use automatically when in this directory or subdirectories]を選択すると、他のディレクトリー固有のデフォルトが設定されていない限り、現在のディレクトリーとその全てのサブディレクトリーで資格情報がデフォルトになります。ターミナルセッションのデフォルトは、ディレクトリー固有のデフォルトよりも優先されます。
[Use as global default on my system]を選択すると、資格情報が全ターミナルセッションとディレクトリーのデフォルトとして設定されます。ディレクトリー固有のデフォルトは、グローバルデフォルトよりも優先されます。
プラグインを使えるようにするには、plugins.shファイルをソースします。
例:
$ source ~/.config/op/plugins.sh
シェルプラグインを初めてインストールする場合は、現在のターミナルセッションを超えてプラグインを永続化するために、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
次回YugabyteDB SQL Shellを使ってコマンドを入力するときに、生体認証またはシステム認証による認証を求めるメッセージが表示されます。
YugabyteDB SQL Shellの資格情報を1PasswordにSaveしたら、以前にディスクにSaveした全てのローカルコピーを削除できます。
$ op plugin list
別のプラグインを選択して開始するには次のように入力してください:
$ op plugin init
現在のYugabyteDB SQL Shell設定を検査するには次のように入力してください:
$ op plugin inspect ysqlsh
1Password CLIは、YugabyteDB SQL Shellで使うために設定した資格情報とそのデフォルトのスコープのリスト、およびYugabyteDB SQL Shell用に設定されたエイリアスのリストを返します。
YugabyteDB SQL Shellで使用される資格情報をリセットするには、次のように入力してください:
$ op plugin clear ysqlsh
次の優先順位に従って、1回に1つの構成をクリアできます。
ターミナルセッションのデフォルト
ディレクトリーのデフォルト、現在のディレクトリーから$HOMEまで
グローバルデフォルト
例えば、$HOME/projects/awesomeProjectディレクトリー内にいて、ターミナルセッションのデフォルト、ディレクトリーのデフォルトが$HOMEおよび$HOME/projects/awesomeProjectであり、さらにグローバルデフォルトの資格情報が構成されている場合、全てのデフォルトをクリアするにはop plugin clear ysqlshを4回実行する必要があります。
グローバルデフォルト資格情報、ターミナルセッション デフォルト、および現在のディレクトリーのデフォルトを同時にクリアするには、op plugin clear ysqlsh --allを実行します。
1Passwordは、プラグインコマンドに必要な資格情報を1Passwordアカウントから直接環境変数に挿入することで、YugabyteDB SQL Shellで認証します。
新しいアイテムをop pluginコマンドでインポートせず、YugabyteDB SQL Shellの資格情報を1Passwordに手動でSaveした場合は、フィールド名が以下の表と一致していることを確認してください。
アイテムに必要な名前のフィールドが含まれていない場合は、保存済みのフィールドのいずれかの名前を変更するように求められます。
1Passwordフィールド名
環境変数
Host
PGHOST
Port
PGPORT
Username
PGUSER
Password
PGPASSWORD
あなたの環境のopフォルダーのファイルパスは、によって異なる場合があります。op plugin initコマンドで、正しいファイルパスを含むソースコマンドを出力します。
1Password Shellプラグインはをサポートしています。サポートされているCLIのリストを表示するには次のように入力してください:
またはでプラグインを構成する方法を学んでください。
、に感謝します。方法を学びましょう。