OpenClaw
セキュリティ & シークレット推奨

OpenClaw 1Password CLI スキルガイド

1Password CLI(op)で安全にシークレットを取得。

最終更新: 2026-03-04

クイックインストール

$ npx clawhub@latest install 1password

主な機能

自然言語で1Passwordボールトからシークレットを読み取り
op injectで設定ファイルに認証情報を注入
op runでシークレットを環境変数としてプロセスに渡す
単一または複数の1Passwordアカウントにサインイン
CLIでボールト、アイテム、ドキュメントを管理
tmuxベースのワークフローで信頼性の高い認証を強制

OpenClaw 1Password CLI スキル概要

1Password CLIスキルは、公式の1Password CLI (op)を通じてOpenClawを1Passwordボールトに接続します。インストール後、OpenClawエージェントはシークレットの読み取り、設定ファイルへの認証情報の注入、シークレットを環境変数としたプロセスの実行が可能になります。すべて自然言語コマンドで完了します。1Passwordアプリからのトークンのコピー&ペーストは不要です。

シークレット管理はあらゆる開発ワークフローの重要な要素です。OpenClaw 1Passwordスキルは、平文の設定ファイルにAPIキー、データベースパスワード、サービストークンを保存する必要性を排除します。OpenClawに必要なものを取得するよう依頼するだけで、エージェントが実行時にボールトから安全に取得します。

典型的なワークフロー:

  1. OpenClawにデータベース認証情報を.envファイルに注入するよう依頼する。
  2. エージェントがop injectを実行し、シークレット参照を実際の値に置き換える。
  3. 認証情報がアプリケーションで利用可能になる — 平文でディスクに書き込まれることはない。

このスキルはすべてのopコマンドにtmuxベースのワークフローを強制し、永続的な認証セッションを確保して自動化操作中のTTY障害を防ぎます。デスクトップアプリ統合(生体認証アンロック)とCI/CDパイプライン用のサービスアカウントトークンの両方をサポートしています。

1Password CLI スキルの前提条件

1Password CLIスキルをインストールする前に、以下を確認してください:

  • OpenClawがインストールされ実行中(v1.0+)
  • **1Password CLI (op)**がインストール済み — 公式インストールガイド
  • 1Passwordアカウント(個人、ファミリー、チーム、またはビジネス)
  • 信頼性の高いCLIセッション用にtmuxがインストール済み
  • スキル管理用のclawhub CLIがインストール済み — clawhubでインストール

セットアップを確認:

bash
# OpenClawバージョンを確認
openclaw --version

# 1Password CLIバージョンを確認
op --version

# tmuxが利用可能か確認
tmux -V

# 1Password認証状態を確認
op whoami

1Password CLI スキルのインストール方法

1つのコマンドで1Password CLIスキルをインストール:

bash
npx clawhub@latest install 1password

インストールを確認:

bash
clawhub list

インストール済みスキルのリストに1passwordが表示されるはずです。このスキルは公式OpenClaw skillsリポジトリで管理され、ClawHubで公開されています。

1Password CLI スキルの設定

このスキルには1Passwordアカウントとの認証が必要です。環境に応じて3つの方法があります。

方法1:デスクトップアプリ統合(開発環境におすすめ)

生体認証アンロックを有効にして、CLIが1Passwordデスクトップアプリを通じて認証するようにします:

bash
# デスクトップアプリ統合を有効化
op signin

プロンプトが表示されたら、1Passwordデスクトップアプリでサインインリクエストを承認します。この方法は生体認証(Touch ID、Windows Hello)を使用し、長期有効なトークンは不要です。

方法2:サービスアカウントトークン(CI/CDにおすすめ)

bash
# サービスアカウントトークンを設定
export OP_SERVICE_ACCOUNT_TOKEN=ops_your-service-account-token

サービスアカウントは特定のボールトへのスコープ付き・非対話型アクセスを提供します。my.1password.comDeveloper → Service Accountsで作成してください。

方法3:Connectサーバー(セルフホスト基盤向け)

bash
# Connectサーバーの認証情報を設定
export OP_CONNECT_HOST=https://your-connect-server:8080
export OP_CONNECT_TOKEN=your-connect-token

主要な環境変数

| 変数 | 用途 | |------|------| | OP_SERVICE_ACCOUNT_TOKEN | サービスアカウントで認証 | | OP_CONNECT_HOST | ConnectサーバーURL | | OP_CONNECT_TOKEN | Connectサーバーアクセストークン | | OP_ACCOUNT | マルチアカウント設定のデフォルトアカウント | | OP_BIOMETRIC_UNLOCK_ENABLED | デスクトップアプリ統合の切り替え |

重要: トークンを設定ファイルにハードコードしないでください。環境変数を使用するか、CI/CDプラットフォームのシークレットストアから注入してください。安全チェックリストで追加のセキュリティガイダンスを確認してください。

1Password CLI スキルの使用例

1. 実行時にシークレットを読み取り

あなた: 「ProductionボールトからStripe APIキーを取得して。」

エージェントがop read "op://Production/Stripe API/credential"を実行し、シークレット値を返します。キーはすぐに使用可能で、ファイルに保存されることはありません。

2. 設定ファイルにシークレットを注入

あなた:.env.templateファイルのすべてのシークレットを注入して.envとして保存して。」

エージェントがop inject -i .env.template -o .envを使用して、op://Vault/Item/fieldなどのシークレット参照を実際の値に置き換えます。テンプレートはバージョン管理にコミットしても安全で、出力ファイルに実際の認証情報が含まれます。

3. 注入されたシークレットでプロセスを実行

あなた: 「1Passwordの本番データベースURLを使ってデータベースマイグレーションスクリプトを実行して。」

エージェントがop run --env-file .env -- npm run migrateを実行し、プロセスの実行中にシークレットを環境変数として注入します。プロセスが終了すると、シークレットはメモリに残りません。

4. ボールトアイテムの一覧と検索

あなた: 「DevelopmentボールトのすべてのAPIキーを表示して。」

エージェントがop item list --vault Development --tags api-keyを実行し、名前、カテゴリ、最終更新日を含むフォーマットされたアイテムリストを返します。

セキュリティとベストプラクティス

1Passwordスキルはあなたの最も機密性の高い認証情報にアクセスします。安全のために以下のガイドラインに従ってください:

  • 最小権限の原則。 フルアカウントアクセスではなく、ボールトレベルのアクセスを付与してください。サービスアカウントは必要なボールトのみを参照できるようにしてください。
  • op readよりもop runop injectを優先。 これらのコマンドはシークレットを一時的に保ちます — ディスクに書き込まれたり、シェル履歴に保存されたりすることはありません。
  • シークレットをログ、チャット、コードに貼り付けない。 このスキルはシークレットをプロセスに直接注入し、クリップボードやターミナル出力をバイパスするよう設計されています。
  • 自動化にはサービスアカウントを使用。 CI/CDパイプラインで個人アカウントを使用しないでください。サービスアカウントはスコープ付きで監査可能なアクセスを提供します。
  • サービスアカウントトークンを定期的にローテーション。 トークン作成時に有効期限を設定し、少なくとも90日ごとにローテーションしてください。
  • tmux内でopコマンドを実行。 このスキルはtmuxベースのワークフローを強制し、長時間操作中のTTY障害やセッション切断を防ぎます。

1Password CLI スキルのよくあるエラーとトラブルシューティング

「account is not signed in」

1Passwordセッションが期限切れか、確立されていません。

bash
# デスクトップアプリで再認証
op signin

# セッションを確認
op whoami

サービスアカウントを使用している場合は、OP_SERVICE_ACCOUNT_TOKENが正しく設定されており、期限切れでないことを確認してください。

「could not find item」

要求されたアイテムが指定されたボールトに存在しないか、アカウントにアクセス権がありません。

  1. op item list --vault "ボールト名"でアイテム名とボールトを確認してください。
  2. アカウントにボールトの読み取り権限があることを確認してください。
  3. サービスアカウントの場合、ボールトがアカウントのアクセスポリシーに含まれていることを確認してください。

「tmux not found」またはTTYエラー

1Password CLIの対話型サインインにはTTYが必要です。このスキルはtmuxを使用して永続セッションを維持します。

bash
# tmuxをインストール
# macOS
brew install tmux

# Ubuntu / Debian
sudo apt install tmux

tmuxをインストール後、op signinを実行する前にtmux new -s op-sessionで新しいセッションを開始してください。

よくある質問

はい、適切なスコープ設定で安全です。推奨されるアプローチは、フルアカウントアクセスを付与するのではなく、特定のボールトへの読み取り専用アクセスを持つ**サービスアカウント**を使用することです。OpenClawは確認モデルに従っており、ボールト操作は実行前にあなたの承認が必要です。1Passwordの監査ログと組み合わせることで、すべてのシークレットアクセスが追跡可能で取り消し可能です。

はい。1Password CLIはマルチアカウントワークフローをサポートしています。`OP_ACCOUNT`環境変数でデフォルトアカウントを指定するか、コマンドごとに`--account`フラグを使用してください。異なるアカウントの異なるボールトのアイテムを参照する際、スキルが自動的にアカウント切り替えを処理します。

どちらもシークレット管理を提供しますが、異なるプラットフォームに接続します。[1Passwordスキル](/skills/1password)は`op` CLIを使用し、デスクトップアプリ統合、生体認証アンロック、サービスアカウントをサポートしています。[Bitwarden](/skills/bitwarden)スキルはVaultwardenを使用するセルフホストチームに最適です。チームの既存のパスワードマネージャーに合ったスキルを選択してください。両方とも実行時シークレット注入をサポートし、同じゼロ平文のポリシーに従っています。

関連スキル

Bitwarden / Vaultwarden
推奨

Bitwarden/Vaultwarden CLI と API でシークレットにアクセス。

GitGuardian ggshield
推奨

リポジトリのハードコードされたシークレットをスキャン(500+ 種類対応)。

Guardrails
推奨

ツール使用とリスクのある操作にセーフティガードレールを適用。

ClawHub でインストールスキル一覧に戻る