پیمانکار برای پروژه‌ای محدود به یک مخزن خصوصی نیاز دارد و درخواست به شکل «مخزن را عمومی کنید» یا «به آن‌ها دسترسی VPN بدهید» می‌رسد. هر دو پاسخ از پرسش واقعی می‌گذرند. مجوزدهی مخزن و ورود شبکه دو لایه جدا هستند و اجازه‌ای که اهمیت دارد همان است که به آن شخص امکان خواندن یا push به همان یک مخزن را می‌دهد. هر چیز دیگری در هر بسته ریسک اضافی است. نخست لایه مجوزدهی را طراحی کنید و سپس تصمیم بگیرید که چقدر مسیر شبکه کم نیاز دارد.

یک نمونه گویا این را مشخص می‌کند: یک توسعه‌دهنده بیرونی، یک مخزن، بدون میزبان تولید، بدون رابط مدیریت. این محدوده را هنگام مقایسه ورودها ثابت نگه دارید.

دو ورود، دو مرز متفاوت

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

ورود VPN می‌تواند آن شنونده را بیرون از مسیر عمومی نگه دارد، اما یک حساب VPN گسترده ممکن است سرویس‌های نامرتبط را آشکار کند. یک نام میزبان عمومی باقی‌مانده، یک شنونده SSH یا یک خانواده نشانی که فراموش کرده‌اید می‌تواند مرز فقط-VPN را که فکر می‌کردید دارید از کار بیندازد. به همین دلیل طراحی فقط-VPN به فهرستی از شنونده‌ها نیاز دارد، نه فقط یک قاعده دیوار آتش.

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

نقش‌های مخزن واحد اجازه هستند

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

هر عملیاتی را که کار واقعاً نیاز دارد فهرست کنید. دسترسی مرورگر و انتقال Git ممکن است از اعتبارنامه‌ها یا شنونده‌های متفاوت استفاده کنند. ساخت‌های خودکار، دانلود بسته‌ها و webhook می‌توانند به‌عنوان هویت‌های جدا با مسیرهای تحویل خودشان اجرا شوند و VPN روی لپ‌تاپ آن‌ها را به هم وصل نمی‌کند.

حفاظت از محتوای مخزن کاری جداگانه است. تغییر مسیر ورود یک راز را که از قبل در تاریخچه است حذف نمی‌کند، یک کلون مجاز را محدود نمی‌کند یا ایستگاه کاری یک مشارکت‌کننده را ایمن نمی‌کند.

اعتبارنامه‌هایی که بیشتر از شخص عمر می‌کنند

خروج از سازمان جایی است که دسترسی مخزن و دسترسی شبکه دوباره از هم جدا می‌شوند. مجوزدهی مخزن و حق VPN را از طریق مالکان مربوطه بردارید، سپس توکن‌های شخصی، کلیدهای SSH، اعتبارنامه‌های خودکارسازی و نشست‌های فعال را بررسی کنید. کلید استقرار بازمانده کلاسیک است: می‌تواند دسترسی خواندن یا نوشتن پیکربندی‌شده خود را پس از ترک سازمان توسط شخص حفظ کند. حذف از فهرست عضویت خروج کامل نیست.

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

عملیات، رد و خروج را بررسی کنید

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

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

مقالات مرتبط