पाठ 2 / 27

API Keys, Environment Variables और सुरक्षित setup

Keys बनाएँ, रखें और बिना लीक किए उपयोग करें।

Key क्रेडिट कार्ड जुड़ा password है

API key आपके account की पहचान और बिलिंग करती है। जिसके पास है वह आपका पैसा ख़र्च और डेटा तक पहुँच सकता है, इसलिए इसे password की तरह मानें। नियम: प्रति application और परिवेश अलग keys बनाएँ; keys environment variables या secrets manager में रखें, source code, notebooks, screenshots या chat संदेशों में कभी नहीं; browser या mobile apps में keys कभी न भेजें (API अपने backend से बुलाएँ जो आपके users को authenticate करे); provider console में ख़र्च सीमाएँ और alerts लगाएँ; keys को निर्धारित समय पर और लीक की आशंका पर तुरंत rotate करें; और .env को .gitignore में जोड़ें। SDKs मानक variables (जैसे ANTHROPIC_API_KEY और OPENAI_API_KEY) स्वतः पढ़ते हैं, इसलिए आप कोड में key कम ही लिखते हैं।

Key सुरक्षित पढ़ना (उदाहरण)

Variable ग़ायब हो तो साफ़ संदेश के साथ जल्दी विफल हों। यहाँ चलाया नहीं गया क्योंकि इसे आपका असली environment चाहिए।

import os, sys

key = os.environ.get("ANTHROPIC_API_KEY")
if not key:
    sys.exit("ANTHROPIC_API_KEY is not set. Export it or load it from your secrets manager.")

# Never print the key. If you must log it for debugging, show only a prefix/suffix:
print("key loaded:", key[:4] + "..." + key[-2:])

लीक हुई key: मिनटों में कार्रवाई करें

पहले console में उसे रद्द करें, नई बनाएँ, फिर दुरुपयोग के लिए usage logs देखें। Commit हटाना काफ़ी नहीं क्योंकि key पहले ही कॉपी हो चुकी हो सकती है।

त्वरित जाँच: Web application में API key कहाँ रहनी चाहिए?

  • आपके backend में, environment variable या secrets manager में
  • Browser JavaScript में
  • सार्वजनिक GitHub repository में
  • Page HTML comments में
Answer

आपके backend में, environment variable या secrets manager में — Client को भेजी कोई भी चीज़ निकाली जा सकती है; keys server-side रखें।