سکرت روتیشن به این صورت تعریف میشه که در بازههای معینی، یکی از سکرتها و یا همهٔ سکرتهای سیستمتون رو عوض کنید. این سکرت میتونه پسوردها، کلید APIها و یا هر دادهٔ حساس دیگری باشه.
هدف این کار کاهش بازهٔ زمانی معتبر بودن این سکرتها و کاهش خسارت بعد از لیک شدن دادهها است.
بذارین چندتا حالت فرضی رو مثال بزنم.
- فرض کنید کلید مهمی در بین افراد و پروژههای مختلف به اشتراک گذاشته شده. افراد از شرکت میرن ولی کماکان این کلید رو در اختیار دارن.
- دولوپری پسورد سرویسی رو به اشتباه کامیت میکنه.
- دولوپرها در لاگ کردن خطاها دقت کافی نداشتن و سکرت مهمی به اشتباه لاگ شده (چه در سرویسهای داخلی، چه در پروایدرهای خارجی مثل Sentry).
اگر به هر کدوم از این موارد آگاه باشید احتمالاً سکرت رو عوض خواهید کرد. اما ممکنه به این مسئله آگاه نباشید و برای جلوگیری از لیک شدن دادهها تلاشی نکنید. سکرت روتیشن کمک میکنه که این تغییرات رو به یک پروسه تبدیل کنید و به اطلاعرسانی افراد وابسته نباشید.
چه زمانی برای شروع این فرآیند مناسبه؟
شاید فکر کنید که این فرآیند بیشتر به درد سازمانهای بزرگ و با کارکنان زیاد میخوره و وقتی محصولتون هنوز جا نیفتاده، نیازی هم نیست به این مسئله فکر کنید.
اما هرچه که زمان میگذره، سکرتها در جایجای محصولات، پروژهها و افراد بیشتر پخش میشه و به تبع، تغییرات بسیار پرهزینه خواهد بود. ممکنه عوض کردن کلیدی به قدری پرهزینه بشه که هرگز امکان جا انداختن فرهنگ سکرت روتیشن رو نداشته باشید و عملاً همیشه با ریسک لو رفتن این کلید کارها رو پیش ببرید.
اما هر چه که زودتر شروع کنید، هم تغییراتی که نیاز دارید انجام بدید کمتر خواهد بود. و هم این که این فرآیند راحتتر وارد فرهنگ شرکتتون خواهد شد و توسعههای بعدی با نگاه به این فرهنگ اتفاق میفته و عملاً سیستم antifragileتری خواهید داشت.
این نوشته رو اول در کانال تلگرام منتشر کردم. اگر دوست دارید نوشتههای بعدی رو زودتر بخونید، پیشنهاد میکنم عضو کانال بشید.