1Password と使う(AIエージェントも)
パスキーと二段階認証の6桁を1Passwordに保存する。AIエージェントにはログイン画面ではなくMCPを使わせ、そのAPIキーも1Passwordで守る
パスキーと二段階認証は、1Password に保存できます
ソラブンのパスキーと二段階認証は、どちらも標準の決まり(パスキーは WebAuthn、二段階認証は TOTP)どおりに作っています。1Password のようなパスワード管理アプリに保存して、そのままログインに使えます。
パスキーを 1Password に保存する
- パソコンのブラウザに 1Password の拡張機能を入れ、ロックを解除しておきます
- 「ユーザー > プロフィール」の「パスキー」 で 「パスキーを追加」 を押します
- 1Password の画面が出たら、パスキーを 1Password に保存します
以後、ログイン画面の 「パスキーでログイン」 を押すと、1Password がパスキーを出します。1Password に保存したパスキーは、1Password を入れたほかのパソコンやスマホでも使えます。
二段階認証の6桁を 1Password で出す
- 「ユーザー > プロフィール」の「二段階認証」 で 「設定する」 を押します
- 出てきたQRコードを、1Password で読み取ります(このサイトのログイン情報の項目の「ワンタイムパスワード」に、QRコードか、その下の英数字を入れます)
- 1Password に出た6桁を入れて 「確かめる」 を押します
以後のログインでは、6桁の入力欄に 1Password が6桁を入れられます。予備コード10個は、1Password が使えなくなったときのためのものなので、1Password とは別の所(印刷など)にも控えておいてください。
パスワードと二段階認証の6桁を同じ 1Password に置くと、1Password が開かれたときに両方が使われます。気になる人は、6桁だけスマホの認証アプリ(Google Authenticator など)に分けるか、パスキーを使ってください。パスキーなら、偽サイトでは反応しません。
AIエージェントには、ログイン画面ではなく MCP を使わせます
1Password は2026年10月から、「1Password for Agents」 で、AIエージェントがパスワードを見ないままWebサイトにログインできるようにしました(ログインのたびに、本人が自分の端末で許可します。使えるAIは順に増えています)。
ただ、WordPress の管理画面に AI をログインさせるのは、おすすめしません。
- ログイン画面の 画像認証 をオンにしていると、AI はそこで止まります(1Password は画像の文字を入れません)
- 管理画面に入れた AI は、その人ができることを全部できてしまいます(設定の変更・プラグインの削除も)
ソラブンには、AI のための入口として MCP があります。MCP の AI にできるのは決まった道具だけで、設定の変更・記事の削除・APIキーの操作はできません。公開状態も、既定は下書きです。AI に記事を作らせたり読ませたりするなら、REST APIとMCP連携 の MCP を使ってください。
MCP の APIキーを、設定ファイルに書かない
REST APIとMCP連携 の登録のしかたでは、APIキー(sbk_…)を設定ファイルにそのまま書きます。そのファイルを人に渡したり、GitHub に上げたりすると、キーも一緒に漏れます。1Password を使っているなら、キーは 1Password に置き、使うときだけ AI のアプリに渡せます。
用意するもの: 1Password のデスクトップアプリと 1Password CLI(op)。デスクトップアプリの設定で CLI との連携をオンにすると、op を使うたびに指紋などで許可するだけで済みます。
- 「設定 > REST API / MCP連携」の APIキーを、1Password に新しい項目として保存します(例: 保管庫「Private」の項目「Sorabun MCP」)
- 1Password のデスクトップアプリで、キーの欄のメニューから 「Copy Secret Reference」(秘密の参照をコピー)を選びます。
op://Private/Sorabun MCP/credentialのような、キーの「置き場所」がコピーされます(キーそのものではありません)。メニューに無いときは、op item get "Sorabun MCP" --format jsonの、欄ごとのreferenceで確かめられます - Claude Code の場合は、プロジェクトの
.mcp.jsonに、キーの代わりに${SORABUN_API_KEY}と書きます
{
"mcpServers": {
"sorabun": {
"type": "http",
"url": "https://あなたのサイト/wp-json/sorabun/v1/mcp",
"headers": { "Authorization": "Bearer ${SORABUN_API_KEY}" }
}
}
}
最後に、起動するときに 1Password からキーを読んで渡します。
SORABUN_API_KEY="$(op read 'op://Private/Sorabun MCP/credential')" claude
キーは、この1回の起動の間だけメモリーにあり、ファイルには残りません。.mcp.json にはキーが入っていないので、チームで共有しても漏れません。
「設定 > REST API / MCP連携」で APIキーを発行し直すと、古いキーはすぐに使えなくなります。新しいキーを 1Password の同じ項目に上書きすれば、手順はそのままで動きます。
自分のサーバーなら、AIのAPIキーも 1Password から(VPS・クラウド向け)
ソラブンは、設定画面の値より wp-config.php の定数をいちばん先に読みます(例: SORABUN_GEMINI_API_KEY。APIキーを準備する)。そのため、1Password CLI の op inject を使えば、キーを書いていないひな形から、置くときに本物のキーを入れた wp-config.php を作れます。プラグインの設定を変える必要はありません。
ひな形(wp-config.tpl.php。キーが入っていないので、Git に入れられます):
define( 'SORABUN_GEMINI_API_KEY', '{{ op://Sorabun/Gemini/credential }}' );
define( 'SORABUN_OPENAI_API_KEY', '{{ op://Sorabun/OpenAI/credential }}' );
サーバーに置くとき:
op inject -i wp-config.tpl.php -o wp-config.php
- サーバーで人が操作しないときは、1Password の サービスアカウント を使い、そのトークンを
OP_SERVICE_ACCOUNT_TOKENに入れてopを動かします。サービスアカウントは「Private」などの個人の保管庫を読めないので、ソラブン用の保管庫(上の例では「Sorabun」)を作ってください - できた wp-config.php には本物のキーが入ります。これまでどおり、外から読めない場所・権限にしてください
- 共用のレンタルサーバーでは
opを動かせないことが多いので、これまでどおり設定画面に入れてください(ソラブンは暗号化して保存します)