ممکن است اسم API Key یا کلید API به گوشتان خورده باشد اما ندانید چیست؛ یا برای استفاده از OpenAI، دیپ سیک DeepSeek یا یک سرویس دیگر API Key گرفته باشید، اما ندانید دقیقاً چطور باید از آن محافظت کنید.
API Key در واقع یک کلید اختصاصی است که سرویس با آن دسترسی شما به API را تأیید میکند. به همین دلیل، یک اشتباه ساده مثل قرار دادن کلید داخل کد و انتشار آن در GitHub میتواند باعث شود فرد دیگری از API با حساب شما استفاده کند و هزینهای روی دستتان بگذارد. برای همین، امنیت API Key موضوعی نیست که بتوانید سرسری بگیرید.
اگر هنوز با API Key آشنا نیستید یا نمیدانید بهترین روش نگهداری از آن چیست، جای درستی آمدهاید. در این مقاله از زرینپرداخت، اول خیلی کوتاه توضیح میدهیم کلید API چیست و چطور کار میکند؛ بعد سراغ روشهای محافظت از آن میرویم و میگوییم اگر کلیدتان لو رفت، دقیقاً چه کاری باید انجام دهید.
API Key چیست و چه کاربردی دارد؟
API Key یا کلید API، یک کد محرمانه است که هنگام اتصال یک برنامه به API استفاده میشود تا سرویس تشخیص دهد درخواست از طرف چه کسی است و آیا اجازه دسترسی دارد یا نه. به زبان ساده، API Key مثل کلیدی است که به برنامه اجازه میدهد از امکانات API یک سرویس آنلاین استفاده کند.
منظور از «سرویس آنلاین» در اینجا سامانه یا پلتفرمی است که امکاناتش را از طریق API در اختیار برنامههای دیگر قرار میدهد؛ برای مثال، APIهای OpenAI و DeepSeek برای پردازش متن و تولید پاسخ با هوش مصنوعی، سرویسهای پرداخت برای انجام تراکنش یا سرویسهای نقشه برای نمایش موقعیت و مسیریابی.

سادهتر بگوییم: API Key مثل کلیدی است که به برنامه اجازه میدهد از یک سرویس استفاده کند. بدون این کلید، سرویس نمیداند این درخواست از کجا آمده و آیا اجازهی پردازش آن را دارد یا نه.
نحوه کار API Key چگونه است؟
روند کار به این صورت است: برنامه شما هنگام ارسال درخواست، API Key را همراه آن درخواست به API سرویس میفرستد. سرویس با بررسی کلید، اعتبار درخواست و سطح دسترسی برنامه را مشخص میکند و در صورت تأیید، پاسخ مناسب را برمیگرداند؛ در غیر این صورت درخواست رد میشود.
برای استفاده از API، ابتدا در پنل سرویس موردنظر، مثلاً پنل OpenAI یا DeepSeek، یک API Key میسازید و سپس آن را در برنامه یا تنظیمات محیط اجرای آن قرار میدهید. از اینجا به بعد، درخواستهای برنامه با همین کلید شناسایی میشوند.
البته API Key اطلاعات محرمانه محسوب میشود. هر کسی که به یک کلید معتبر دسترسی پیدا کند، ممکن است بتواند از API استفاده کند و هزینه یا اعتبار حساب شما را مصرف کند. میزان دسترسی هم به تنظیمات سرویس و سطح دسترسی کلید بستگی دارد.
API Key را از کجا میسازیم؟
محل ساخت API Key در هر سرویس متفاوت است. برای مثال، در OpenAI میتوانید از بخش API Keys در پلتفرم این سرویس، یک Secret Key جدید بسازید. این کار مراحلِ سادهای دارد:
1. وارد OpenAI Platform و حساب کاربری خود شوید.
2. از داشبورد OpenAI Platform، به بخش API Keys بروید. در این صفحه میتوانید کلیدهای API مربوط به پروژه خود را مشاهده و مدیریت کنید.

3. برای ساخت یک کلید جدید، گزینه Create new secret key را انتخاب کنید (از بالا سمت راست یا وسط صفحه؛ تفاوتی ندارد).

4. اکنون پنجرهای برایتان باز میشود که چند تنظیم برای API Keys یا کلید API در اختیار شما قرار میدهد.

5. در قسمت Name یک نام برای کلید انتخاب کنید؛ بهتر است نامی باشد که بعداً آن کاربرد را بهراحتی به خاطر بیاورید، مثلاً My Website API.
6. در بخش Project نیز پروژهای را انتخاب کنید که این کلید به آن تعلق دارد. کلید API در حیطه همان پروژه قابل استفاده خواهد بود.
7. در بخش Permissions میتوانید مشخص کنید کلید چه میزانی از دسترسی را فراهم کند:
All: دسترسی کامل به امکانات API را ایجاد میکند و گزینه پیشفرض است.
Restricted: امکان محدودکردن دسترسی به منابع و Endpointهای مشخص را میدهد.
Read Only: کلید فقط اجازه دسترسی خواندنی دارد.
نکته: اگر کلید را برای یک کاربرد مشخص میسازید، بهتر است تا حد امکان دسترسی آن را محدود کنید. این کار یکی از اصول مهم برای کاهش ریسک سوءاستفاده از کلید API است.
8. کلید را همان لحظه ذخیره کنید. پس از ساخت کلید، OpenAI آن را نمایش میدهد. کلید کامل فقط در همین مرحله در دسترس شماست؛ بنابراین اگر قرار است از آن استفاده کنید، همین الان آن را در یک محل امن ذخیره کنید.

API Secret چیست؟
API Secret هم یک کد محرمانه است که برای تأیید هویت یا پذیرش درخواستهای شما استفاده میشود. تفاوتش با API Key به سرویسی که API را از آن تهیه میکنید بستگی دارد.
بعضی سرویسها یک API Key و یک Secret جداگانه میدهند و برای اتصال به API به هر دو نیاز دارید. اما در بعضی سرویسها فقط یک کلید محرمانه وجود دارد.
برای مثال، در OpenAI برای استفاده معمول از API یک API Key دریافت میکنید و API Secret جداگانهای در کنار آن وجود ندارد. به همین دلیل، اگر جایی عبارتهایی مثل Secret Key یا Secret API Key را دیدید، قاعدتاً منظور همان API Key محرمانه است.
پس API Secret همیشه یک کلید جدا از API Key نیست و باید هر سرویس را جداگانه بررسی کرد.
چرا امنیت API Key مهم است؟
چون لو رفتن API Key میتواند به استفاده غیرمجاز از API و ایجاد هزینه برای شما منجر شود. اگر فرد دیگری به کلید معتبرتان دسترسی پیدا کند، ممکن است بتواند با حساب شما درخواست ارسال کند یا از اعتبار آن استفاده کند.
به همین دلیل، امنیت API Key فقط به حفظ یک رشته از حروف و اعداد محدود نمیشود. کلید را نباید در اختیار دیگران بگذارید، داخل کد عمومی قرار دهید یا در مخازنی مثل GitHub منتشر کنید.
اگر هم احتمال میدهید کلیدتان لو رفته یا دزدیده شده است، بهتر است آن را سریعاً حذف یا غیرفعال کنید و یک کلید جدید بسازید. در ادامه مقاله، مفصلتر به اقدامات لازم در صورت لو رفتن کلیدAPI خواهیم پرداخت.
چگونه از API Key محافظت کنیم؟
برای محافظت از API Key لازم نیست کار پیچیدهای انجام دهید؛ چند عادت ساده میتواند جلوی بسیاری از موارد لو رفتن یا سوءاستفاده را بگیرد.

API Key را در کد اصلی قرار ندهید
کلید را مستقیم داخل کد برنامه ننویسید. اگر کد را برای شخص دیگری بفرستید یا در یک مخزن عمومی منتشر کنید، کلید هم همراه آن در دسترس قرار میگیرد.
بهتر است کلید را جدا از کد و در یک محل امن نگهداری کنید.
API Key را در کد سمت کاربر (Frontend) قرار ندهید
نکتهی مهم دیگر این است که حتی اگر کلید را در GitHub منتشر نکنید، اگر آن را داخل کدی قرار دهید که مستقیماً در مرورگر یا اپ موبایل کاربر اجرا میشود (مثلاً کد جاوااسکریپت سمت فرانتاند یک وبسایت)، باز هم کلید لو میرود. هر کاربری با ابزارهای توسعهدهنده مرورگر (DevTools) یا با بررسی فایلهای اپ میتواند این کلید را ببیند و از آن استفاده کند، حتی اگر کد شما هیچوقت جایی منتشر نشده باشد.
به همین دلیل، اگر میخواهید از سرویسی مثل OpenAI یا DeepSeek در یک وباپ یا اپلیکیشن استفاده کنید، درخواستها را مستقیماً از سمت کاربر به آن سرویس نفرستید. بهجایش، یک سرور یا بکاند بین کاربر و سرویس قرار دهید: کاربر درخواست را به سرور شما میفرستد، سرور با استفاده از API Key (که فقط روی خود سرور نگهداری میشود) درخواست را به سرویس ارسال میکند و پاسخ را برمیگرداند. به این روش «پراکسی کردن درخواست» گفته میشود و تنها راه امن برای استفاده از API Key در پروژههایی است که کدشان مستقیماً روی دستگاه کاربر اجرا میشود.
API Key را در متغیر محیطی نگهداری کنید
یکی از روشهای توصیهشده برای نگهداری API Key، استفاده از متغیرهای محیطی (Environment Variables) است. در این روش، کلید را مستقیماً داخل کد قرار نمیدهید و برنامه مقدار آن را از محیط اجرا دریافت میکند. OpenAI نیز استفاده از متغیر محیطی با نام OPENAI_API_KEY را پیشنهاد میکند.
برای مثال، در ریشه پروژه یک فایل با نام .env بسازید و کلید را در آن قرار دهید:
OPENAI_API_KEY=your_api_key
سپس در کد، بهجای نوشتن خود کلید، مقدار متغیر OPENAI_API_KEY را فراخوانی کنید. برای نمونه در پایتون:
import os
api_key = os.getenv("OPENAI_API_KEY")
در محیط توسعه، یکی از روشهای رایج این است که مقدار متغیر را در یک فایل .env قرار دهید و آن را با ابزارهایی مانند python-dotenv بارگذاری کنید:
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
اگر از .env استفاده میکنید، این فایل را به .gitignore اضافه کنید تا بهطور ناخواسته همراه کدها در مخزن Git یا GitHub قرار نگیرد.
نکته مهم این است که .env یا متغیر محیطی، جایگزین امنی برای رعایت سایر اصول امنیتی نیست؛ API Key نباید در کد، مخزن عمومی یا سمت کاربر (مانند مرورگر و اپلیکیشن موبایل) قرار بگیرد. OpenAI توصیه میکند درخواستهای API از طریق بکاند خودتان ارسال شوند تا کلید در سمت سرور باقی بماند.
کلید API را در GitHub یا فضای عمومی قرار ندهید
قبل از انتشار کد در GitHub یا هر فضای عمومی دیگری، مطمئن شوید API Key داخل فایلها، کدها یا تنظیمات پروژه باقی نمانده است. حتی اگر بعداً کلید را از کد حذف کنید، ممکن است در تاریخچه مخزن همچنان قابل مشاهده باشد.
API Key را با دیگران به اشتراک نگذارید
API Key را از طریق پیامرسان، ایمیل، اسکرینشات یا هر روش دیگری برای دیگران ارسال نکنید. اگر چند نفر روی یک پروژه کار میکنند، بهتر است هر فرد در صورت امکان کلید جداگانه و با دسترسی موردنیاز خودش داشته باشد.
یک قانون ساده: کلید را بهعنوان اطلاعات محرمانه در نظر بگیرید؛ هیچوقت آن را جایی قرار ندهید که حاضر نیستید رمز عبور حساب خود را در آنجا بگذارید.
اگر API Key لو رفت چه کنیم؟
اگر API Key را اشتباهی در GitHub منتشر کردهاید، برای کسی فرستادهاید یا به هر شکل دیگری احتمال میدهید در اختیار فرد دیگری قرار گرفته است، منتظر نمانید؛ کلید را فوراً حذف یا غیرفعال کنید.
- کلید لو رفته را باطل کنید. وارد پنل سرویس شوید و آن را حذف یا Revoke کنید تا دیگر قابل استفاده نباشد.
- یک API Key جدید بسازید. کلید جدید را جایگزین قبلی کنید و آن را در محل امنی مثل متغیر محیطی قرار دهید.
- مصرف API را بررسی کنید. اگر بعد از لو رفتن کلید، درخواست یا هزینه غیرعادی ایجاد شده، آن را بررسی کنید.
- محل نشت را پیدا کنید. اگر کلید در کد، فایل .env، GitHub یا سرویس دیگری قرار گرفته، همان مشکل را برطرف کنید تا کلید جدید هم در معرض خطر قرار نگیرد.
این فرایند را چرخش یا تغییر API Key مینامند: کلید قدیمی را از چرخه استفاده خارج میکنید و کلید جدید را جایگزین آن میکنید. اگر حتی مطمئن نیستید کلید لو رفته یا نه، اما احتمال آن را میدهید، تعویض کلید انتخاب امنتری است.
تفاوت API Key، Access Token و OAuth چیست؟
API Key، Access Token و OAuth همگی با احراز هویت و کنترل دسترسی سروکار دارند، اما نقش یکسانی ندارند. اگر بخواهیم ساده بگوییم، API Key معمولاً برای معرفی یک برنامه یا پروژه به API استفاده میشود، Access Token یک مجوز دسترسی است و OAuth روشی برای گرفتن و مدیریت این مجوز است.
| نوع | چیست؟ | معمولاً چه زمانی استفاده میشود؟ | مثال ساده |
| API Key | یک کلید محرمانه برای شناسایی برنامه یا پروژه | وقتی یک برنامه یا سرویس میخواهد به یک API متصل شود | اتصال برنامه شما به API یک سرویس هوش مصنوعی |
| Access Token | یک کد موقت برای دسترسی به منابع مشخص | وقتی برنامه باید با سطح دسترسی مشخص به منابع یا اطلاعاتی دسترسی پیدا کند | دسترسی یک برنامه به اطلاعات حساب کاربر |
| OAuth | یک استاندارد برای اینکه کاربر بدون دادن رمز عبور، دسترسی مشخصی به یک برنامه بدهد | وقتی کاربر میخواهد یک برنامه را به حساب خود متصل کند | ورود به یک سرویس با حساب Google |
بنابراین تفاوت API Key و Access Token فقط در نام آنها نیست؛ Access Token معمولاً محدودتر و قابلانقضاتر است، درحالیکه API Key ممکن است تا زمان حذف یا چرخش، معتبر بماند.
از طرف دیگر، تفاوت API Key و OAuth در این است که OAuth خودش یک کلید یا توکن نیست؛ سازوکاری برای اعطای دسترسی است و میتواند در جریان خود، Access Token ایجاد کند.
برای استفاده از APIهای سرویسهایی مثل OpenAI یا DeepSeek، معمولاً با API Key سروکار دارید؛ اما در سرویسهایی که قرار است کاربر به یک برنامه اجازه دسترسی به حسابش را بدهد، OAuth و Access Token میتواند انتخاب مناسبتری باشند.
جمعبندی
بهتر است API Key را چیزی شبیه رمز ورود به یک سرویس در نظر بگیرید، نه فقط یک رشته از حروف و اعداد. مهمترین نکته این مقاله همین است: کلید را فقط در اختیار برنامه و محیط امن اجرای آن قرار دهید، در کد عمومی یا GitHub نگذارید و در دسترس دیگران قرار ندهید. اگر حتی احتمال میدهید کلید لو رفته، منتظر نمانید؛ آن را باطل کنید و یک کلید جدید بسازید.
اگر میخواهید از APIهای ChatGPT یا DeepSeek در پروژهتان استفاده کنید، بعد از ساخت API Key باید اعتبار حساب API را هم تأمین کنید. میتوانید برای خرید و شارژ ChatGPT API یا خرید و شارژ DeepSeek API از خدمات زرینپرداخت استفاده کنید و بعد، کلید API را در محیط امن پروژهتان قرار دهید.







