「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > ハードコードされたシークレットを Secrets Manager に移動する

ハードコードされたシークレットを Secrets Manager に移動する

2024 年 11 月 3 日に公開
ブラウズ:844

Move hardcoded secrets to a Secrets Manager

シークレット マネージャーは、パスワード、API キー、データベース認証情報、およびアプリケーションに必要なその他の種類の機密データを保存および管理するためのツールです。

アプリケーションのソース コードにハードコーディングされているシークレット、またはコードで使用するプレーン テキスト ファイルに保存されているシークレットは、システム内のアプリケーションやコンポーネントを検査できる悪意のあるエンティティによって悪用される可能性があります。このリスクは、シークレット マネージャーを使用すると軽減できます。

dotenv-vault

dotenv-vault は、シークレットをコードに記述するより安全な代替手段を提供するシークレット マネージャーの 1 つです。

[!注記]
これは dotenv-vault の使用に関するチュートリアルではありません。このドキュメントの目的は、開発者がシークレットをハードコーディングしたり、プレーン テキスト ファイルに保存したりすることを避けるためにシークレット マネージャーがどのように役立つかを説明することです。 dotenv-vault の使用を開始する方法については、こちらをご覧ください。

映画 スター・ウォーズ エピソード V の特定のキャラクターに関する機密情報があり、プログラムでその情報を使用したいとします。

def spoiler():
    spoiler = "Darth Vader is Luke Skywalker's father"
    return { "spoiler": spoiler }

情報をハードコーディングする代わりに、環境変数として .env ファイルに書き込みます。

SPOILER="Darth Vader is Luke Skywalker's father"

dotenv-vault を使用すると、私のプログラムは環境変数を使用して機密情報にアクセスできます。

import os
from dotenv_vault import load_dotenv

load_dotenv() # Take environment variables from .env

def spoiler():
    spoiler = os.getenv("SPOILER") # Get the secret
    return { "spoiler": spoiler }

次に、.env ファイルを同期して環境変数を暗号化します。同期が完了すると、DOTENV_KEY として知られるデータを生成できます。この出力は、本番環境の環境変数としてプログラムで読み取ることができます。

DOTENV_KEY='dotenv://:[email protected]/vault/.env.vault?environment=production' python main.py

その結果、本番アプリケーションはシークレットにアクセスできるようになりました。

{ "spoiler": "Darth Vader is Luke Skywalker's father" }

あなたに最適な Secrets Manager を選択してください

さまざまなシークレット管理ソリューションが利用可能です。各シークレット マネージャーには、独自の長所と短所があります。組織の要件に最も適したオプションを選択してください。

代替シークレットマネージャーのリスト:

  1. 財政
  2. ドップラー
  3. ハシコープ保管庫
  4. AWS Secrets Manager
  5. Azure Key Vault
リリースステートメント この記事は次の場所に転載されています: https://dev.to/kjt/move-hardcoded-secrets-to-a-secrets-manager-2bmc?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3