API キーが検索結果に表示されないようにするにはどうすればよいですか?

API キーが検索結果に表示されないようにするにはどうすればよいですか?

ソースノード: 2726143

質問: 自分の API キーが他の人の GitHub 検索の一部にならないようにするにはどうすればよいですか?

回答: API キーをコードに直接保存することは、潜在的なセキュリティ リスクのため、通常は推奨されません。 コードが共有されたり、一般にアクセス可能になったりすると、API キーを見た人は誰でもそのコードを使用できるようになり、悪用やセキュリティ侵害につながる可能性があります。

API キーを安全に保存するには、いくつかの方法があります。

  • 環境変数: API キーをマシン上の環境変数に保存し、コードからこれらの変数にアクセスできます。 この方法には、キーがコードに含まれないようにするという利点があります (キーはコードが実行される環境内にあります)。 これは、ローカル マシン、開発サーバー、運用サーバーなどの環境ごとにキーが異なる可能性があることも意味します。
  • 構成ファイル: コード リポジトリに含まれていない別の構成ファイルに API キーを保存することもできます。 このファイルは .gitignore ファイルがリポジトリにコミットされないようにします。 不正なアクセスを防ぐために、この構成ファイルに適切なファイルレベルの権限を必ず追加してください。 コードでは、このファイルから API キーを読み取ります。
  • 機密管理システム: 大規模なアプリケーションや機密性の高いデータの場合は、 秘密管理システム。 これらは、AWS Secrets Manager、HashiCorp の Vault、Google の Secret Manager などの特殊なツールで、API キーなどのシークレットへのアクセスの管理に役立ちます。
  • 環境固有の構成サービス: Heroku や Netlify などのプラットフォームには、API キーを保存するために使用できる環境変数を設定するための特定の機能またはサービスがあります。
  • 暗号化されたストレージ: API キーをデータベースまたは他のストレージ システムに保存する必要がある場合は、暗号化する必要があります。 そうすれば、たとえ誰かが ストレージ システムへのアクセスを取得します、暗号化キーがなければキーを使用できません。

これらのソリューションの中で最もオーバーヘッドが低い最初の XNUMX つをセキュア コーディングで実装する方法を見てみましょう。 ここではサンプル言語として Python を使用しましたが、どの言語でも同様の概念があります。 Python の利点はそのシンプルさと使いやすさであり、その優れたデータ処理機能と相まって、ほとんどの用途に最適です。

API キーの保存に環境変数を使用するには

環境変数を使用すると、API キーなどの機密情報をソース コードの外部に保存できます。 これらは実行時にアプリケーションにアクセスでき、さまざまな環境 (開発、ステージング、実稼働など) で簡単に構成できます。

まず、アプリケーションが実行されているシステムまたはプラットフォームに環境変数を設定します。 Unix ベースのシステムでは、次のコマンドを使用して環境変数を設定できます。 export コマンド:

% エクスポート API_KEY=

次に、アプリケーションのコード内の環境変数にアクセスします。 たとえば、Python では、次のコマンドを使用して環境変数の値にアクセスできます。 os モジュール:

% python import os api_key = os.environ['API_KEY']

API キーの保存に外部設定ファイルを使用するには

初心者の開発者またはデータ サイエンティストが API キーを保存するもう XNUMX つの方法は、外部構成ファイルを使用することです。 これらは非常に便利です。 ただし、次を使用してリポジトリからそれらを除外する必要があります。 .gitignore または同等のもの。

まず、次のような構成ファイルを作成します。 config.jsonを作成し、そこに API キーを保存します。

json { "api_key": " " }

次に、設定ファイルをプロジェクトの .gitignore (または同等のもの) を使用して、バージョン管理システムによって追跡されないようにします。

最後に、アプリケーションのコードに構成ファイルをロードして、API キーにアクセスします。 たとえば、Python では、次のように JSON 構成ファイルをロードして API キーにアクセスできます。

open('config.json') を f として json をインポートします
config =load(f) api_key = config['api_key']

API をロックアップする

環境変数または外部構成ファイルを使用すると、 API キーを偶発的な公開から保護します、機密情報の管理が簡素化され、さまざまな環境に合わせてさまざまな構成を維持することが容易になります。 不正なアクセスを防ぐために、環境変数と構成ファイルに適切なアクセス制御を適用する必要があります。

プロジェクトの複雑さ (および重要性) が増すにつれて、機密アイテムを保存するための機密管理システムや環境固有の構成サービスなどの固有の機能を備えたプラットフォームに移行することをお勧めします。 ただし、これらの簡単な解決策は、より安全な足場から始めるのに役立ちます。

タイムスタンプ:

より多くの 暗い読書