1Passwordに環境変数やAWSのアクセス情報を保存して使う方法


ローカル環境の秘匿情報を1Passwordで一元管理することで、githubにAPI Key等を公開してしまうリスクを防ぐことができます。

準備

以下の2つをインストールしておきます。

1PasswordからAWSのアクセス情報を取得する

以下の設定をしておくと、AWS CLIだけでなく独自のプログラムからのAWSへのアクセスにも対応できます。

  1. 1Passwordにアクセス情報を保存する

  2. ~/.aws/configにcredential_processを設定する

[default]
credential_process = sh -c "op item get 'aws-credential-default' --format json --fields label=aws_access_key_id  --fields label=aws_secret_access_key | jq 'map({key: .label, value: .value}) | {Version: 1, AccessKeyId:.[0].value, SecretAccessKey:.[1].value}'"

1Passwordから環境変数を取得する

  1. 1PasswordにAPI Keyを保存する

  2. プログラム実行時に1Passwordから環境変数を設定する

OPENAI_API_KEY=$(op item get OpenAI --fields label=api-key --format json | jq -r '.value') \
python gpt.py

See also