.fit-pages.yml
Následující stránka popisuje způsob konfigurace souboru .fit-pages.yml
.
Konfigurační soubor mimo jiné umožňuje konfigurovat systém oprávnění prostřednictvím účtu ČVUT a rolí pro jednotlivé stránky a nebo větve.
Varování:
Nově vytvořené repozitáře začínají s hlavní větví jménem main
.
Služba PagesFIT však stále počítá s tím, že se hlavní větev repozitáře jmenuje master
.
Je proto potřeba vytvořit větev jménem master
a soubor .fit-pages.yml
umístit do ní.
Doporučujeme také větev master
nastavit jako výchozí větev projektu.
Soubor .fit-pages.yml
se musí nacházet v kořenovém adresáři repozitáře ve větvi master
a musí být ve formátu YAML (s kódováním UTF-8) a mít následující strukturu [1]:
- domain: (string, optional) – Celá doména, povinné pouze pro stránky mimo pages.fit a courses.fit.cvut.cz.
- access: (object)
- <branch>: (object) – Název větve (nebo více větví) na které se má aplikovat následující pravidlo. Lze použít výraz místo konkrétního názvu (použijte
*
pro všechny větve). Na pořadí pravidel záleží – první aplikovatelné pravidlo vítězí.- <page-path>: (object) – Relativní cesta stránky na kterou se má aplikovat dané pravidlo. Podstránky jsou implicitně zahrnuty, a není tak potřeba je blíže specifikovat. Relativní cesta musí začínat
/
. Na pořadí pravidel záleží – první aplikovatelné pravidlo vítězí. - allow: (array[string]) – Seznam základních rolí (
ANONYMOUS
neboAUTHENTICATED
), byznys rolí nebo uživatelských jmen. - deny: (array[string], optional) – Seznam základních rolí (
ANONYMOUS
neboAUTHENTICATED
), byznys rolí nebo uživatelských jmen.
- <page-path>: (object) – Relativní cesta stránky na kterou se má aplikovat dané pravidlo. Podstránky jsou implicitně zahrnuty, a není tak potřeba je blíže specifikovat. Relativní cesta musí začínat
- <branch>: (object) – Název větve (nebo více větví) na které se má aplikovat následující pravidlo. Lze použít výraz místo konkrétního názvu (použijte
Uživateli bude na stránku umožněn přístup, právě když disponuje některou z uvedených rolí v allow seznamu (nebo je v něm explicitně uvedeno jeho uživatelské jméno) a zároveň neplatí, že disponuje některou z uvedených rolí v deny seznamu (nebo je v něm explicitně uvedeno jeho uživatelské jméno). V opačném případě bude uživateli přístup odepřen.
Důležité:
Přístupová práva PagesFIT vs GitLab
Přístupová práva na PagesFIT jsou zcela nezávislá na přístupových právech zdrojového repositáře na GitLabu! To znamená, že pokud potřebujete omezit přístup na celé stránky či vybrané části jen pro vybranou podmnožinu přihlášených uživatelů, resp. zabránit přístupu ostatním, tak musíte viditelnost zdrojového repositář nastavit na Private.
Ukázky
domain: pages.fit.cvut.cz
access:
master:
/interni-dokumenty/: 1
allow:
# Vedeni laboratore
- flynnkev
- novakjan
# FIT gremium
- B-18000-GREMIUM-CLEN
/: 2
allow:
- B-18000-SUMA-PRACOVNIK
"*":
/: 3
allow:
- B-18000-OSOBA-CVUT
deny:
- eilisbill
- Povolit přístup na stránku (a její podstránky)
/interni-dokumenty/
ve větvimaster
uživatelůmflynnkev
,novakjan
a všem uživatelům s byznys rolíB-18000-GREMIUM-CLEN
. - Povolit přístup na všechny ostatní stránky v dané větvi všem uživatelům s byznys rolí
B-18000-SUMA-PRACOVNIK
. - Na ostatní stránky v ostatních větvích je umožněn přístup uživatelům s byznys rolí
B-18000-OSOBA-CVUT
, mimo osobueilisbill
. Této osobě je přístup odepřen.
domain: courses.fit.cvut.cz
access:
master:
/teachers/: 1
allow: [AUTHENTICATED]
/: 2
allow: [ANONYMOUS]
B[0-9]*:
/: 3
allow: [AUTHENTICATED]
'*':
/: 4
allow:
- P-BI-AAG-UCITEL
- P-BIK-AAG-UCITEL
- Povolit přístup na stránku
/teachers
a její podstránky ve větvimaster
(hlavní větev) všem přihlášeným uživatelům. - Povolit přístup na všechny ostatní stránky ve větvi
master
všem uživatelům i anonymním návštěvníkům (tj. veřejné stránky). - Povolit přístup na všechny stránky v semestrálních větvích (např.
B211
) všem přihlášeným uživatelům. - Povolit přístup na všechny stránky ve všech ostatních větvích (tj. mimo
master
a semestrální větve) pouze vyučujícím BI-AAG a BIK-AAG.