1PasswordでZapier CLIを安全に認証する

1Passwordマニュアル|Zapier CLIシェルプラグインを使い1Passwordで安全に認証する方法を解説します。

1PasswordでZapier CLIを安全に認証する

Zapier CLIシェルプラグインを使うと、1Passwordを使ってZapier CLIを安全に認証できます。資格情報を平文でSaveするのではなく、指紋、Apple Watch、またはシステム認証を使ってSaveします。

指示に従ってデフォルトの資格情報を設定し、plugins.shファイルを取得すると、生体認証を使ってZapier CLIを認証するように求められます。

必要条件

  1. MacまたはLinux用の1Password 8をインストールしてサインインします。

  2. 1Password CLI 2.22.0以降をインストールします。1Password CLIを既にインストールしている場合は、最新版に更新する方法を確認してください。

次のシェルがサポートされています:

  • Bash

  • Zsh

  • fish

ステップ 1:デフォルトの資格情報を設定する

Zapier CLIシェルプラグインを使い始めるには:

  1. Zapier CLIプラグインで使う1Passwordアカウントに次のコマンドでサインインします。

$ op signin

  1. 特定のディレクトリーでのみプラグインを設定したい場合は、そのディレクトリーに変更します。

  2. プラグインを設定するには、次のコマンドを実行します。

$ op plugin init zapier

Zapier CLIの認証情報を1Passwordにインポートするか、認証情報がSaveされている保存済みの 1Passwordアイテムを選択して、認証情報をいつ使うかを設定するように求められます。

ステップ 1.1:アイテムをインポートまたは選択する

新しいアイテムをインポートする場合

Zapier CLIの認証情報を1PasswordにまだSaveしていない場合は、[Import into 1Password]を選択します。認証情報を入力し、新しい1Passwordアイテムの名前を選択して、Save先の保管庫を選択します。

1Passwordがローカル開発環境で資格情報を検出すると、自動的にインポートするように求められます。

保存済みのアイテムを選択する場合

既にZapier CLIの認証情報を1PasswordにSaveしている場合は、[Search in 1Password]を選択します。

関連するアイテムとそれらがSaveされている保管庫のリストが表示されます。資格情報が表示されない場合は、[Expand search]を選択して、アカウント内の全アイテムを参照します。

ステップ 1.2:デフォルトの資格情報のスコープを設定する

資格情報を選択またはインポートすると、その項目をZapier 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を利用する

次回Zapier CLIでコマンドを入力するときに、生体認証またはシステム認証による認証を求めるメッセージが表示されます。

ステップ4:インポートした資格情報をディスクから削除する

Zapier CLIの認証情報を1PasswordにSaveしたら、以前にディスクにSaveした全てのローカルコピーを削除できます。

次のステップ

1Password Shellプラグインは60を超えるサードパーティーのCLIをサポートしています。サポートされているCLIのリストを表示するには次のように入力してください:

$ op plugin list

別のプラグインを選択して開始するには次のように入力してください:

$ op plugin init

シームレスなコンテキスト切り替えのためにシェルプラグインを使うには、複数の環境または複数のアカウントでプラグインを構成する方法を学んでください。

ヘルプを取得する

設定を検査する

現在のZapier CLI設定を検査するには次のように入力してください:

$ op plugin inspect zapier

1Password CLIは、Zapier CLIで使うために設定した資格情報とそのデフォルトのスコープのリスト、およびZapier CLI用に設定されたエイリアスのリストを返します。

資格情報を消去する

Zapier CLIで使用される資格情報をリセットするには、次のように入力してください:

$ op plugin clear zapier

次の優先順位に従って、1回に1つの構成をクリアできます。

  1. ターミナルセッションのデフォルト

  2. ディレクトリーのデフォルト、現在のディレクトリーから$HOME

  3. グローバルデフォルト

例えば、$HOME/projects/awesomeProjectディレクトリー内にいて、ターミナルセッションのデフォルト、ディレクトリーのデフォルトが$HOMEおよび$HOME/projects/awesomeProjectであり、さらにグローバルデフォルトの資格情報が設定されている場合、全てのデフォルトをクリアするにはop plugin clear zapierを4回実行する必要があります。

グローバルデフォルト資格情報、ターミナルセッションデフォルト、および現在のディレクトリーのデフォルトを同時にクリアするには、op plugin clear zapier --allを実行します。

リファレンス

1Passwordは、プラグインコマンドに必要な資格情報を1Passwordアカウントから直接環境変数に挿入することで、Zapier CLIで認証します。

新しい項目をop pluginコマンドでインポートせず、Zapier CLI認証情報を1Passwordに手動でSaveした場合は、フィールド名が以下の表と一致していることを確認してください。

アイテムに必要な名前のフィールドが含まれていない場合は、保存済みのフィールドのいずれかの名前を変更するように求められます。

1Passwordフィールド名

環境変数

Key

ZAPIER_DEPLOY_KEY

このプラグインを提供してくれた@ rajapri28613に感謝します。独自のシェルプラグインを構築する方法を学びましょう。