۱. همیشه برای هر عضو تیم در حساب خود از یک کلید API یکتا استفاده کنید.
کلید API کدی یکتا است که درخواستهای شما به API را شناسایی میکند. کلید API شما برای استفادهٔ خودتان در نظر گرفته شده است. به اشتراک گذاشتن کلیدهای API برخلاف شرایط استفاده است.
وقتی آزمایش را آغاز میکنید، ممکن است بخواهید دسترسی API را به تیم خود گسترش دهید. OpenAI از به اشتراک گذاشتن کلیدهای API پشتیبانی نمیکند. لطفاً اعضای جدید را از صفحهٔ اعضا به حساب خود دعوت کنید تا پس از ورود، بهسرعت کلید یکتای خودشان را دریافت کنند. همچنین میتوانید به کلیدهای API جداگانه مجوز اختصاص دهید.
۲. کلیدهای API را با تاریخ انقضا بسازید و فرایندی برای تعویض دورهای آنها تعریف کنید
میتوانید برای کلیدهای پروژه هنگام ساخت، تاریخ انقضا تعیین کنید؛ پس از آن تاریخ، هر درخواستی که از این کلیدها استفاده کند رد میشود. اکیداً توصیه میکنیم کلیدها را با تاریخ انقضا بسازید و فرایندی منظم برای تعویض دورهای آنها تعریف کنید. پیش از انقضای هر کلید، کلید جایگزینی بسازید و برنامههایتان را برای استفاده از آن بهروزرسانی کنید. پس از اطمینان از کارکرد درست کلید جایگزین، کلید قدیمی را باطل کنید. این اقدامات میتوانند پیامدهای افشای کلیدهای API را تا حد زیادی کاهش دهند.
مدیران میتوانند در تنظیمات پلتفرم، حداکثر مدت اعتبار کلیدهای API را در سطح سازمان یا پروژه تعیین و اعمال کنند. کلیدهای جدید باید در محدودهٔ مجاز تنظیم شوند تا نتوانند بهطور نامحدود معتبر بمانند. سقف مدت اعتبار در پروژهها نمیتواند از سقف سازمان بیشتر باشد.
برای بارهای کاری پشتیبانیشده، بهجای ذخیرهٔ کلید API OpenAI با اعتبار بلندمدت، از فدراسیون هویت بار کاری استفاده کنید. بار کاری شما با ارائهٔ هویتی از یک ارائهدهندهٔ مورداعتماد، توکن دسترسی کوتاهمدت OpenAI دریافت میکند. یک حساب سرویس اختصاصی تنظیم کنید که فقط مجوزهای موردنیاز بار کاری را داشته باشد.
۳. هرگز کلید خود را در محیطهای سمت کاربر، مانند مرورگرها یا برنامههای موبایل، قرار ندهید.
قرار دادن کلید API OpenAI در محیطهای سمت کاربر، مانند مرورگرها یا برنامههای موبایل، به کاربران مخرب امکان میدهد کلید را بردارند و از طرف شما درخواست ارسال کنند؛ این کار ممکن است به هزینههای غیرمنتظره یا به خطر افتادن برخی دادههای حساب منجر شود. درخواستها باید همیشه از طریق سرور بکاند خودتان ارسال شوند؛ جایی که میتوانید کلید API را امن نگه دارید.
۴. هرگز کلید خود را در محل نگهداری کد ثبت نکنید
ثبت کلید API در کد منبع یکی از راههای رایج افشای اطلاعات ورود است. اگر محل نگهداری کد شما عمومی باشد، ممکن است از این طریق ناآگاهانه کلیدتان را در اینترنت منتشر کنید. محلهای نگهداری خصوصی امنترند، اما رخنه داده میتواند کلیدهای شما را در آنها نیز افشا کند. به همین دلایل، اکیداً توصیه میکنیم برای حفاظت پیشگیرانه از کلیدها از متغیرهای محیطی استفاده کنید.
۵. بهجای قراردادن کلید API در برنامه، از متغیرهای محیطی استفاده کنید
متغیر محیطی متغیری است که بهجای برنامه، در سیستمعامل شما تنظیم میشود. این متغیر از یک نام و مقدار تشکیل میشود. توصیه میکنیم نام متغیر را OPENAI_API_KEY بگذارید. اگر همه اعضای تیم از همین نام متغیر استفاده کنند، میتوانید بدون خطر افشای کلید API، کدتان را ثبت کرده و به اشتراک بگذارید.
راهاندازی در Windows
روش ۱: متغیر محیطی «OPENAI_API_KEY» را از طریق خط فرمان cmd تنظیم کنید
دستور زیر را در خط فرمان cmd اجرا کنید و <yourkey> را با کلید API خود جایگزین کنید:
setx OPENAI_API_KEY "<yourkey>"این تنظیم در پنجرههای بعدی خط فرمان cmd اعمال میشود؛ بنابراین برای استفاده از آن متغیر با curl باید پنجره جدیدی باز کنید. برای اطمینان از تنظیم شدن این متغیر، پنجره جدیدی از خط فرمان cmd باز کنید و عبارت زیر را وارد کنید
echo %OPENAI_API_KEY%گزینه ۲: متغیر محیطی «OPENAI_API_KEY» را از طریق کنترل پنل تنظیم کنید
ویژگیهای System را باز و Advanced system settings را انتخاب کنید
Environment Variables... را انتخاب کنید
در بخش متغیرهای کاربر (بالا)، New… را انتخاب کنید. جفت نام و مقدار کلید خود را اضافه کنید و <yourkey> را با کلید API خود جایگزین کنید.
نام متغیر: OPENAI_API_KEY
مقدار متغیر: <yourkey>راهاندازی در Linux / macOS
گزینه ۱: متغیر محیطی «OPENAI_API_KEY» را با استفاده از zsh تنظیم کنید
فرمان زیر را در ترمینال اجرا کنید و yourkey را با کلید API خود جایگزین کنید.
echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrcپوسته را با متغیر جدید بهروزرسانی کنید:
source ~/.zshrcبا استفاده از فرمان زیر تأیید کنید که متغیر محیطی خود را تنظیم کردهاید.
echo $OPENAI_API_KEYمقدار کلید API شما خروجی حاصل خواهد بود.
گزینهٔ ۲: متغیر محیطی «OPENAI_API_KEY» را با استفاده از bash تنظیم کنید
دستورالعملهای گزینهٔ ۱ را دنبال کنید و .zshrc را با .bash_profile. جایگزین کنید
همهچیز آماده است! اکنون میتوانید در curl به کلید ارجاع دهید یا آن را در Python خود بارگذاری کنید:
import os
import openai
openai.api_key = os.environ["OPENAI_API_KEY"]۶. از سرویس مدیریت کلید استفاده کنید
محصولات گوناگونی برای مدیریت ایمن کلیدهای محرمانه API در دسترساند. این ابزارها به شما امکان میدهند دسترسی به کلیدها را کنترل کنید و امنیت کلی دادههایتان را بهبود دهید. اگر در برنامه شما رخنه دادهای روی دهد، کلیدها به خطر نمیافتند؛ زیرا رمزگذاری شدهاند و در مکانی کاملاً جداگانه مدیریت میشوند.
به تیمهایی که برنامههایشان را در محیط عملیاتی مستقر میکنند توصیه میکنیم استفاده از یکی از این سرویسها را در نظر بگیرند.
۷. مصرف حساب خود را زیر نظر بگیرید و در صورت نیاز کلیدهایتان را تعویض کنید
برای سازمان یا پروژههای خود سقف هزینهٔ ماهانه تعیین کنید و اعمال اجباری آن را فعال کنید تا هزینههای غیرمنتظرهٔ ناشی از افشای کلید محدود شوند. هشدارهای هزینه بهتنهایی ترافیک API را متوقف نمیکنند. اعمال اجباری سقف هزینه ممکن است درخواستهای مجاز را هم مسدود کند. همچنین، چون این محدودیت بهصورت آنی اعمال نمیشود، ممکن است هزینه کمی از سقف تعیینشده بیشتر شود.
کلید API افشاشده به دیگران امکان میدهد بدون رضایت شما به سهمیهٔ حسابتان دسترسی پیدا کنند. این اتفاق میتواند به از دست رفتن دادهها، هزینههای غیرمنتظره، تمام شدن سهمیهٔ ماهانه و اختلال در دسترسی شما به API منجر شود.
میتوانید مصرف تیمهایتان را در صفحهٔ مصرف پیگیری کنید. اگر نگران سوءاستفاده هستید، میتوانید برای محافظت از حساب خود اقدامات زیر را انجام دهید:
مصرف خود را بررسی کنید و ببینید آیا با فعالیتهای تیمتان همخوانی دارد یا نه. برای کاربرانی که عضو چند سازمان هستند (مثلاً سازمان شرکتی و شخصی)، مطمئن شوید هر کاربر پیگیری مصرف را فعال کرده و سازمان پیشفرض خود را برای مصرف و پیگیری آن تعیین کرده است.
اگر فکر میکنید کلیدتان افشا شده است، فوراً از صفحهٔ کلیدهای API آن را تعویض کنید. اگر برنامههای شما در محیط عملیاتی در حال اجرا هستند، باید مقادیر کلید را در آنها نیز بهروزرسانی کنید.
برای بررسی بیشتر، از طریق help.openai.com با ما تماس بگیرید.
۸. با کنترلهای شبکه از دسترسی به API محافظت کنید
با تعریف فهرست IPهای مجاز میتوانید دسترسی به API OpenAI خود را به نشانیهای IP مشخصی محدود کنید. با فعال شدن این قابلیت، فقط درخواستهایی از نشانیها یا محدودههای IP تعیینشده پذیرفته میشوند و بقیه رد میشوند؛ حتی اگر کلید API معتبری داشته باشند.
این کار یک لایهٔ حفاظتی دیگر اضافه میکند و مطمئن میشود که دسترسی به API شما فقط از زیرساختهای مورداعتماد، مانند سرورهای بکاند یا محیط ابریتان، امکانپذیر است.
برای اطلاعات بیشتر، مقالهٔ فهرست IPهای مجاز برای API OpenAI را ببینید.
Private Link گزینهٔ دیگری برای سازمانهایی است که به دسترسی از طریق شبکهٔ خصوصی نیاز دارند. این قابلیت به بارهای کاری Azure امکان میدهد از طریق Azure Private Link به نقاط پایانی منطقهای API OpenAI متصل شوند. برای درخواست دسترسی، با نمایندهٔ OpenAI خود یا تیم فروش تماس بگیرید. احراز هویت API همچنان الزامی است و Private Link با فهرست IPهای مجاز یا TLS متقابل (mTLS) سازگار نیست. برای جزئیات راهاندازی، راهنمای Private Link را ببینید.
