این موارد را حتماً در مورد کلید API بدانیم
کلید API چیست؟
اصطلاح API مخفف ۳ کلمه Application Programming Interface که در فارسی به معنای رابط برنامه نویسی کاربردی یا رابط برنامه نویسی نرمافزاری است. Api در واقع کدی است که برای شناسایی و احراز هویت یک برنامه یا کاربر استفاده میشود. این شناسهها بسیار منحصر بهفرد هستند، بهطوری که برای عملیات احراز هویت، رمز مخفی ارائه میدهند.
این شناسهها از نرم افزارهای کامپیوتری منتقل میشوند، سپس این برنامهها apiها را فراخوانی میکنند تا کاربر، توسعهدهنده یا یک وبسایت را شناسایی کند. مثلا فرض کنید که شما یک افزونه نصب کردهاید که برای فعال شدن اجازه اتصال به وبسایت مرجع را میخواهد! در این شرایط api وبسایت مرجع پیدا شده و در سایت وردپرسی قرار داده میشود تا اتصال انجام بگیرد.
احراز هویت پروژه : کلید API نرمافزار درخواستکننده را شناسایی میکند. هر پروژه یک کلید منحصر بهفرد دارد که آن را متمایز میکند.
مجوز پروژه : API تعیین میکند که آیا برنامه درخواستکننده مجوز استفاده از این کلید را دارد یا خیر. درصورت صدور مجوز، این کلید به چه سرویسهایی اجازه دسترسی دارد؟
چگونگی استفاده از کلید API
برای استفاده از کلید API مستقیم به سراغ درخواست نروید! قبل از هرچیز، به وبسایت توسعهدهنده API مراجعه کنید تا از تمام چیزهایی که برای شروع لازم است مطلع شوید. در بیشتر مواقع از شما خواسته میشود که یک حساب توسعه دهنده ایجاد کنید. ایجاد این حساب به ثبت یک سری اطلاعات مانند ایمیل نیاز دارد. در مرحله بعد میتوانید پروژه خود را ثبت کنید. در ثبت پروژه هرگونه اطلاعات مربوطه که فکر میکنید صاحبان API باید در جریان باشند را بنویسید.
امنیت کلید های API به چه شکل است؟
از آنجایی که API حاوی اطلاعات بسیار حساسی است، این سوال مطرح است که آیا کلیدهای api ایمن هستند؟ همچنین، اطلاعات مهم apiها باعث شده تا یکی از مهمترین اهداف حملات سایبری قرار بگیرند، باتوجه به این موضوع باید بگوییم که این کلیدها بهتنهایی امنیت کافی را ارائه نمیدهند.
اول آنکه این کلیدها نمیتوانند کاربران را بهصورت تکی احراز هویت کنند، این احراز هویت برای پروژه یا برنامهای که درخواست را ارائه میکند انجام میشود. کلیدهای api در زمینه امنیت مانند پسورد هستند، تنها زمانی بیشترین تاثیر را دارند که در جای امن ذخیره شوند، بهمحض آنکه در دستان اشتباه قرار بگیرند، راه سو استفاده باز میشود. در صورت باز شدن این راه هکرها فرصت استفاده نامحدود از کلید api را دارند چون این کلیدها بهندرت به تاریخ انقضا میرسند. البته، در این شرایط باید اقدامات لازم برای غیرفعالسازی یا بازسازی کلید انجام شود.
باتوجه به نکاتی که گفتیم دیگر جای تعجب ندارد که امروزه Api از احراز هویت و مجوز کاربر برای تایید درخواستها استفاده کند. این دو مرحله با توکنهای احراز هویت انجام میشوند که حتی از کلیدهای API ایمنتر هستند.
کلیدهای api تنها معیار امنیتی api نیستند، اما مزایای زیادی دارند که نباید آنها را نادیده بگیریم. این کلیدها برای احراز هویت یکپارچهسازیهای api ضروری هستند. به کمک آنها میتوانید پروژه خود را احراز هویت کرده و مجوز لازم برای دسترسیهای مختلف را دریافت کنید. اما به خاطر داشته باشید که کلید api دسترسی برای تغییر یک پروژه را فراهم نمیکند.
بهتر است کلید API را این گونه ذخیره کنیم
از کلید API باید مانند یک رمز عبور به خوبی نگه داری کنید! گذراندن چند مرحله اساسی به شما کمک میکند تا خطر سرقت API را تا حد زیادی کاهش دهید :
کلید API را در جای عمومی یادداشت نکنید!
زمانیکه پروژه خود را مستند میکنید، توجه داشته باشید که در اسکرین شاتها، URLها یا هر سند دیگری بهطور تصادفی کلید api را دردسترس نگذارید.
کلید API خود را بهطور مسقیم در برنامه خود ننویسید، در این صورت هر کسی که به فایلهای منبع شما دسترسی داشته باشد میتواند کلید شما را ببیند.
API را ازطریق ایمیل بهاشتراک نگذارید!
همیشه برای درخواستهای API از HTTPS/SSL استفاده کنید، درغیر این صورت برخی از APIها درخواست شما را وارد نمیکنند.
یک کلید API منحصر بهفرد به هر پروژه اختصاص دهید. با این کار درصورت به خطر افتادن یک کلید میتوانید بدون تاثیرگذاشتن بر پروژههای دیگر آن را بازسازی یا غیرفعال کنید.
زمان استفاده از کلید های API
آگاهی از زمان استفاده از API میتواند کمی گیجکننده باشد. کاربردهای رایج کلید API شامل موارد زیر میشوند :
مسدود کردن ترافیک ناشناس
ترافیک ناشناس میتواند مخرب باشد. Api key برای رفع اشکال یا تجزیه و تحلیل برنامهها در این ترافیک کاربرد دارد.
کنترل تعداد تماسهای برقرار شده با API
این کلید میتواند برای کنترل مصرف API، محدود کردن ترافیک و اطمینان از دسترسی ترافیک قانونی به API مفید باشد.
شناسایی الگوهای استفاده در ترافیک API
شناسایی الگوهای استفاده برای شناسایی فعالیتها یا مشکلات مخرب در API بسیار مهم است.
فیلترها
کلیدهای API خاص میتوانند سری رویدادهای ایجاد شده در سرور را فیلتر کنند. از آنجایی که هر درخواست یک کلید مرتبط با خود را دارد، دارندگان API میتوانند براساس آن فیلتر اجرا کنند تا تمام درخواستهای یک کلاینت خاص برای آنها نشان داده شود. این قابلیت نظارتی از api در برابر ترافیک مضر محافظت میکند.