Mac

ローカルに秘密情報を置かないという選択 – 1Password CLIで実現する安全な.env運用

これまでずっと導入を迷っていたのだけど、昨今のサプライチェーン攻撃を重く受け止めた結果、1Passwordを契約してしまった。3年間で1万円だった。 色々考えたが、もう1Passwordを買うしかなかったと言える。

最近のサプライチェーンがやばすぎる件

最近、と書いたが、実のところ特に最近始まったことでもなく。 詳しくはこちらの記事をご覧いただきたい。

サプライチェーン攻撃への防御策 | blog.jxck.io https://blog.jxck.io/entries/2025-09-20/mitigate-risk-of-oss-dependencies.html

結局、OSSを日常的に利用している以上、いつだってこういうリスクには晒されていたのだったが、昨今のAIを利用した開発のスピードの速さに伴って、コードを真剣に読むことが昔ほど多くなくなってしまった自分の現状も鑑みて、備えを十分にしたほうが良いと改めて思い至った形である。

まあ、これまで.envファイルにシークレット情報を平文でバチバチに書きまくっていた状況に疑問や不安を感じなかったといえば、そんなこともないのだが、いつの間にか日常になって気にならなくっていた。

クラウドサービスのパラメーターストアみたいな感じで使える

それで、1Passwordを使えば何が便利かというと、1Password CLI( op )というソフトウェアを使うことで、クラウド上のパラメータストアみたいな感じで1Passwordを利用することができる。

コードの中に埋め込み用のプレースホルダを用意して、プログラムの実行時にのみ、そこに対してopを通してシークレット情報を流し込む運用をすることで、ローカルの中に一切のシークレット情報を持たないようにするのである。

.envファイルに対して下記のようなプレースホルダを記述し

# .env
SECRET1=op://vault-name/item-name/section-name/api-key1
SECRET2=op://vault-name/item-name/section-name/api-key2

下記のような形で実行する

$ op run --env-file=.env -- python app.py

これによって.envファイルは特にシークレット情報ではなくなり、GitHubなどに上げてしまっても良いものになる。(さすがにPublicで上げるのは気持ち悪いし、1Passwordの内部構造を晒すことになるので非推奨ではある。)

1Password自体はそれをインストールしている端末であればどこからでも利用できるものであるので、自分のアカウントでログインしていれば、どの端末でもこの .env ファイルを同じように利用できる。(各端末で op signin による認証は必要)

AI時代のセキュリティ意識

AIの進歩でコードレビューの支援は強化されつつあるが、AI自身が不正コードを生成するリスクもあるため、完全な防壁にはならない。

それに、実は上記の方法でも完璧とは言い難い。冒頭で紹介した記事にも書かれている通り、もっと固くしようと思えば、プロジェクト環境自体をコンテナで運用しつつ、コンテナの起動時にopを使ってシークレット情報を流し込むというものになると思う。

ただ、コンテナを使って開発するというのもなかなか面倒だ。なにかパッケージを一つ追加で入れるたびにリビルドしないといけない。

というか、サプライチェーンの問題を真剣に受け止めると、brewやaptでインストールするソフトウェア全般に警戒しなければならず、考えれば考えるほど仮想環境層を挟まないと何もできない事になってしまい、それはちょっときつすぎる、ということで折衷案として、ローカルには決してシークレット情報を置かない運用というものを考えた結果が今回の記事の内容になる。

皆さんにおかれても、より良い方法があればぜひ教えてほしい。

 

この記事が気に入ったらいいね!しよう
🍀

更新情報をお届けします

AirPods第4世代、アクティブノイズキャンセリング機能付きを使ってみた感想前のページ

28年ごし、オレたちのエヴァンゲリオン次のページ

関連記事

  1. コンピューター

    IIJmioのSIMカードのサイズを変更する際に気をつけておきたい事

    先日、ついに画面バリバリの携帯からピカピカの携帯に替えることができまし…

  2. Linux

    僕がWindowsではなく、Linuxを使う3つの理由

    以前にも書きました通り、僕はパソコンが大好きです。…

  3. コミック

    新しい世界の未来予想。まもなくバーチャル・リアリティの時代が来ます。

    先日、テレビでバーチャル・リアリティ(以下VR)についての特集を見まし…

  4. Linux

    リナックス(Linux)入門におすすめの学習本!漫画で最高にわかりやすい「シス管系女子」レビュー

    今日はLinuxの便利さについて、とても分かりやすく説明してある本をご…

  5. コンピューター

    稀代の妙問「モンティ・ホール問題」をコンピューターでシミュレートしてみた

    知らない人だとほぼ全員が首をかしげる、人の直感と事実のズレまく…

  6. コンピューター

    株やFXの短期トレードで長期的に勝ち続ける事が出来ない理由

    都会の方では株価や為替の乱高下に合わせて電車が止まったりするようですね…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

  1. 日記

    「日々を大切に生きる」の具体的なこと
  2. コミック

    科学が好きな人、真理を求める人におすすめ「決してマネしないでください。」を読んだ…
  3. こころ

    人と宗教 – 私たちはどこから来たのか
  4. 人間関係

    伝える事と伝わる事、誰かに助けの手を差し伸べる事のできる資格
  5. 日記

    28年ごし、オレたちのエヴァンゲリオン
PAGE TOP