این سند توکن های مورد استفاده در GitLab، هدف آنها و در صورت لزوم، راهنمایی های امنیتی را فهرست می کند.
نشانه های دسترسی شخصی
- API GitLab.
- مخازن GitLab
- رجیستری GitLab
می توانید دامنه و تاریخ انقضای توکن های دسترسی شخصی خود را محدود کنید. به طور پیش فرض، آنها مجوزها را از کاربری که آنها را ایجاد کرده است به ارث می برند.
توکن های OAuth2
GitLab میتواند بهعنوان یک ارائهدهنده OAuth2 خدمت کند تا به سایر سرویسها اجازه دهد از طرف یک کاربر به GitLab API دسترسی داشته باشند.
می توانید دامنه و طول عمر توکن های OAuth2 خود را محدود کنید.
نشانه های جعل هویت
نشانه جعل هویت نوع خاصی از توکن دسترسی شخصی است. فقط می تواند توسط یک مدیر برای یک کاربر خاص ایجاد شود. توکنهای جعل هویت میتوانند به شما کمک کنند تا برنامهها یا اسکریپتهایی بسازید که با GitLab API، مخازن، و رجیستری GitLab به عنوان یک کاربر خاص احراز هویت میشوند.
می توانید دامنه را محدود کنید و تاریخ انقضا را برای نشانه جعل هویت تعیین کنید.
توکن های دسترسی به پروژه
- API GitLab.
- مخازن GitLab
- رجیستری GitLab
می توانید محدوده و تاریخ انقضای توکن های دسترسی پروژه را محدود کنید. هنگامی که یک نشانه دسترسی به پروژه ایجاد می کنید، GitLab یک کاربر ربات برای پروژه ها ایجاد می کند. کاربران ربات برای پروژه ها حساب های خدماتی هستند و به عنوان صندلی های دارای مجوز به حساب نمی آیند.
توکن های دسترسی گروهی
- API GitLab.
- مخازن GitLab
- رجیستری GitLab
می توانید محدوده و تاریخ انقضای نشانه های دسترسی گروهی را محدود کنید. هنگامی که یک نشانه دسترسی گروهی ایجاد می کنید، GitLab یک کاربر ربات برای گروه ها ایجاد می کند. کاربران ربات برای گروه ها حساب های خدماتی هستند و به عنوان صندلی های دارای مجوز به حساب نمی آیند.
توکن ها را مستقر کنید
توکنهای Deploy به شما امکان میدهند بدون داشتن کاربر و رمز عبور، بستهها و تصاویر رجیستری کانتینر را دانلود کنید (git clone) یا فشار دهید و بکشید. توکنهای Deploy را نمیتوان با GitLab API استفاده کرد.
توکنهای Deploy را میتوان توسط نگهبانان و مالکان پروژه مدیریت کرد.
استقرار کلیدها
کلیدهای استقرار با وارد کردن یک کلید عمومی SSH به نمونه GitLab، دسترسی فقط خواندنی یا خواندنی را به مخازن شما امکان پذیر میسازند. کلیدهای Deploy را نمی توان با GitLab API یا رجیستری استفاده کرد.
این برای مثال برای شبیه سازی مخازن به سرور یکپارچه سازی پیوسته (CI) شما مفید است. با استفاده از کلیدهای استقرار، نیازی به راه اندازی یک حساب کاربری جعلی ندارید.
نگهبانان و مالکان پروژه می توانند یک کلید استقرار را برای مخزن پروژه اضافه یا فعال کنند
توکن های ثبت نام رانر
از نشانه های ثبت نام Runner برای ثبت نام دونده با GitLab استفاده می شود. صاحبان گروه یا پروژه یا سرپرستان نمونه می توانند آنها را از طریق رابط کاربری GitLab بدست آورند. نشانه ثبت نام محدود به ثبت نام دونده است و دامنه دیگری ندارد.
می توانید از نشانه ثبت نام Runner برای اضافه کردن دونده هایی که مشاغل را در یک پروژه یا گروه اجرا می کنند ، استفاده کنید. دونده به کد پروژه دسترسی دارد ، بنابراین هنگام اختصاص مجوزهای پروژه و سطح گروه ، مراقب باشید.
نشانه های احراز هویت دونده (که به آن نشانه های دونده نیز گفته می شود)
پس از ثبت نام ، دونده یک نشانه تأیید اعتبار را دریافت می کند ، که از آن برای تأیید اعتبار با GitLab هنگام برداشتن شغل از صف کار استفاده می کند. نشانه احراز هویت به صورت محلی در پرونده Config. TOML Runner ذخیره می شود.
پس از احراز هویت با GitLab ، دونده یک نشانه شغلی دریافت می کند که از آن برای اجرای کار استفاده می کند.
در مورد Docker Machine/Kubernetes/VirtualBox/Parallels/SSH ، محیط اجرای هیچ دسترسی به نشانه احراز هویت دونده ندارد ، زیرا در دستگاه Runner باقی می ماند. آنها فقط به نشانه شغلی دسترسی دارند ، که برای اجرای کار لازم است.
دسترسی مخرب به سیستم فایل یک دونده ممکن است پرونده Config. TOML را در معرض دید قرار دهد و در نتیجه نشانه تأیید اعتبار ، به یک مهاجم اجازه می دهد تا دونده را کلون کند.
نشانه های کار CI/CD
نشانه کار CI/CD یک نشانه کوتاه مدت است که فقط برای مدت یک کار معتبر است. این امکان دسترسی به کار CI/CD به مقدار محدودی از نقاط پایانی API را فراهم می کند. احراز هویت API با استفاده از مجوز کاربر که باعث ایجاد کار می شود ، از نشانه کار استفاده می کند.
نشانه شغلی با مدت زمان کوتاه و محدوده محدود خود تضمین می شود. اگر چندین کار در همان دستگاه اجرا شود (مانند دونده پوسته) احتمالاً می تواند فاش شود. در دونده های Docker Machine ، پیکربندی MaxBuilds = 1 توصیه می شود تا اطمینان حاصل کنید که ماشین های دونده فقط یک ساختمان را اجرا می کنند و پس از آن نابود می شوند. این ممکن است بر عملکرد تأثیر بگذارد ، زیرا ماشین های تأمین کننده مدتی طول می کشد.
دامنه های موجود
- محدود به یک پروژه.
- محدود به یک گروه.
- نشانه ثبت نام و احراز هویت دونده دسترسی مستقیم به مخازن را فراهم نمی کند ، اما می تواند برای ثبت و تأیید اعتبار یک دونده جدید که ممکن است کارهایی را انجام دهد که به مخزن دسترسی دارند ، استفاده شود
- محدود به نقاط پایانی خاص.
ملاحظات امنیتی
- با نشانه های دسترسی باید مانند رمزهای عبور رفتار شود و ایمن نگه داشته شود.
- اضافه کردن نشانه های دسترسی به URL یک خطر امنیتی است ، به خصوص هنگام کلون کردن یا اضافه کردن یک ریموت ، زیرا GIT سپس URL را به پرونده . git/پیکربندی آن در متن ساده می نویسد. URL ها همچنین به طور کلی توسط پروکسی ها و سرورهای کاربردی وارد می شوند ، که باعث می شود این اعتبار برای مدیران سیستم قابل مشاهده باشد. در عوض ، Pass API با استفاده از هدر مانند هدر خصوصی ، یک نشانه دسترسی را صدا می کند.
- توکن ها همچنین می توانند با استفاده از یک ذخیره اعتبار GIT ذخیره شوند.
- توکن ها نباید به کد منبع شما متعهد باشند. درعوض ، رویکردی مانند استفاده از اسرار خارجی در CI را در نظر بگیرید.
- هنگام ایجاد یک نشانه scoped ، از محدودترین دامنه ممکن استفاده کنید تا تأثیر نشت تصادفی نشانه را کاهش دهید.
- هنگام ایجاد یک نشانه ، تنظیماتی را در نظر بگیرید که پس از اتمام کار شما منقضی می شود. به عنوان مثال ، در صورت انجام واردات یک طرفه ، بعد از چند ساعت یا روز ، نشانه را منقضی کنید. این باعث می شود تأثیر نشانه ای که به طور تصادفی درز می شود ، کاهش می یابد زیرا هنگام انقضا بی فایده است.
- مراقب باشید در هنگام چسباندن کد ، دستورات کنسول یا خروجی های وارد شده به شماره یا توضیحات MR ، نشانه ها را وارد نکنید.
- اعتبارنامه را در سیاهههای مربوط به کنسول وارد نکنید. در نظر بگیرید که از اعتبار خود محافظت و ماسک کنید.
- کلیه نشانه های دسترسی فعال در همه نوع را به طور مرتب مرور کنید و هر چیزی را که دیگر لازم نیست ، ابطال کنید.
کمک و بازخورد
این صفحه را ویرایش کنید تا یک خطا برطرف شود یا در یک درخواست ادغام بهبود یابد. یک مسئله ایجاد کنید تا پیشرفت در این صفحه را پیشنهاد کنید. نظرات را برای مرور و بازخورد در مورد این صفحه نشان داده و ارسال کنید.
تولید - محصول
اگر چیزی وجود دارد که در مورد این ویژگی دوست ندارید ، مسئله ای ایجاد کنید. با ارسال درخواست ویژگی ، عملکرد را پیشنهاد دهید. برای کمک به شکل دادن به ویژگی های جدید ، به نگاه اول بپیوندید.
در دسترس بودن ویژگی ها و آزمایشات محصول
قیمت گذاری را مشاهده کنید تا همه ردیف ها و ویژگی های Gitlab یا به روزرسانی را ببینید. GitLab را به صورت رایگان با دسترسی به همه ویژگی ها به مدت 30 روز امتحان کنید.
کمک بگیر
اگر آنچه را که به دنبال آن بودید پیدا نکردید ، اسناد را جستجو کنید.
اگر می خواهید در مورد چیز خاصی کمک کنید و می توانید از پشتیبانی جامعه استفاده کنید ، در انجمن GitLab ارسال کنید.
برای مشکلات تنظیم یا استفاده از این ویژگی (بسته به اشتراک GitLab).