Skip to content

Instantly share code, notes, and snippets.

@yamaneko1212
Last active March 15, 2024 15:47
Show Gist options
  • Save yamaneko1212/ccd38e348927f8981943799de1d50f68 to your computer and use it in GitHub Desktop.
Save yamaneko1212/ccd38e348927f8981943799de1d50f68 to your computer and use it in GitHub Desktop.
aws-vaultを使ってAWSのキーを複数のマシンで共有する方法

aws-vaultを使ってAWSのキーを複数のマシン(Mac前提で有りてあるが、他でも可能)で共有する方法

事前準備

  • aws-vault(brewなどでインストールする)をすべてのマシンにインストールしておく
  • iCloud Driveなどの個人用の共有ドライブをセットアップしておく.
  • シェルの設定ファイル(bashの場合は.bashrc)をすべてのマシンで同期しておく.

既にaws-vaultを使っている場合

Macの場合、aws-vaultはディフォルトの挙動では鍵を~/Library/Keychains/aws-vault.keychain-dbにキーチェインに保存します.

鍵の保存バックエンドの設定

以下の設定を.bashrcに入れる. 設定はiCloud Driveのaws/aws-vault/keysというディレクトリに暗号化鍵ファイルを保存するケース.

# Use file backend
export AWS_VAULT_BACKEND=file
# where to store encrypted key files(icloud drive)
export AWS_VAULT_FILE_DIR=~/Library/Mobile\ Documents/com~apple~CloudDocs/aws/aws-vault/keys/

プロファイルと鍵の追加

プロファイルごとに鍵を登録します. プロファイルの名前は.aws/configとの紐づけに使用されます.

$ aws-vault add <profile>

プロンプトが表示されますので、指示に従って入力します. Enter Access Key ID:はアクセスキーIDを入力してください. Enter Secret Access Key:はシークレットアクセスキーを入力してください. Enter passphrase to unlock "<YOUR HOME DIRECTORY>/Library/Mobile Documents/com~apple~CloudDocs/aws/aws-vault/keys/":は暗号化に使うパスフレーズを指定してください.このパスフレーズを使って暗号化されます.

プロファイルの使用

$ aws-vault exec <profile> <command>

まず復号化に必用なパスフレーズを求めるEnter passphrase to unlock "<YOUR HOME DIRECTORY>/Library/Mobile Documents/com~apple~CloudDocs/aws/aws-vault/keys/"というプロンプトが表示されます. パスフレーズを入力して下さい.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment