چرخش توکنهای دسترسی
چرخش توکن یعنی مقدار محرمانه یک توکن را با مقدار تازه جایگزین کنید تا توکنهای قدیمی برای همیشه معتبر نمانند. این کار برای سرویسهای محیط عملیاتی باید یک روال عادی باشد، نه فقط واکنش به حادثه امنیتی.
در گدارAI، چرخش بیشتر برای VAT کاربرد دارد. برای PAT، معمولاً یک توکن تازه میسازید، ابزارهای شخصی را به آن منتقل میکنید و توکن قبلی را ابطال میکنید.
چرخش با ابطال چه فرقی دارد؟
| عملیات | نتیجه | زمان مناسب |
|---|---|---|
| ابطال | توکن فعلی دیگر پذیرفته نمیشود | نشت قطعی، کاربر یا سرویس نامعتبر، توقف فوری دسترسی |
| چرخش | مقدار محرمانه تازه صادر میشود و مقدار قبلی از مدار خارج میشود | نگهداری دورهای، کاهش ریسک، مهاجرت کنترلشده سرویس |
اگر هدف شما قطع فوری دسترسی است، ابطال را انتخاب کنید. اگر هدف شما تعویض امن مقدار محرمانه بدون اختلال است، چرخش انتخاب بهتری است.
چرا چرخش مهم است؟
توکن طولانیعمر مثل کلیدی است که شاید در چند جا کپی شده باشد: تنظیمات سرویس، ابزار استقرار، لپتاپ توسعهدهنده یا پیام داخلی تیم. چرخش منظم کمک میکند:
- پنجره سوءاستفاده از توکن افشاشده کوتاهتر شود.
- توکنهای قدیمی و فراموششده از مدار خارج شوند.
- مالکیت سرویسها پس از تغییر تیم روشن بماند.
- لاگها و گزارش مصرف همچنان به همان هویت سرویس نسبت داده شوند.
الگوی بدون قطعی برای VAT
برای سرویسهای محیط عملیاتی، این ترتیب را رعایت کنید:
- در بخش «کاربران مجازی»، کاربر مجازی سرویس را انتخاب کنید.
- VAT مورد نظر را پیدا کنید و «چرخش» را بزنید.
- مقدار خام جدید را همان لحظه در محل امن ذخیره کنید.
- مقدار جدید را در تنظیمات سرویس، ابزار استقرار یا مخزن اسرار خود قرار دهید.
- سرویس را دوباره بارگذاری کنید و چند درخواست آزمایشی بفرستید.
- در لاگ درخواستها، بررسی کنید درخواستها با توکن جدید موفق هستند.
- بعد از اطمینان، مطمئن شوید مقدار قبلی دیگر استفاده نمیشود.
مقدار خام توکن جدید فقط یکبار نمایش داده میشود. قبل از بستن پنجره، آن را در محل امنی مثل مخزن اسرار یا تنظیمات امن محیط عملیاتی قرار دهید.
بازه گذار چیست؟
در قرارداد API چرخش VAT، فیلد grace_period میتواند بازهای کوتاه برای گذار تعریف کند. در این بازه، سرویس فرصت دارد از مقدار قدیمی به مقدار جدید منتقل شود.
نمونه کاربرد:
{
"grace_period": "30m"
}
این مقدار یعنی تیم شما سی دقیقه فرصت دارد مقدار تازه را در سرویسها اعمال کند. اگر بازه گذار تعریف نشود، مقدار قبلی ممکن است بلافاصله از مدار خارج شود.
برای سرویسهایی که چند نمونه اجراشده دارند، بازه گذار را با زمان واقعی انتشار تنظیم کنید. اگر انتشار شما معمولاً ۱۰ دقیقه طول میکشد، بازه ۳۰ دقیقهای معمولاً فرصت امنتری میدهد.
چرخش PAT چگونه انجام میشود؟
PAT به کاربر انسانی وابسته است. برای تعویض آن:
- یک PAT تازه با نام و زمان انقضای مناسب بسازید.
- ابزار شخصی یا اسکریپت خود را با مقدار تازه بهروزرسانی کنید.
- یک درخواست آزمایشی بفرستید.
- PAT قبلی را ابطال کنید.
برای استفاده فردی، این روال سادهتر و شفافتر از نگهداشتن چند مقدار محرمانه برای یک PAT است.
چه چیزهایی را بعد از چرخش بررسی کنید؟
- آیا سرویس با مقدار جدید درخواست موفق میفرستد؟
- آیا هنوز در لاگها درخواستهایی با توکن قدیمی دیده میشود؟
- آیا مقدار جدید در همه محیطها اعمال شده است؟
- آیا توکن قدیمی واقعاً از تنظیمات سرویس و ابزارهای استقرار حذف شده است؟
- آیا مالک سرویس و تیم مسئول در نام کاربر مجازی روشن است؟
سناریوی نمونه
فرض کنید سرویس «پیگیری سفارش» در یک فروشگاه آنلاین با VAT کار میکند. تیم فنی هر ۹۰ روز مقدار محرمانه را میچرخاند:
- کاربر مجازی:
order-tracking-api - تیم:
support-prod - توکن:
order-tracking-prod-90d - بازه گذار:
30m
بعد از چرخش، تیم مقدار جدید را در تنظیمات سرویس ذخیره میکند، سرویس را دوباره بارگذاری میکند و در لاگ درخواستها چند درخواست موفق به مدل پشتیبانی سفارش را بررسی میکند.
چه زمانی ابطال فوری لازم است؟
چرخش همیشه کافی نیست. در این وضعیتها ابطال فوری را ترجیح دهید:
- توکن در مخزن عمومی یا کانال ناامن منتشر شده است.
- درخواستهای مشکوک با همان توکن دیده میشود.
- توکن به سرویس یا تیم اشتباه تعلق دارد.
- کاربر یا سرویس دیگر نباید هیچ دسترسیای داشته باشد.
در این حالت ممکن است سرویس برای مدتی قطع شود، اما محدود کردن آسیب مهمتر است.
پرسشهای پرتکرار
آیا همه توکنها باید چرخش دورهای داشته باشند؟
برای VATهای محیط عملیاتی بله، بهتر است برنامه منظم داشته باشید. برای PATهای شخصی، زمان انقضای کوتاه و ابطال بهموقع معمولاً کافی است.
آیا چرخش، شناسه منطقی سرویس را عوض میکند؟
خیر. کاربر مجازی همان است؛ فقط مقدار محرمانه توکن تغییر میکند. به همین دلیل سابقه مصرف و مالکیت سرویس قابل پیگیری میماند.
بعد از چرخش از کجا بفهمم سرویس هنوز از توکن قدیمی استفاده میکند؟
در لاگها، آخرین استفاده توکن و درخواستهای اخیر سرویس را بررسی کنید. اگر هنوز درخواستهایی با مقدار قدیمی میآید، بخشی از محیط شما بهروزرسانی نشده است.