1PasswordCLIでセンシティブな環境変数を管理する
$GITHUB_TOKENや$AWS_ACCESS_KEY_ID, $AWS_SECRET_ACCESS_KEYのようなローカルにも置きたくないような認証情報といったトークンを特定の書式で表現することで1PasswordCLIから注入することができる.
よりセキュアにでき, 色んなところに散らばりがちな(サーバー上等)トークンを1Password上だけで中央集権的に管理できる.
op://vault名/アイテム名/[セクション名]/フィールド名
実際には次のように指定する
export GITHUB_TOKEN="op://Personal/GitHub/auth-token"
eval < $(op signin)を実行してサインイン済みの状態で次のようにコマンドを実行する
code:bash
op run -- gh
本番環境と開発環境などでトークンを使い分けたい場合は、まず、次のようなファイルを用意する
code:prod.env
AWS_ACCESS_KEY_ID="op://Personal/AWS/Prod/access-key"
AWS_SECRET_ACCESS_KEY="op://Personal/AWS/Prod/secret-access-key"
code:dev.env
AWS_ACCESS_KEY_ID="op://Personal/AWS/Dev/access-key"
AWS_SECRET_ACCESS_KEY="op://Personal/AWS/Dev/secret-access-key"
このようなファイルを用意したうえで、次のようにコマンドを実行する
code:bash
次のように他の環境変数を埋め込むこともできる
code:.env
AWS_ACCESS_KEY_ID="op://Personal/AWS/$APP_ENV/access-key"
AWS_SECRET_ACCESS_KEY="op://Personal/AWS/$APP_ENV/secret-access-key"