developerامنیتpasswords

چگونه یک کلید API را به‌صورت امن به اشتراک بگذارید

بدون افشای رازهای شما

Updated ۱۵ تیر ۱۴۰۵مطالعه 7 دقیقه‌ایPrivateNote.ai

کلید API جای Slack، Teams، ایمیل، تیکت، یا تاریخچه Git نیست. گردش‌کار امن‌تر را بیاموزید: دامنه کلید را محدود کنید، آن را به‌صورت محلی رمزگذاری کنید، از پیوند یک‌بارمصرف استفاده کنید، و وقتی تحویل تمام شد آن را بچرخانید.

نکات کلیدی

  • هرگز کلید API را در ایمیل، گفتگو، تیکت، سند، یا Git نچسبانید.
  • کلیدی با حداقل دسترسی لازم و اعتبار کوتاه به کار ببرید و پس از پایان کار آن را جایگزین کنید.
  • رازها را از طریق پیوند یک‌بارمصرف رمزگذاری‌شده در مرورگر بفرستید.
  • برای کلیدهای پرریسک، نخست به‌صورت محلی رمزگذاری کنید؛ فقط متن رمزشده را به اشتراک بگذارید.
  • پس از اشتراک‌گذاری، استفادهٔ غیرعادی را بررسی کنید؛ PrivateNote ابزار انتقال موقت است، نه محل نگهداری بلندمدت.
در این صفحه

هر توسعه‌دهنده‌ای سرانجام باید کلید API را برای کسی دیگر بفرستد — برای دسترسی محیط آزمایش، پیمانکار، یکپارچه‌سازی webhook، یا تحویل به مشتری. سریع‌ترین مسیر معمولاً همان مسیری است که طولانی‌ترین رد را بر جا می‌گذارد.

دو لپ‌تاپ که کلید API را از طریق پیوند یک‌بارمصرف رمزگذاری‌شده PrivateNote مبادله می‌کنند
تصویر برای PrivateNote.ai ساخته شده است.

با کلیدهای API مانند گذرواژه تولید رفتار کنید

کلید API در عمل گذرواژه نرم‌افزار است. بسته به مجوزهایش، کلید نشت‌کرده می‌تواند داده مشتری را افشا کند، منابع پولی را مصرف کند، زیرساخت ابری را مستقر کند، از دامنه تأییدشده شما ایمیل بفرستد، یا صورتحساب AI را بالا ببرد.

بر خلاف گذرواژه انسانی، کلیدهای API اغلب ماه‌ها معتبر می‌مانند، داخل فایل پیکربندی می‌نشینند، و احراز هویت چندعاملی را کاملاً دور می‌زنند. اگر کلید نشت کند، مهاجم می‌تواند به‌جای برنامه شما عمل کند — و ترافیک مخرب می‌تواند تا جهش هزینه یا افشای داده، در استفاده معمولی تولید حل شود.


هرگز کلید API را در سامانه‌های دائمی نچسبانید

این کانال‌ها راحت‌اند چون تاریخچه را حفظ می‌کنند. دقیقاً به همین دلیل جای نادرستی برای راز هستند.

از این کانال‌ها پرهیز کنید
  • Slack، Microsoft Teams، Discord، یا تاریخچه گفتگوی دیگر
  • ایمیل، پیامک، یا رشته‌های صندوق ورودی بازارسال‌شده
  • Jira، Trello، Notion، Confluence، یا GitHub Issues
  • سندهای متن ساده، صفحه‌گسترده، و پوشه‌های ابری مشترک
  • commitهای Git، درخواست‌های ادغام، و نظرهای کد

کلیدهای API واقعاً کجا نشت می‌کنند

بیشتر نشت‌ها شکست رمزنگاری پیچیده نیستند. وقتی کسی راز را در سامانه‌ای کپی می‌کند که برای نگه داشتن سابقه ساخته شده رخ می‌دهند.

ایمیل

ایمیل نسخه‌های بلندعمر می‌سازد. کلید می‌تواند مدت‌ها پس از اتمام کار در صندوق ورودی، بایگانی، پشتیبان، همگام‌سازی موبایل، رشته‌های بازارسال، و نمایه‌های جستجو زنده بماند.

گفتگوی تیمی

Slack و Teams زمینه را حفظ می‌کنند — و همین آن‌ها را برای راز پرریسک می‌کند. یک کلید چسبانده‌شده می‌تواند برای اعضای آینده فضای کاری قابل‌جستجو شود یا از دستگاه نفوذشده نشت کند.

ابزارهای پروژه

Jira، Notion، Confluence، Trello، و GitHub Issues گاوصندوق اطلاعات ورود نیستند. تیکت حذف‌شده ممکن است همچنان در صدور، پشتیبان، رد حسابرسی، و جستجوی کمکی AI وجود داشته باشد.

مخزن‌های Git

تاریخچه Git چسبنده است. حذف کلید در commit بعدی، commitهای پیشین را پاک نمی‌کند. مخزن‌های عمومی پیوسته پویش می‌شوند، و اطلاعات ورود ابری افشاشده می‌تواند ظرف چند دقیقه سوءاستفاده شود.


پیش از اشتراک

نخست دامنه آسیب را باریک کنید. نحوه تحویل کلید مهم است — اما کلید با دامنه تنگ، اگر باز هم چیزی خراب شود، خسارت را محدود می‌کند.

کوچک‌ترین دامنه ممکن را به کار ببرید. از کلیدهای اصلی تولید پرهیز کنید. کلید محیط آزمایش، مجوز فقط‌خواندنی، محدودیت IP، توکن کوتاه‌عمر، و اطلاعات ورود ویژه یکپارچه‌سازی را ترجیح دهید.

برای چرخش یا ابطال برنامه بریزید. کلیدهای API مشترک را موقت بدانید. وقتی پذیرش، آزمایش، همکاری پیمانکار، یا تحویل به مشتری تمام شد، آن‌ها را ابطال کنید.

الگوی استفاده را زیر نظر بگیرید. مکان غیرمنتظره، جهش ناگهانی درخواست، نقطه پایانی تازه، یا فعالیت صورتحساب نامعمول اغلب نخستین نشانه فرار کلید است.

از طریق پیوند یک‌بارمصرف رمزگذاری‌شده تحویل دهید. کلید را پیش از ورود به هر کانال ارتباطی، به‌صورت محلی رمزگذاری کنید. به‌جای باقی گذاشتن راز خام در تاریخچه دائمی گفتگو یا ایمیل، پیوندی کوتاه‌عمر بفرستید.

کلید تازه می‌سازید؟

اطلاعات ورود با آنتروپی بالا را به‌صورت محلی در مرورگر بسازید — مولد کلید API در passwords.lu سمت کلاینت اجرا می‌شود؛ چیزی بارگذاری نمی‌شود.


کلیدهای پرریسک: نخست به‌صورت محلی رمزگذاری کنید

بیشتر کلیدهای API قابل‌جایگزینی‌اند: توکن محیط آزمایش، راز یکپارچه‌سازی کوتاه‌عمر، و اطلاعات ورود با دامنه باریک که قصد چرخش آن را دارید. برای این‌ها، تحویل یک‌بارمصرف رمزگذاری‌شده در مرورگر معمولاً کافی است.

برخی کلیدها وزن بیشتری دارند — دسترسی مدیر تولید، کلید امضا، اطلاعات ورود ریشه ابر، یا هر چیز بلندعمری که ابطال تمیز آن دردناک یا ناممکن باشد. با آن‌ها مانند رازهای اصلی رفتار کنید: پیش از هر بارگذاری وب، به‌صورت محلی رمزگذاری کنید، سپس متن رمزشده را از طریق PrivateNote بفرستید.

نخست رمزگذاری محلی
  • age — ساده‌ترین پیش‌فرض برای رمزگذاری فایل (age -p -o key.txt.age key.txt)
  • OpenSSL — خط فرمان قابل‌اعتماد اگر پرچم‌ها را از قبل می‌شناسید
  • فایل رمزشده را با PrivateNote بارگذاری کنید؛ عبارت عبور رمزگشایی را از کانال جدا بفرستید (Signal، تلفن، حضوری)

همین گردش‌کار برای عبارت بازیابی رمزارز و دیگر رازهای اصلی غیرقابل‌جایگزینی صدق می‌کند. برای راهنمای کامل age/OpenSSL، نکته‌های عبارت عبور، و اینکه پیوندهای یک‌بارمصرف چه زمانی ابزار درست هستند و چه زمانی نیستند، عبارت بازیابی رمزارز و پیوندهای یک‌بارمصرف را ببینید.


گردش‌کار تحویل امن‌تر

وقتی انسان به کلید نیاز دارد—نه وقتی برنامه آن را هنگام اجرا بازیابی می‌کند—این ترتیب را دنبال کنید.

تحویل امن‌تر در یک نگاه

دامنه کلید را محدود کنید

فقط کمترین مجوز

به‌صورت محلی رمزگذاری کنید

کلید هرگز مرورگر شما را ترک نمی‌کند

پیوند را بفرستید

نه راز خام را

پس از اتمام ابطال کنید

پس از تحویل بچرخانید

هر گذرواژه یادداشت را از کانالی جدا به اشتراک بگذارید — هرگز در همان پیام پیوند.


PrivateNote چگونه در تحویل جا می‌گیرد

PrivateNote برای لحظه انسان‌به‌انسان ساخته شده است: کلید API، کلید خصوصی SSH، اطلاعات ورود پایگاه داده، کد بازیابی، راز امضای webhook، و گذرواژه موقتی که باید به یک نفر برسد بدون آنکه سابقه دائمی شود.

اگر راز کلید SSH است نه اطلاعات ورود API، برای کلید عمومی در برابر خصوصی، کلید استقرار، و افزونه ویرایشگر، چگونه کلیدهای SSH را به‌صورت امن به اشتراک بگذارید را ببینید.

راز پیش از بارگذاری در مرورگر شما رمزگذاری می‌شود. PrivateNote متن رمزشده را ذخیره می‌کند، نه متن ساده را. کلید رمزگشایی در قطعه URL زندگی می‌کند — بخش پس از # — که مرورگرها هنگام بارگذاری صفحه آن را به سرور نمی‌فرستند. این مدل پیوند محرمانه یک‌بارمصرف است که بر اطلاعات ورود API اعمال شده است.

https://privatenote.ai/note/abc123#kL8mN4...

  • سرور شناسه یادداشت و محموله رمزشده را دریافت می‌کند.
  • سرور کلید رمزگشایی را دریافت نمی‌کند.
  • حذف پس از خواندن و انقضا مدت وجود یادداشت رمزشده را محدود می‌کنند.

PrivateNote مخزن‌های اختصاصی راز را کامل می‌کند — شکاف را وقتی می‌بندد که باید کلید Stripe را به شریک یکپارچه‌سازی بفرستید، کلید موقت OpenAI را با پیمانکار به اشتراک بگذارید، یا به هم‌تیمی دسترسی یک‌بارمصرف به اطلاعات ورود محیط آزمایش بدهید.


پرسش‌های پرتکرار

چرا فقط از متغیر محیط استفاده نکنیم؟

متغیرهای محیط برای اجرای نرم‌افزار محلی خوب‌اند. وقتی باید آن مقدار را به هم‌تیمی، پیمانکار، مشتری، یا شریک یکپارچه‌سازی بدهید، مسئله انتقال را حل نمی‌کنند.

آیا کلیدهای API همیشه باید منقضی شوند؟

هر وقت ارائه‌دهنده پشتیبانی کند، بله. اطلاعات ورود کوتاه‌عمر پنجره سوءاستفاده پس از افشای تصادفی را کوچک می‌کنند و چرخش را بخشی از گردش‌کار عادی می‌سازند.

امن‌ترین گردش‌کار چیست؟

کلیدی با دامنه باریک بسازید، آن را از طریق پیوند یک‌بارمصرف رمزگذاری‌شده در مرورگر بفرستید، هر گذرواژه اختیاری را از کانالی جدا به اشتراک بگذارید، سپس وقتی کار تمام شد کلید را بچرخانید یا ابطال کنید. برای کلیدهای پرریسک یا بلندعمر، نخست به‌صورت محلی با age یا OpenSSL رمزگذاری کنید و فقط متن رمزشده را بارگذاری کنید.

آیا PrivateNote مدیر راز است؟

خیر. PrivateNote تحویل امن انسان‌به‌انسان را حل می‌کند. برای ذخیره راز ماشین‌به‌ماشین، از HashiCorp Vault، AWS Secrets Manager، Google Cloud Secret Manager، یا Azure Key Vault استفاده کنید.


جمع‌بندی

بیشتر نشت‌های کلید API به این دلیل رخ نمی‌دهند که رمزنگاری شکست خورده است. به این دلیل رخ می‌دهند که کسی از سر راحتی، راز را در سامانه‌ای دائمی و قابل‌جستجو کپی کرده است. دامنه کلیدها را تنگ کنید، فقط وقتی لازم است به اشتراک بگذارید، و از باقی گذاشتن رد متن ساده در گفتگو، تیکت، ایمیل، یا Git پرهیز کنید. برای سمت خط لوله تحویل—commitهای .env، گزارش CI، و تاریخچه GitHub—[رازها در CI/CD، فایل‌های .env، و GitHub](blog:secrets-in-cicd-env-github-leaks) را ببینید.

کلید API را بدون باقی گذاشتن در گفتگو به اشتراک بگذارید

پیوند PrivateNote رمزگذاری‌شده در مرورگر و حذف پس از خواندن بسازید. برای یادداشت یک‌بارمصرف حساب لازم نیست.

یک PrivateNote بسازید ->
PrivateNote on LaunchNest