PyPI مخزن نرم افزار رسمی برای برنامه های شخص ثالث در زبان برنامه نویسی پایتون است.
چند روز پیش این خبر منتشر شد مخزن بسته PyPI Python (شاخص بسته پایتون) قبلاً امکان استفاده از یک روش امن جدید برای انتشار بسته ها را فراهم می کند، که نیاز به ذخیره رمزهای عبور سخت و نشانه های دسترسی API را در سیستم های خارجی (مثلاً در GitHub Actions) از بین می برد.
روش جدید احراز هویت نام دارد"ناشران مورد اعتماد" و برای حل مشکل بهروزرسانیهای مخرب منتشر شده در نتیجه آسیبدیدگی سیستمهای خارجی و رمزهای عبور یا توکنهای از پیش تعریفشده در دست اشتباه طراحی شده است.
از امروز، نگهدارندگان بسته PyPI میتوانند روش انتشار جدید و ایمنتری را اتخاذ کنند که برای اشتراکگذاری با سیستمهای خارجی به رمزهای عبور طولانی مدت یا توکنهای API نیاز ندارد.
ذکر شده است که این روش احراز هویت جدید در مقایسه با سایر روشهای احراز هویت سنتی PyPI مزایای قابل استفاده و امنیتی قابل توجهی را به همراه دارد:
- قابلیت استفاده: با انتشار قابل اعتماد، کاربران دیگر نیازی به ایجاد دستی نشانه های API در PyPI و کپی و چسباندن آنها در ارائه دهنده CI خود ندارند. تنها مرحله دستی پیکربندی ویرایشگر در PyPI است.
- امنیت: توکن های PyPI API معمولی عمر طولانی دارند، به این معنی که مهاجمی که یک بسته را به خطر می اندازد می تواند از آن استفاده کند تا زمانی که کاربر قانونی آن متوجه شود و به صورت دستی آن را لغو کند. به طور مشابه، آپلود با رمز عبور به این معنی است که مهاجم می تواند هر پروژه مرتبط با حساب را آپلود کند. Trusted Publishing از هر دوی این مشکلات جلوگیری می کند: نشانه های صادر شده به طور خودکار منقضی می شوند و فقط به بسته هایی محدود می شوند که مجاز به آپلود در آنها هستند.
در مورد این روش جدید احراز هویت ذکر شده است که بر اساس استاندارد OpenID Connect (OIDC)، که از نشانه های احراز هویت با زمان محدود رد و بدل شده استفاده می کند بین سرویسهای خارجی و دایرکتوری PyPI برای تأیید یک عملیات انتشار بسته، به جای استفاده از یک ورود/گذرواژه سنتی یا یک API دائمی که بهصورت دستی توسط نشانههای دسترسی تولید میشود.
"انتشار مورد اعتماد" اصطلاح ما برای استفاده از استاندارد OpenID Connect (OIDC) برای تبادل نشانه های هویت کوتاه مدت بین یک سرویس شخص ثالث قابل اعتماد و PyPI است. این روش را میتوان در محیطهای خودکار استفاده کرد و نیازی به استفاده از ترکیب نام کاربری/رمز عبور یا توکنهای API دستی برای احراز هویت با PyPI در هنگام انتشار را از بین میبرد.
از سوی دیگر، همچنین ذکر شده است که نگهدارندگان بسته می توانند، در سمت PyPI، به شناسه های ارائه شده به ارائه دهندگان OpenID خارجی (IdP) اعتماد کنند، که سرویس خارجی از آنها برای درخواست توکن های غیر زنده PyPI استفاده می کند.
توکن های OpenID Connect ایجاد شده ارتباط بین پروژه و کنترلر را تایید می کنند. که به PyPI اجازه می دهد تا تأیید فراداده اضافی را انجام دهد، مانند تأیید اینکه بسته منتشر شده با یک مخزن خاص مرتبط است. توکن ها پایدار نیستند، به API های خاصی گره خورده اند و پس از یک عمر کوتاه به طور خودکار منقضی می شوند.
در عوض، نگهدارندگان PyPI می توانند PyPI را طوری پیکربندی کنند که به هویت ارائه شده توسط یک ارائه دهنده هویت OpenID Connect (IdP) اعتماد کند. این به PyPI اجازه میدهد تا اعتماد را تأیید و به آن هویت تفویض کند، که سپس مجاز است توکنهای API با دامنه محدود و کوتاه مدت را از PyPI درخواست کند. این توکنهای API هرگز نیازی به ذخیره یا اشتراکگذاری ندارند، بهطور خودکار در انقضا سریع میچرخند و پیوندی قابل تأیید بین بسته منتشر شده و منبع آن فراهم میکنند.
اکنون توانایی استفاده از مکانیسم "ناشران مورد اعتماد" در حال حاضر اجرا و اجرا شده است. برای کنترلرهایی که در GitHub Actions شروع شده اند. در آخر اما نه کماهمیت، همچنین اشاره میشود که در آینده انتظار میرود سازگاری با ناشران معتمد برای سایر سرویسهای خارجی نیز وجود داشته باشد.
سرانجام اگر شما علاقه مند به دانستن بیشتر در مورد آن هستید، می توانید جزئیات را بررسی کنید در لینک زیر.
اولین کسی باشید که نظر