Zezwalaj anonimowemu użytkownikowi na przeglądanie tylko listy zadań bez przeglądania obszaru roboczego w Jenkins

15

Prowadzimy CI Jenkins. Ogólnie chcielibyśmy zapewnić

  1. pełny dostęp do uwierzytelnionych użytkowników z określonej grupy
  2. pełny dostęp do odczytu dla anonimowych użytkowników
  3. blokuj anonimowym użytkownikom dostęp do niektórych projektów (całkowicie)

Korzystamy z bazy danych użytkowników / grup Unix i opartej na Projekcie strategii autoryzacji Matrix . Punkty (1) i (2) działają dobrze, ale mamy problemy z osiągnięciem (3).

Próbowaliśmy:

  • w Global Security usunięcie wszystkich praw do anonimowego, a następnie przyznanie go w ramach bezpieczeństwa opartego na projektach, ale potem wszystkie anonimowe żądania (nawet do głównej strony Jenkins) dają stronę logowania
  • w Global Security dodając w krokach następujące uprawnienia: View-Read (nie działał), Job-Discover (nie działał), Job-Read (nie działał), Overal-Read - to ostatnie wydawało się jednak działać dało to anonimowemu użytkownikowi zbyt duże uprawnienia i nie byliśmy w stanie ograniczyć dostępu do konkretnego projektu.

tl; dr

chcemy całkowicie otwartej (do odczytu) Jenkins CI z kilkoma projektami całkowicie ukrytymi / zablokowanymi dla anonimowości.

Wojtek
źródło

Odpowiedzi:

20

OK, więc udało mi się to zrobić:

  • potrzebujesz wtyczki strategii autoryzacji opartej na rolach
  • włącz tę strategię uwierzytelniania w Konfiguruj zabezpieczenia globalne
  • w Zarządzaj i przypisz role / Zarządzaj rolami stwórz nową rolę anonimową i uwierzytelnioną zarówno dla roli globalnej jak i roli projektu
  • w rolach globalnych nadaj anonimową rolę tylko do pozycji Ogólne / Odczytaj (będzie to co najmniej dostęp do głównego ekranu jenkins użytkownika anonimowego z nawigacją i linkiem do strony logowania, bez natychmiastowego pytania o zalogowanie)
  • w roli Projekt dodaj anonimową rolę ze wzorcem wyrażenia regularnego, który będzie pasował do projektów, do których chcesz uzyskać dostęp anonimowi użytkownicy, a po dodaniu tej roli nadaj jej prawo do Job / Read i Job / Discover
  • przejdź do Zarządzaj i przypisz role / Przypisz role i przypisz Anonimową grupę użytkowników do anonimowej roli (i uwierzytelnionych użytkowników do określonych grup). ZAPISAĆ
Wojtek
źródło
Powiązanym problemem jest to, że w strategii roli rozróżniana jest wielkość liter w dopasowywanych nazwach użytkowników. Wprowadziłem wielkie litery nazw użytkowników na stronie „Przypisz role”. Zalogowałem się przy użyciu nazwy użytkownika pisanej małymi literami i chociaż moja nazwa użytkownika jest wyświetlana wielkimi literami, żadne role nie pasowały do ​​mojego użytkownika. Moje dozwolone uprawnienia spadły na uprawnienia anonimowego użytkownika. Jeśli zaloguję się przy użyciu wielkiej nazwy użytkownika, działa.
s_t_e_v_e
Chociaż ta odpowiedź działa, wyjaśniłeś kiedyś cel lub konfigurację roli „uwierzytelnionej”.
Brad Wood
to tylko skrót - może być „anonimowy” i „uprzywilejowany”; Użyłem „uwierzytelnionego”, ponieważ podzbiór osób dostępnych do przeglądania i edycji tych konkretnych ukrytych zadań byłby równy tym, które faktycznie mają konto.
Wojtek
Ten film pomógł mi .. savjee.be/videos/get-started-with-jenkins/
Anand Varkey Philips
2

Z powyższą https://wiki.jenkins.io/display/JENKINS/Role+Strategy+Pluginwtyczką

wtedy NIE potrzebujesz dodawać authenticatedroli na stronie Zarządzaj rolami .

Zrzuty ekranu: Zarządzaj rolami i przypisz role

Yanjiong Wang
źródło