メインコンテンツにスキップ

APIキーのベストプラクティス:キーを安全かつセキュアに保つ方法

今週アップデートされました

APIキーはAnthropic Servicesへのアクセスを可能にしますが、適切に取り扱われない場合、重大なセキュリティリスクを引き起こす可能性があります。あなたのAPIキーは、あなたのアカウントへのデジタルキーです。クレジットカード番号と同様に、誰かがあなたのAPIキーを取得して使用した場合、あなたに代わって料金が発生します。この記事では、APIキーを安全に保ち、不正アクセスやAPI/Consoleアカウントへの不正請求を防ぐためのAPIキー管理のベストプラクティスについて説明します。

一般的なリスクと脆弱性

APIキー漏洩の最も頻繁な原因の一つは、パブリックコードリポジトリやサードパーティツールでの偶発的な露出です。開発者は、しばしば平文のAPIキーをパブリックGitHubリポジトリに誤ってコミットしたり、サードパーティツールに入力したりすることがあり、これが不正アクセスや関連アカウントの潜在的な悪用につながる可能性があります。

APIキーセキュリティのベストプラクティス

1. APIキーを決して共有しない

  • 機密を保持する:個人のパスワードを共有しないのと同様に、APIキーも共有しないでください。誰かがAPIへのアクセスが必要な場合は、その人が独自のキーを取得する必要があります。

  • パブリックフォーラムでキーを共有しない:あなたとAnthropicの間であっても、パブリックディスカッション、メール、またはサポートチケットにAPIキーを含めないでください。

  • サードパーティツールには注意を払う:APIキーをサードパーティツールやプラットフォーム(ウェブベースのIDE、クラウドプロバイダー、CI/CDプラットフォームなど)にアップロードする際は、そのツールの開発者にあなたのAnthropicアカウントへのアクセス権を与えていることを考慮してください。彼らの評判を信頼できない場合は、APIキーも信頼しないでください。

    • サードパーティプロバイダーを使用する際は、常にAPIキーを暗号化されたシークレットとして追加してください。コードや設定ファイルに直接含めることは決してしないでください。

2. 使用状況とログを密接に監視する

Console内でAPIキーのログ使用状況パターンを定期的に確認することをお勧めします。

  • カスタムレート制限API組織の場合:アカウント設定で使用量と支出制限を実装してください。

    • これらの制限は、漏洩したキーや誤ったスクリプトによる予期しない使用に対する安全装置として機能します。

  • 標準レート制限API組織の場合:アカウントで自動リロード設定を有効にして設定してください。

    • この機能により、アカウントが自動的にファイル上のカードに課金して使用クレジットを補充する閾値を設定できます。

      • 自動リロード制限を慎重に検討してください。継続的なサービスを確保する一方で、漏洩したキーやコードのミスから生じる可能性のある予期しない高使用量に対する安全装置としても機能します。

3. 環境変数とシークレットを使用したAPIキーの安全な取り扱い

APIキーを安全に取り扱うためのベストプラクティスは、環境変数を使用して環境変数を安全に注入し共有することです。アプリケーションをクラウド環境にデプロイする際は、そのシークレット管理ソリューションを使用して、APIキーを誤って共有することなく、環境変数を介してアプリケーションにAPIキーを安全に渡すことができます。

dotenvを使用してローカルでシークレットを保存している場合は、機密情報を誤って公開配布することを防ぐため、.envファイルをソース管理の無視ファイル(例:gitの.gitignore)に追加する必要があります。クラウド環境では、dotenvファイルの代わりに暗号化されたシークレットストレージを優先してください。

Pythonの例:

1. プロジェクトディレクトリに.envファイルを作成します。

2. .envファイルにAPIキーを追加します:

ANTHROPIC_API_KEY=your-api-key-here

3. python-dotenvパッケージをインストールします:

pip install python-dotenv

4. PythonスクリプトでAPIキーを読み込みます:

from dotenv import load_dotenvimport osload_dotenv()my_api_key = os.getenv("ANTHROPIC_API_KEY")

5. アプリケーションをクラウドホスティング環境にデプロイする場合は、Anthropic APIキーを追加してアプリケーションと共有する方法について、クラウドプロバイダーのドキュメントを参照してください(AWSGCPAzureVercelHeroku)。一部のプロバイダーは、アプリに環境変数を安全に注入する複数の方法を提供しています。

4. APIキーを定期的にローテーションする

こちらの回答で解決しましたか?