# 1PasswordでOpenAI CLIを安全に認証する

### **1PasswordでOpenAI CLIを安全に認証する** <a href="#fjk3dkncwwh7" id="fjk3dkncwwh7"></a>

OpenAIシェルプラグインを使うと、1Passwordを使用して[OpenAI CLI](https://pypi.org/project/openai/)を安全に認証できます。資格情報をプレーンテキストでSaveするのではなく、指紋、Apple Watch、またはシステム認証を使用してSaveします。

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

ヒント

1Password Shell プラグインを使用して[OpenAI Evals ](https://developer.1password.com/docs/cli/shell-plugins/openai-evals)を認証することもできます。

### 必要条件 <a href="#id-1ysddavsn20n" id="id-1ysddavsn20n"></a>

* ①1Passwordに[サインアップしてください。](https://1password.com/pricing)
* ②[Mac](https://support.1password.com/get-the-apps/?mac)または[Linux](https://support.1password.com/get-the-apps/?linux)用の 1Password をインストールしてサインインします。
* ③[1Password CLI](https://app-updates.agilebits.com/product_history/CLI2) 2.13.0 以降をインストールします。 1Password CLI を既にインストールしている場合は、[インストールを更新する](https://developer.1password.com/docs/cli/reference/update/)方法を確認してください。
* ④[1Password CLI を 1Password アプリと統合します](https://developer.1password.com/docs/cli/get-started/#step-2-turn-on-the-1password-desktop-app-integration)。
* ⑤[OpenAI CLI](https://pypi.org/project/openai/)をインストールします。

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

* Bash
* Zsh
* fish

### **ステップ1: OpenAI APIキーのCreateとSave** <a href="#id-5h4t9flnsh8f" id="id-5h4t9flnsh8f"></a>

OpenAI API キーを既にCreateしている場合は、[手順 2 に進んでください](https://developer.1password.com/docs/cli/shell-plugins/openai/#step-2-configure-your-default-credentials)。

API キーをまだCreateしていない場合は、Createして[1Password ブラウザ拡張機能](https://support.1password.com/getting-started-browser/)を使用して1Passwordに簡単にSaveできます。

* ①[ブラウザで 1Password を](https://support.1password.com/getting-started-browser/)開いてロックを解除します。
* ②[手順に従って](https://platform.openai.com/account/api-keys)OpenAI API キーをCreateします。
* ③1Password が OpenAI API キーのアイテムをSaveするかどうかを尋ねたら、**Save item**をクリックします。
* ④アイテムをSaveする保管庫を選択し、アイテムの名前と詳細を編集して、**Save item**をクリックします。

![OpenAI API キーを 1Password に保存するためのプロンプト。](https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FkFvmCPK04CVwCryVIvQy%2F0.png?alt=media)

### **ステップ2: デフォルトの資格情報** <a href="#id-56z5bom1wjq4" id="id-56z5bom1wjq4"></a>

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

* ①OpenAIプラグインで使う 1Password アカウントにサインインします。
* $ op signin
* ②特定のディレクトリでのみプラグインを設定したい場合は、そのディレクトリに変更します。
* ③プラグインを設定するには、次のコマンドを実行します。
* $ op plugin init openai

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

![op plugin init コマンドと、アイテムをインポートまたは選択するためのオプションを表示するターミナル ウィンドウ。](https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FEgZzoNsnvDHPbhHFAlPd%2F1.png?alt=media)

#### **ステップ 1.1: アイテムをインポートまたは選択する** <a href="#c7nikpp2vgvy" id="c7nikpp2vgvy"></a>

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

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

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

![トークン、アイテム名、ボールトなど、アイテムをインポートするために使用できるフィールドを表示するターミナル ウィンドウ。](https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FwZe2J80eH4ZaXBcktDVZ%2F2.png?alt=media)

**保存済みのアイテムを選択**

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

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

![1Password アカウント内の既存のアイテムを検索するオプションが表示されたターミナル ウィンドウ。](https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FyiMNFMvKCHQX0CUl9KCF%2F3.png?alt=media)

#### **ステップ 1.2: デフォルトの資格情報スコープを設定する** <a href="#tcx3yt2c2vy1" id="tcx3yt2c2vy1"></a>

資格情報を選択またはインポートすると、その項目をいつ使用してOpenAI を認証するかを構成するように求められます。

![資格情報をいつ使用するかを設定するためのオプションを表示するターミナル ウィンドウ。](https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FAqzbRO3IVeMMBXcbY20C%2F4.png?alt=media)

* **"Prompt me for each new terminal session"**&#x3092;選択すると、現在のターミナル セッションの期間中のみ資格情報が設定されます。ターミナルを終了すると、デフォルトは削除されます。
* **"Use automatically when in this directory or subdirectories"**&#x3092;選択すると、他のディレクトリ固有のデフォルトが設定されていない限り、現在のディレクトリとその全てのサブディレクトリで資格情報がデフォルトになります。ターミナル セッションのデフォルトは、ディレクトリ固有のデフォルトよりも優先されます。
* **"Use as global default on my system"**&#x3092;選択すると、資格情報が全てのターミナル セッションとディレクトリのデフォルトとして設定されます。ディレクトリ固有のデフォルトは、グローバル デフォルトよりも優先されます。

### **ステップ3: plugins.shファイルをsource化** <a href="#qsvnyu4jpxij" id="qsvnyu4jpxij"></a>

プラグインを使用できるようにするには、plugins.shファイルをソース化します。例:

$ source \~/.config/op/plugins.sh

フォルダーのファイル パスは、構成[ディレクトリ](https://developer.1password.com/docs/cli/config-directories/)opによって異なる場合があります。op plugin initは正しいファイル パスを含むソース コマンドを出力します。

シェル プラグインを初めてインストールする場合は、現在のターミナル セッションを超えてプラグインを永続化するために、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

### **ステップ4: CLIを使う** <a href="#ug7txs2d69y1" id="ug7txs2d69y1"></a>

次回OpenAIでコマンドを入力するときは、生体認証またはシステム認証による認証を求められます。

![1Password CLI 生体認証ロック解除を使用して認証されている CLI。](https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FG8sNp2k8O7h0Cg5Z9QfL%2F5.png?alt=media)

### **ステップ5: インポートした資格情報をdiskから削除** <a href="#pan29or7t24a" id="pan29or7t24a"></a>

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

### **次のステップ** <a href="#m7y2mxbs4tny" id="m7y2mxbs4tny"></a>

1Password Shell プラグインは[60 を超えるサードパーティの CLI を](https://developer.1password.com/docs/cli/shell-plugins/#get-started)サポートしています。サポートされている CLI のリストを表示するには:

$ op plugin list

別のプラグインを選択して開始するには:

$ op plugin init

シームレスなコンテキスト切り替えのためにシェル プラグインを使うには、[複数の環境](https://developer.1password.com/docs/cli/shell-plugins/environments/)または[複数のアカウント](https://developer.1password.com/docs/cli/shell-plugins/multiple-accounts/)でプラグインを構成する方法を学習します。

### **ヘルプを受ける** <a href="#rxgw8mgcdxop" id="rxgw8mgcdxop"></a>

#### **設定を検査する** <a href="#id-6fi3kpk5fca3" id="id-6fi3kpk5fca3"></a>

現在のOpenAI構成を検査するには:

$ op plugin inspect openai

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

![コマンド op plugin examine の結果を表示するターミナル ウィンドウ。](https://4200399111-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8GVOyHz3wUSpdV3qlPwR%2Fuploads%2FXAme7zc0bC0i9ZWr9HUW%2F6.png?alt=media)

#### **資格情報を消去する** <a href="#r1loany36q4k" id="r1loany36q4k"></a>

OpenAIで使用される資格情報をリセットするには:

$ op plugin clear openai

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

* ①ターミナルセッションのデフォルト
* ②ディレクトリのデフォルト、現在のディレクトリから$HOME
* ③グローバルデフォルト

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

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

### **参照** <a href="#gmdbpa703l1v" id="gmdbpa703l1v"></a>

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

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

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

| **1Password フィールド名** | **環境変数**         |
| -------------------- | ---------------- |
| API Key              | OPENAI\_API\_KEY |

[*このプラグインを提供してくれた*](https://github.com/1Password/shell-plugins/pull/152)*@jodyheavener*[*に*](https://github.com/jodyheavener)*感謝します。*[*独自のシェル プラグインを構築する*](https://developer.1password.com/docs/cli/shell-plugins/contribute/)*方法を学びましょう。*

### **もっと詳しく知る** <a href="#id-7nx8qhv23nxt" id="id-7nx8qhv23nxt"></a>

* [シェルプラグインを使用して複数の環境を切り替える](https://developer.1password.com/docs/cli/shell-plugins/environments/)
* [複数のアカウントでシェルプラグインを使う](https://developer.1password.com/docs/cli/shell-plugins/multiple-accounts/)
* [独自のシェルプラグインを構築する](https://developer.1password.com/docs/cli/shell-plugins/contribute/)
