1Password コマンドライン・インターフェイス

カテゴリ:  Tech タグ:  1password security software
/images/encryption.jpg

1Password CLIとは

2年半もの間パブリック・ベータテストを行なっていた1Passwordの コマンドライン・インターフェイスが正式版となっていたので、試してみました。

1Password 自体は Macでは定番のパスワード管理ツールで、 現在はWindows, Linux, BSD, iOS, Androidと主要なプラットフォームで稼動しています。 これらの情報は強力な暗号化で保護されクラウド上で管理されるので、 どのプラットフォームからでも自分の管理する情報にアクセスできます。

私も自分自身のあらゆるサイトの認証情報、クレジットカード情報、銀行講座の情報を すべて1Passwordで管理しています。これがないと、生きていけないです。

いずれのプラットフォームでも1PasswordはGUIアプリとして提供されていますが、コマンドライン から制御したいというニーズもあるのでしょう。1Password CLIは、コマンドラインから、これらの 情報を操作できるようになります。

1Password CLIを使ってみた

1Password CLI自体は、 ダウンロードページ から各プラットフォーム向けのパッケージをダウンロードできます。 Macでは Homebrewでも インストールできるようです。

初期設定やらは、 Get Startedのページ を読めばわかりますので、割愛します。

1Passwordに以下のように "Test" というログイン情報が登録されているとします。

1Passowrd

1Password

1Password CLIを利用すると、以下のように情報を取り出すことができます。

$ eval $(op signin hogehoge)
Enter the password for hogehoge@hogehoge.com at hogehoge.1password.com:
$ op get item Test
{"uuid":"yfqtjjssugafow4as3m6c3q","templateUuid":"001","trashed":"N","createdAt":"2020-05-26T12:24:14Z","updatedAt":"2020-05-26T12:24:14Z","changerUuid":"Q73EL2DAAFGR14ADGD65WA","itemVersion":1,"vaultUuid":"ssadg5hasdfasdthbsek4xa","details":{"fields":[{"designation":"username","name":"username","type":"T","value":"testuser"},{"designation":"password","name":"password","type":"P","value":"hogehoge"}],"notesPlain":"","passwordHistory":[],"sections":[{"name":"linked items","title":"Related Items"}]},"overview":{"ainfo":"testuser","ps":36,"title":"Test"}}

結果はJSONで返ってくるようです。これでは読みづらいので jq をつかって整形してみました。

{
  "uuid": "yfqtjjssugafow4as3m6c3q",
  "templateUuid": "001",
  "trashed": "N",
  "createdAt": "2020-05-26T12:24:14Z",
  "updatedAt": "2020-05-26T12:24:14Z",
  "changerUuid": "Q73EL2DAAFGR14ADGD65WA",
  "itemVersion": 1,
  "vaultUuid": "ssadg5hasdfasdthbsek4xa",
  "details": {
    "fields": [
      {
        "designation": "username",
        "name": "username",
        "type": "T",
        "value": "testuser"
      },
      {
        "designation": "password",
        "name": "password",
        "type": "P",
        "value": "hogehoge"
      }
    ],
    "notesPlain": "",
    "passwordHistory": [],
    "sections": [
      {
        "name": "linked items",
        "title": "Related Items"
      }
    ]
  },
  "overview": {
    "ainfo": "testuser",
    "ps": 36,
    "title": "Test"
  }
}

JSONなので確かにスクリプト言語で処理するのに都合がよいですね。

わかったことは、1Password CLIはコマンドラインから扱うツールではなく、認証情報などを使った一連の処理を自動化するスクリプトを書く際に1PasswordのVaultとのインターフェイスを取りもってくれる ツールだということです。

コマンドラインから簡単に認証情報を確認できたら便利かなと一瞬思いましたが、 これは使わないかな。理由は、

  • このJSONを加工する処理を書いてもいいが、面倒臭い。

  • 結局1Passwordのパスワードを入れるという手間は必要で、自動化するメリットが感じられない。

  • そもそも認証情報入力を自動化するというニーズがない。パスワードはやっぱり確認して入力したい。

ということで、多分もうCLIは使わず、普通にアプリを使っていくと思います。

コメント

Comments powered by Disqus