1Password CLIリファレンス

1Passwordマニュアル|1Password CLIの使い方を詳しく解説。名詞-動詞コマンド構造で効率的に操作し、セキュリティー管理を強化しましょう。

初めに

もし1Password CLIを初めて使うのであれば、1Passwordを導入してあなたのアカウントにサインインする方法を読んでください。

コマンドの基本構文

op [command] <flags>

1Password CLIでは、操Createごとではなくトピックごとにコマンドをグループ化する、名詞-動詞型のコマンド構造を使います。

1Passwordプログラムの基本的な構成は「op」から始まり、次に①コマンド名(名詞)が続き、さらに多くの場合②サブコマンド (動詞)や③フラグ(コマンドに渡される追加情報を含む) が続きます。

例えば、プライベートVault内の全アイテムのリストを取得するには、次のようにします。

$ op ①item ②list ③--vault Private

全てのグローバル コマンドとフラグのリストを取得するには、次のコマンドを実行します。​

$ op --help

コマンドリファレンス

  • account: ローカルで設定した1Passwordアカウントを管理する

  • completion: シェル補完情報を生Createする

  • connect: 1Passwordアカウント内でConnectサーバーインスタンスとトークンを管理する

  • Document: Vault内のDocumentアイテムに対するCRUD操Createの実行

  • events-api: 1PasswordアカウントでイベントAPIインテグレーション群を管理する

  • group: 1Passwordアカウント内でグループを管理する

  • inject: シークレットを設定ファイル内に書き込む

  • item: 1つないし複数のVault内の1Passwordアイテムに対してCRUD操Createを行う

  • plugin: サードパーティのコマンドラインインターフェイスを認証するために使うシェルプラグインを管理する

  • read: シークレット参照を読み込む

  • run: プロセスに対してシークレットを環境変数として渡す

  • service-account: 1つないし複数のサービスアカウントを管理する

  • signin: 1Passwordアカウントにサインインする

  • signout: 1Password accountからサインアウトする

  • update: アップデートをチェックして必要ならダウンロードす

  • user: 利用中の1Passwordアカウント内のユーザーを管理する

  • vault: あなたの1PasswordのVault上で権限を管理しCRUD操Createを実行する

  • whoami: サインインしているアカウントの情報を取得する

グローバルフラグ

  • --account string アカウントの短縮形、サインイン アドレス、アカウントID、またはユーザーIDでコマンドを実行するアカウントを選択します。使用可能なアカウントの一覧を表示するには、「op account list」を実行します。OP_ACCOUNT環境変数として設定できます。

  • --cache キャッシュされた情報をSaveして利用します。UNIX 系システムではキャッシュはデフォルトで有効になっています。Windowsではキャッシュは使用できません。オプション:true、falseが設定可能。OP_CACHE環境変数で設定することもできます(デフォルトは true)。

  • --config directory 指定した設定ディレクトリを使用します。

  • --debug デバッグモードを有効にします。OP_DEBUG環境変数をtrueに設定することでも有効にできます。

  • --encoding type 指定した文字エンコードタイプを使用します。デフォルトはUTF-で、SHIFT_JIS、gbkもサポートします。

  • --format string 指定した出力形式を使用します。'human-readable'または'json'にすることができます。OP_FORMAT環境変数として設定できます(デフォルトは "human-readable")。

  • -h, --help opコマンドのヘルプを取得します。

  • --iso-timestamps ISO 8601 / RFC 3339に従ってタイムスタンプをフォーマットします。OP_ISO_TIMESTAMPS環境変数として設定できます。

  • --no-color 色なしで出力します。

  • --session token 指定したセッショントークンで認証します。1Passwordアプリインテグレーションが有効になっていない場合、1Password CLI はCreate功した`op signin` コマンドのセッショントークンを出力します。

固有識別子(IDs)

get および list サブコマンドを使ってオブジェクトに関する情報を取得すると、オブジェクトの一意の識別子(ID)を構成する26個の数字と文字の文字列が表示されます。

任意のアカウント、ユーザー、Vault、またはアイテムを引数として受け取るコマンドでは、名前またはIDを使用できます。

IDはアイテムを参照する最も安定した方法です。アイテムのIDは、アイテムを別のVaultに移動した場合にのみ変更されます。IDが指定されたコマンドは、より高速かつ効率的です。

op item getを使うと、アイテムのIDやアイテムが保管されているVaultのIDなど、アイテムに関する情報を取得できます。

$ op item get Netflix

結果の例:

ID: t2Vz6kMDjByzEAcq6peKnHL4k3

Title: Netflix

Vault: Private (sdfsdf7werjgdf8gdfgjdfgkj)

Created: 6 months ago

Updated: 1 month ago by Wendy Appleseed

Favorite: false

Version: 1

Category: LOGIN

アイテムIDのみを取得するには、形式をJSONに設定して同じコマンドを使い、さらにjqを使って出力を解析します。

$ op item get Netflix --format json | jq .id

結果の例: "t2Vz6kMDjByzEAcq6peKnHL4k3"

アカウント内の全てのVaultのIDを取得するには次のように命令します:

$ op vault list

結果の例: ID NAME

Cfqtakqiutfhiewomztljx4woy Development

Rr3ggvrlr6opoete23q7c22ahi Personal

2gq6v6vzorl7jfxdurns4hl66 Work

シェル補完

シェル補完を追加すると、1Password CLIが各コマンドを自動的に補完できるようになります。

シェル補完が有効になっている場合は、opコマンドの入力を開始し、Tabキーを押せば使用可能なコマンドとオプションを表示します。

Bashの場合

Bash でシェル補完を有効にするには:

①bash-complationパッケージをインストールする

②.bashrcファイルに次の行を追加してください。 source <(op completion bash)

Zshの場合

Zshでシェル補完を有効にするには.zshrcファイルに次の行を追加してください。

eval "$(op completion zsh)"; compdef _op op

fishの場合

fishでシェル補完を有効にするには.fishファイルに次の行を追加してください。

op completion fish | source

PowerShellの場合

PowerShellでシェル補完を有効にするには.ps1ファイルに次の行を追加してください。

op completion powershell | Out-String | Invoke-Expression

シェル補完を使い始めるには、さらにPowerShellでスクリプトの実行を有効にする必要があります。そのためには、PowerShellウィンドウを管理者として起動し、次のように入力します。

PS C:¥> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

アイテムとVaultの情報をキャッシュする

1Password CLIはデーモンプロセスを使って、アイテム、Vaultの情報、アカウント内の情報にアクセスするための鍵をキャッシュできます。

デーモンは、1Password.comと同じ暗号化方法を使って、暗号化された情報をメモリーにSaveします。デーモンは、1Password CLI に渡す情報を読み取ることはできますが、復号することはできません。

UNIX系システムでは、コマンド間のキャッシュがデフォルトで有効になっています。これにより、パフォーマンスが最大化され、 API呼び出しの回数が削減されます。

キャッシュが不可能な環境で1Password CLIを使う場合は、コマンドに--cache=falseフラグを追加するか、OP_CACHE環境変数をfalseに設定することで、キャッシュをオフにすることができます。

キャッシュは現在のところWindowsでは利用できません。

代替文字エンコーディング

デフォルトでは、1Password CLIはUTF-8エンコーディングで入力と出力を処理します。--encodingオプションを使うと、別の文字エンコーディングも使えます。

サポートされている代替文字エンコード タイプ:

gpk

shift-jis

jqでJSON出力を解析する

--formatフラグまたはOP_FORMAT環境変数を使って、1Password CLIコマンドの出力をjsonに設定できます。

JSON出力を解析するには、コマンドライン ツールjqを使うことをお勧めします。

例えば、 jqを使ってGitHubという名前のアイテムにSaveされているパスワードのシークレット参照を取得するには、次のようにします。

$ op item get GitHub --format json --fields password | jq .reference 結果の例: "op://development/GitHub/password"

ベータビルド

1Password CLIのベータビルドをダウンロードするには、1Password CLI downloadsページに移動し、[Show betas]トグルを選択します。Linuxでは、パッケージマネージャーで1Passwordリポジトリーを追加するときに、チャネルを「stable」から「beta」に切り替えることができます。

コマンドの例

アイテム

アイテムに関する情報を取得するには次のように入力します。

$ op item get <アイテム名>

アイテムのID、タイトル、保管庫、Create日時、最終変更日時、アイテムのバージョン、お気に入りとしてマークされているかどうか、アイテムの種類、アイテムのフィールドが表示されます。

アイテム名にスペースまたは特殊文字が含まれている場合は、引用符で囲みます。

$ op item get "work email" 結果の例: ID: a5w3is43ohs25qonzajrqaqx4q

Title: work email

Vault: Work (2gq6v6vzorl7jfxdurns4hl66e)

Created: 6 years ago

Updated: 9 months ago by Wendy Appleseed

Favorite: true

Version: 1

Category: LOGIN

Fields:

username: [email protected]

password: NLuXcEtg27JMjGmiBHXZMGCgce

URLs:

website: https://www.gmail.com (primary)

op item getを使い特定のフィールドを取得するには、--fieldsフラグに続いてカンマ区切りのリストを指定し、各フィールド名の前にプレフィックスlabel=を付けます。例えば、work emailアイテムのユーザー名とパスワードのみを取得するには、次のようにします。

$ op item get "work email" --fields label=username,label=password 結果の例: [email protected],NLuXcEtg27JMjGmiBHXZMGCgce

アイテムの操Createについて詳しく学びましょう。

ユーザーとグループ

ユーザーの詳細を取得するには次のように入力します。

$ op user get "Wendy Appleseed"

結果の例: ID: SPRXJFTDHTA2DDTPE5F7DA64RQ

Name: Wendy Appleseed

Email: [email protected]

State: ACTIVE

Type: MEMBER

Created: 6 years ago

Updated: 4 months ago

Last Authentication: 1 month ago

グループに属するユーザーを一覧表示するには次のように入力します。

$ op group user list "Provision Managers"

結果の例: ID NAME EMAIL STATE TYPE ROLE

7YEOODASGJE6VAEIOHYWGP33II Wendy Appleseed [email protected] ACTIVE MEMBER

UKCYFVOJSFEXLKKZREG7M2MZWM Johnny Appleseed [email protected] RECOVERY_STARTED MEMBER

ユーザーグループの操Createについて詳しく学びましょう。

Vault

Testという名前の新しいVaultをCreateするには次のように入力します。

$ op vault create Test

保存済みのVaultの詳細を取得するには次のように入力します。

$ op vault get Work

結果の例:

ID: jAeq2tfunmifZfG4WkuWvsaGGj

Name: Work

Type: USER_CREATED

Attribute version: 3

Content version: 241

Items: 25

Created: 1 year ago

Updated: 1 month ago

アカウント内のVaultを一覧表示するには次のように入力します。

$ op vault list

結果の例:

ID NAME

vw8qjYEvsdCcZoULJRCqopy7Rv Development

2RNjh43dpHB9sDqZXEHiiw7zTe Personal

cGxbZbV2pxKBmVJe9oWja4K8km Work

VaultでのCreate業の詳細はこちらで学んでください

シークレット

平文のシークレットをコードに記述せずに、環境変数、設定ファイル、またはスクリプトにシークレットを挿入するには、1Passwordアカウント内でシークレットがSaveされている場所を指定するシークレット参照を使用します。

op://vault-name/item-name/[section-name/]field-name

次に、op read、op run、またはop injectコマンドを使って、実行時にシークレット参照を実際のシークレットに置き換えることができます。

シークレット参照を解決し、正しく出力されることを確認するには次のように入力します。

$ op read "op://Work/work email/username"

結果の例: [email protected]

シークレットの読み込みについて詳しく学びましょう。

ヘルプを入手する

コマンドのヘルプを取得するには、--helpオプションを使います。

op <command> [subcommand] --help

Last updated