Jdi na navigaci

.fit-pages.yml

Následující stránka popisuje způsobem 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.

Soubor .fit-pages.yml se musí nacházet v kořenovém adresáři repozitáře, 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 nebo AUTHENTICATED), byznys rolí nebo uživatelských jmen.
      • deny: (array[string], optional) – Seznam základních rolí (ANONYMOUS nebo AUTHENTICATED), byznys rolí nebo uživatelských jmen.

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

Ukázka 1. Ukázka .fit-pages.yml pro laboratoř
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
  1. Povolit přístup na stránku (a její podstránky) /interni-dokumenty/ ve větvi master uživatelům flynnkev, novakjan a všem uživatelům s byznys rolí B-18000-GREMIUM-CLEN.
  2. 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.
  3. 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 osobu eilisbill. Této osobě je přístup odepřen.
Ukázka 2. Ukázka .fit-pages.yml pro předmět
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
  1. Povolit přístup na stránku /teachers a její podstránky ve větvi master (hlavní větev) všem přihlášeným uživatelům.
  2. 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).
  3. 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.
  4. 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.

  1. Notace použitá pro popis struktury YAML souboru je inspirovaná z MSON.