aws-vault が 1Password Desktop 経由でのクレデンシャルの保存に対応したので試してみた

aws-vault が 1Password Desktop 経由でのクレデンシャルの保存に対応したので試してみた

aws-vaultが1Password Desktopに対応しました。この記事では、1Password Desktopをクレデンシャル管理のBackendとして設定する方法や、既存のBackendからの移行手順について説明します。
2026.05.18

aws-vault には Backend と呼ばれるクレデンシャルを管理するためのストレージオプションが OS ごとにいくつか用意されており、何も指定しない場合は通常 OS のキーチェーンを利用するようになっています。(例: macOS なら Keychain, Windows なら Credential Manager)

今回この Backend に 1Password Desktop が追加されました。これにより、1Password Desktop 経由でのクレデンシャルの管理が可能になります。

1Password Desktop の設定

「Settings > Developer」 の "Integrate with the 1Password SDK" を有効にします。この設定が見つからない場合は、1Password Desktop を最新バージョンにアップデートしてみてください。

うまく有効にならない場合もあるようなので、その場合は一度 PC を再起動してみると良いかもしれません。

以下は 1Password Desktop の Developer 設定画面の例です。

1password-desktop

aws-vault の設定

  • requires
    • aws-vault v7.9.3 以降

大きく分けて以下の 2 つの利用方法があります。

1.環境変数に指定する方法

.bashrc.zshrc などのシェルの設定ファイルに以下の環境変数を追加する方法もあります。

export AWS_VAULT_BACKEND=op-desktop
export AWS_VAULT_OP_VAULT_ID=<vault-id>
export AWS_VAULT_OP_DESKTOP_ACCOUNT_ID=<account-id>
  • AWS_VAULT_BACKEND : 1Password Desktop を Backend として指定
  • AWS_VAULT_OP_VAULT_ID : クレデンシャルを保存する 1Password Vault の ID を指定 (デスクトップアプリで Vault を右クリックして "Copy ID" で取得可能)
  • AWS_VAULT_OP_DESKTOP_ACCOUNT_ID : 1Password Desktop のアカウント ID を指定 (デスクトップアプリの左上のに表示されているアカウント名です。URL の https://xxx.1password.com/xxx の部分がアカウント ID になります)

2.オプションを指定する方法

aws-vault exec <profile-name> \
  --backend=op-desktop \
  --op-vault-id=<vault-id> \
  --op-desktop-account-id=<account-id>

別の Backend からの移行方法

Backend を 1Password Desktop に変更するためには、現在の Backend に保存されているクレデンシャル情報を 1Password Desktop に移す必要があります。
aws-vault にはクレデンシャルの移行を支援するコマンドは用意されていないため、手動で移行する必要があります。

1. 既存の Backend からクレデンシャルを確認する

Windows の Credential Manager や macOS の Keychain Access など、現在使用している Backend に保存されているクレデンシャルを確認します。

大体の場合 awsvault という名前で保存されているはずなので、この中身を確認します。

backend-creds

データの中身は大体以下のような JSON 形式になっています。

{
  "Key": "profile-name",
  "Data": "eyJ...",
  "Label": "aws-vault (profile-name)",
  "Description": "",
  "KeychainNotTrustApplication": true,
  "KeychainNotSynchronizable": false
}

この Data の部分がクレデンシャル情報を Base64 エンコードしたものになっています。これをデコードして、AWS Access Key ID と Secret Access Key を取得します。

echo "eyJ..." | base64 --decode

{"AccessKeyID": "...",

出力は JSON 形式になっており、AccessKeyIdSecretAccessKey などのフィールドを探せば必要な情報が確認できます。

2. 1Password Desktop にクレデンシャルを保存する

先程取得した AWS Access Key ID と Secret Access Key を 1Password Desktop に保存します。

aws-vault add <profile-name> --backend=op-desktop --op-vault-id=<vault-id> --op-desktop-account-id=<account-id>

プロファイル名は同じものを指定しても問題ありません。.aws/config の内容は特に変更せず、あくまでクレデンシャル情報の保存先(Backend)を 1Password Desktop に変更するイメージです。

これで 1Password Desktop の指定の Vault にクレデンシャルが保存されます。

この記事をシェアする

関連記事