Node.js: ついやってしまいがちなこと

このドキュメントはシークレットの管理ガイドの一部です。完全なガイドはこちらからご覧いただけます:Node.jsでシークレットを管理する方法

👋 Stackhero ドキュメントへようこそ!

Stackhero は、すぐに使える Node.js クラウド 環境を提供し、開発スピードを加速します:

  • シンプルな git push だけで、数秒で本番環境にデプロイ。追加ツールや手動設定は不要です。
  • 独自ドメインを利用でき、自動 HTTPS 証明書により追加設定なしでアプリケーションのセキュリティを確保します。
  • 自動バックアップワンクリックアップデート予測可能な料金体系で、機能開発に集中できるよう Stackhero がインフラ管理を担当します。
  • プライベートかつ専用インフラ上に構築されており、安定したパフォーマンスと高いセキュリティを実現します。

運用負荷を削減し、時間を節約:わずか数分で Stackhero の Node.js クラウドホスティング 上でアプリケーションを稼働させることができます。

最初は、以下のように認証情報をコード内に直接記述したくなるかもしれません。

// PostgreSQLデータベースへの接続
const pg = new Client({
  host: '<XXXXXX>.stackhero-network.com',
  user: 'admin',
  password: 'myPassword',
  database: 'admin'
});

しかし、この方法は安全ではありません。なぜなら、シークレットが簡単にGitリポジトリに含まれてしまい、アクセス権を持つ誰もが閲覧できてしまうからです。たとえ自分しかアクセスしないと思っていても、パスワードを書いた付箋をモニターに貼っておき、誰にも見られないことを願うようなものです。最終的には深刻なセキュリティ問題につながる可能性があります。

さらに、シークレットをハードコーディングすると、開発環境や本番環境など、異なる環境の管理が難しくなります。