API token برای CLI، CI و ابزارهایی است که بدون session مرورگر به ابران متصل میشوند. token فعلی به حساب کاربر تعلق دارد و دسترسی آن از عضویت همان کاربر در پروژهها بهدست میآید.
ساخت token در Console
- در Console به Profile بروید.
- در بخش API tokens گزینه New token را بزنید.
- نامی وابسته به مصرفکننده، مثل
github-production، و یک زمان انقضای کوتاه انتخاب کنید. - مقدار token را همان لحظه در secret store ذخیره کنید.
مقدار خام token فقط هنگام ساخت نمایش داده میشود. آن را در repository، فایل image، screenshot، log یا پیام عمومی قرار ندهید. اگر گم یا افشا شد، token را لغو و token تازهای بسازید.
ساخت token با CLI
برای ساخت credential شخصی با انقضای ۳۰ روز:
abrun token create github-production --expire 30d--expire مدتهایی مثل 12h، 7d و 30d، مقدار never یا timestamp معتبر ISO را میپذیرد. برای automation production، انقضای محدود و rotation دورهای بهتر از never است.
قرارداد فعلی ساخت token فقط
nameوexpiresAtرا اعمال میکند. گزینههای--for-projectو--roleدر نسخه فعلی CLI دسترسی token را محدود نمیکنند؛ برای امنیت به آنها تکیه نکنید.
استفاده در CI
token را در secret store سرویس CI با نامی مثل ABRUN_TOKEN ذخیره و project را صریح انتخاب کنید:
ABRUN_TOKEN=<token> abrun --project <project> appsبرای هر workload یک token جدا بسازید تا rotation یا revocation آن به automationهای دیگر آسیب نزند. خروجی قابلپردازش را با --json بگیرید و هرگز مقدار secret را چاپ نکنید.
فهرست و لغو tokenها
tokenهای فعال را ببینید:
abrun token list
abrun token get <token>selector میتواند token را از میان metadata موجود پیدا کند؛ مقدار خام token دوباره نمایش داده نمیشود. برای دیدن موارد لغوشده نیز abrun token list --include-revoked را اجرا کنید.
لغو فوری credential:
abrun token remove <token>پس از revocation، job وابسته را با token تازه بهروزرسانی و یک اجرای آزمایشی انجام دهید. token منقضی یا لغوشده را دوباره فعال نکنید.
sessionهای مرورگر
در Profile → Browser sessions، user agent، IP، زمان ساخت و آخرین استفاده هر session را بررسی کنید. session ناشناس را revoke کنید. session جاری از حذف تکی محافظت میشود؛ با Sign out other sessions همه sessionهای دیگر را یکجا لغو کنید.
اگر احتمال دسترسی غیرمجاز وجود دارد:
- sessionهای دیگر را خارج کنید.
- همه tokenهای ناشناس یا مشکوک را لغو کنید.
- رمز عبور را در Profile تغییر دهید.
- automationهای معتبر را با secretهای تازه آزمایش کنید.
loginهای ذخیرهشده CLI
فهرست loginهای محلی و هویت فعلی را بررسی کنید:
abrun auth list
abrun whoamiمیتوانید بین آنها جابهجا شوید یا یک مورد را از این دستگاه حذف کنید:
abrun auth use <auth>
abrun auth remove <auth>abrun logout فقط login جاری را از storage محلی CLI حذف میکند و abrun logout --all همه loginهای ذخیرهشده روی همان دستگاه را پاک میکند. برای قطع دسترسی server-side، session یا API token را در Console revoke کنید.