Basic Gitea Information
Osnovna struktura
Osnovna struktura Gitee okruženja je grupisanje repozitorijuma po organizacijama, pri čemu svaka od njih može sadržati nekoliko repozitorijuma i nekoliko timova. Međutim, imajte na umu da, baš kao i na github-u, korisnici mogu imati repozitorijume van organizacije.
Osim toga, korisnik može biti član različitih organizacija. Unutar organizacije, korisnik može imati različite dozvole nad svakim repozitorijumom.
Korisnik takođe može biti deo različitih timova sa različitim dozvolama nad različitim repozitorijumima.
Na kraju, repozitorijumi mogu imati posebne mehanizme zaštite.
Dozvole
Organizacije
Kada se organizacija kreira, tim nazvan Vlasnici se kreira i korisnik se stavlja unutar njega. Ovaj tim će dati admin pristup nad organizacijom, te dozvole i ime tima ne mogu biti izmenjeni.
Admini organizacije (vlasnici) mogu odabrati vidljivost organizacije:
Javno
Ograničeno (samo prijavljeni korisnici)
Privatno (samo članovi)
Admini organizacije takođe mogu naznačiti da li repo admini mogu dodavati i/ili uklanjati pristup za timove. Takođe mogu naznačiti maksimalan broj repozitorijuma.
Prilikom kreiranja novog tima, biraju se nekoliko važnih podešavanja:
Naznačeno je koje repozitorijume organizacije će članovi tima moći da pristupe: specifični repozitorijumi (repozitorijumi gde je tim dodat) ili svi.
Takođe je naznačeno da li članovi mogu kreirati nove repozitorijume (kreator će dobiti admin pristup).
Dozvole koje će članovi repozitorijuma imati:
Pristup Administratora
Specifičan pristup:
Timovi & Korisnici
U repozitorijumu, admin organizacije i repo admini (ako je dozvoljeno od strane organizacije) mogu upravljati ulogama dodeljenim saradnicima (ostali korisnici) i timovima. Postoje 3 moguće uloge:
Administrator
Pisanje
Čitanje
Gitea Autentikacija
Web pristup
Korišćenjem korisničkog imena + lozinke i potencijalno (i preporučljivo) 2FA.
SSH ključevi
Možete konfigurisati svoj nalog sa jednim ili više javnih ključeva omogućavajući povezani privatni ključ da obavlja radnje u vaše ime. http://localhost:3000/user/settings/keys
GPG ključevi
Ne možete se predstaviti kao korisnik ovim ključevima ali ako ih ne koristite, moguće je da budete otkriveni zbog slanja commit-ova bez potpisa.
Lični pristupni tokeni
Možete generisati lični pristupni token da dodelite aplikaciji pristup vašem nalogu. Lični pristupni token daje pun pristup nad vašim nalogom: http://localhost:3000/user/settings/applications
Oauth Aplikacije
Baš kao i lični pristupni tokeni, Oauth aplikacije će imati potpuni pristup nad vašim nalogom i mestima gde vaš nalog ima pristup jer, kako je naznačeno u dokumentaciji, opsezi još uvek nisu podržani:
Deploy ključevi
Deploy ključevi mogu imati samo čitanje ili pisanje pristup repozitorijumu, pa mogu biti zanimljivi za kompromitovanje određenih repozitorijuma.
Zaštita Grana
Zaštita grana je dizajnirana da ne daje potpunu kontrolu nad repozitorijumom korisnicima. Cilj je postaviti nekoliko metoda zaštite pre nego što bude moguće pisati kod u nekoj grani.
Zaštite grana repozitorijuma mogu se pronaći na https://localhost:3000/<orgname>/<reponame>/settings/branches
Nije moguće postaviti zaštitu grane na nivou organizacije. Stoga se sve mora deklarisati na svakom repozitorijumu.
Različite zaštite mogu biti primenjene na granu (kao na master):
Onemogući Push: Niko ne može gurnuti u ovu granu
Omogući Push: Svako sa pristupom može gurnuti, ali ne i force push.
Whitelist Restricted Push: Samo odabrani korisnici/timovi mogu gurnuti u ovu granu (ali ne i force push)
Omogući Whitelist Merge: Samo korisnici/timovi sa whitelistom mogu spajati PR-ove.
Omogući Provere statusa: Zahteva da provere statusa prođu pre spajanja.
Zahtevaj odobrenja: Naznači broj odobrenja potrebnih pre spajanja PR-a.
Ograniči odobrenja na whitelist: Naznači korisnike/timove koji mogu odobriti PR-ove.
Blokiraj spajanje na odbijene recenzije: Ako su zatražene izmene, ne može biti spojeno (čak i ako ostale provere prođu)
Blokiraj spajanje na zvanične zahteve za recenziju: Ako postoje zvanični zahtevi za recenziju, ne može biti spojeno
Odbaci stare odobrenja: Kada se pojave nove promene, stara odobrenja će biti odbačena.
Zahtevaj potpisane commit-ove: Commit-ovi moraju biti potpisani.
Blokiraj spajanje ako je pull zahtev zastareo
Zaštićeni/Nezaštićeni obrasci fajlova: Naznači obrasce fajlova za zaštitu/odbranu od promena
Kao što možete videti, čak i ako uspete da dobijete neke akreditive od korisnika, repozitorijumi mogu biti zaštićeni sprečavajući vas da gurate kod u master na primer, kako biste kompromitovali CI/CD tok.
Last updated