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

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

OpenAI Evalsシェルプラグインを使うと、1Passwordを使用して安全に認証し[oaieval、oaievalset ](https://github.com/openai/evals/blob/main/docs/run-evals.md)資格情報をプレーンテキストでSaveするのではなく、指紋、Apple Watch、またはシステム認証を使用してSaveします。

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

ヒント

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

### 必要条件 <a href="#wf88omhy3kxx" id="wf88omhy3kxx"></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 8 をインストールしてサインインします。
* ③[1Password CLI](https://app-updates.agilebits.com/product_history/CLI2) 2.19.0 以降をインストールします。 1Password CLI を既にインストールしている場合は、[インストールを更新する](https://developer.1password.com/docs/cli/reference/update/)方法を確認してください。
* ④[1Password CLI を 1Password アプリに接続します](https://developer.1password.com/docs/cli/app-integration/)。
* ⑤[OpenAI Evals をインストールします。](https://github.com/openai/evals/blob/main/docs/run-evals.md)

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

* Bash
* Zsh
* fish

### **ステップ 1: oaieval資格情報の設定** <a href="#id-38q0m2s9tmol" id="id-38q0m2s9tmol"></a>

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

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

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

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

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

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

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

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

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

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

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

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

* **"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;選択すると、資格情報が全てのターミナル セッションとディレクトリのデフォルトとして設定されます。ディレクトリ固有のデフォルトは、グローバル デフォルトよりも優先されます。

### **ステップ 2: oaievalset資格情報の設定** <a href="#zeht8p4lbm76" id="zeht8p4lbm76"></a>

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

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

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

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

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

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

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

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

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

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

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

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

* **"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="#fr67khro2nez" id="fr67khro2nez"></a>

* 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="#id-9j9j6vkcza" id="id-9j9j6vkcza"></a>

次回、oaieval または oaievalsetを使用してコマンドを入力すると、生体認証またはシステム認証による認証を求めるメッセージが表示されます。

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

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

### **次のステップ** <a href="#id-5ab7j428ng55" id="id-5ab7j428ng55"></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="#vspjh48j5k5d" id="vspjh48j5k5d"></a>

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

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

$ op plugin inspect \<plugin-executable>

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

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

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

$ op plugin clear \<plugin-executable>

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

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

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

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

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

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

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

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

。

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

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

### **もっと詳しく知る** <a href="#geayec3jlr0b" id="geayec3jlr0b"></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/)
