Zabezpečení konfigurace

Kdo smí formulář upravovat a jak ochránit konfiguraci: role, zámek úložiště a heslo.

Nastavení se ukládá do vlastnosti securityConfig (popis všech klíčů a ukázka JSON je tam). Tato stránka vysvětluje, co která volba skutečně chrání. Pokyny pro správce oprávnění jsou na stránce Oprávnění.

Co chrání co

VrstvaChrání předJe to bezpečnostní hranice?
Role editoruzobrazením tlačítka Nastavení formuláře nepovolanýmne, jen řídí nabídku
Zámek úložištěpřepsáním konfigurace členy webuano, oprávnění SharePointu
Zámek editoru heslemnechtěným otevřením a úpravoune
Politika skriptůspuštěním vlastního kóduano, na úrovni tenantu

Kdo může otevřít návrháře

Tlačítko Nastavení formuláře a tím i návrhář se zobrazí jen oprávněným uživatelům. Kdo jimi je, určuje volba Komu zobrazit tlačítko „Nastavení formuláře“ v návrháři v části Zabezpečení (allowedEditorRole). Vlastník webu je ten, kdo má na seznamu oprávnění Správa webu (manageWeb).

Volba v návrhářiHodnotaKdo smí upravovat
Pouze vlastníci webu (Manage Web) jen vlastníkmanageWebvlastníci webu. Výchozí hodnota pro nové formuláře.
Vlastníci webu a členové vybrané SharePoint skupinygroupvlastníci webu a členové skupiny zadané v allowedEditorGroup (přesný název skupiny, bez ohledu na velikost písmen). Skupina se nazývá skupina návrhářů.

Starší hodnota manageLists (správci seznamu) a chybějící role se dnes chovají jako manageWeb: konfiguraci mění jen vlastníci webu. Člen s úrovní Upravit, který dříve formulář měnil, už návrháře nedostane.

Funkce, které smí použít jen vlastník webu (zamknutí úložiště, nastavení skupiny návrhářů, zápis politiky skriptů), jsou v dokumentaci označené štítkem jen vlastník.

Panel Zabezpečení v návrháři: volba role, název skupiny návrhářů, sekce Úložiště konfigurace s tlačítkem „Zamknout nyní“, přepínače čtení, sekce Vlastní skripty a zámek editoru

Zamčené úložiště konfigurace

Konfigurace formuláře je soubor SiteAssets/FormCustomizer/<id seznamu>/config.json. Samotná role editoru by ji před úpravou přes SharePoint nechránila, protože soubor v knihovně by mohl přepsat každý, kdo má zápis do webu (například člen s úrovní Upravit). Proto existuje zámek úložiště.

Zamknout znamená nastavit oprávnění kořenové složky FormCustomizer tak, aby:

Formulář čte konfiguraci výhradně z tohoto souboru. Starší uložení ve vlastnostech seznamu (property bag) a společný plochý soubor se po zamknutí ignorují a používají se jen k jednorázovému převodu ve vlastníkově návrháři.

Jak úložiště zamknout

  1. Otevřete návrháře jako vlastník webu a klikněte na Zabezpečení v horní liště.
  2. V části Úložiště konfigurace zkontrolujte stav: Zamčeno (zápis mají jen vlastníci webu a skupina návrhářů), Nezamčeno (konfiguraci může přepsat každý s právem Správa seznamů), nebo stav se nepodařilo zjistit.
  3. Klikněte na Zamknout nyní. Úložiště se zamkne i bez dalších změn konfigurace.

Úložiště se zamkne také automaticky při prvním uložení formuláře vlastníkem. Složka konfigurace tohoto seznamu ještě nemusí existovat: vlastník musí formulář nejdřív alespoň jednou uložit.

První zamknutí a původ konfigurace

Než byla konfigurace zamčená, mohl ji upravit kdokoli z členů webu. Vlastník proto před prvním zamknutím vidí potvrzení se souhrnem toho, co by zamčením „zapečetil“:

Souhrn prohlédněte, zejména skripty (spustí se u každého uživatele). Pak zvolte:

Dokud úložiště zamčené není, návrhář při otevření ukazuje upozornění na původ: „Úložiště konfigurace není zamčené – konfiguraci mohli změnit členové webu. Zkontrolujte ji a uložte (zamknete ji).“

Potvrzení prvního zamknutí: souhrn zdroje konfigurace, skriptů, tlačítek s akcemi, pravidel a role, tlačítka Potvrdit a Zrušit (otevřete formulář bez dříve zamčeného úložiště a uložte ho jako vlastník)

Čtení konfigurace

Formulář otevírají i lidé, kteří nejsou členy žádné skupiny webu. Aby načetli konfiguraci, mají v zamčeném úložišti právo čtení. Dva přepínače v části Úložiště konfigurace to řídí:

PřepínačVlastnostVýchozí
Čtení konfigurace pro celou organizaci (Everyone except external users)configReadAllUserszapnuto
Čtení konfigurace i pro externí uživatele (hosty)configReadGuestszapnuto

Chybějící hodnota znamená zapnuto. Vypnete-li přepínač, konfiguraci pak čtou jen členové skupin webu a uživatelé s přímým přístupem k úložišti. Ostatní uvidí formulář bez vlastní konfigurace. Změna se do oprávnění promítne při uložení formuláře vlastníkem. Konfigurace obsahuje jen definici formuláře, ne data položek.

{
  "securityConfig": {
    "allowedEditorRole": "group",
    "allowedEditorGroup": "Návrháři formulářů",
    "configReadAllUsers": true,
    "configReadGuests": false
  }
}

Zámek editoru heslem

Návrhář můžete chránit heslem v části Zámek editoru panelu Zabezpečení. Po nastavení návrhář při otevření vyžaduje heslo (tlačítko Odemknout editor) a zobrazí nápovědu k heslu, pokud jste ji zadali. Odemknutí platí pro právě otevřenou relaci.

Zámek editoru není bezpečnostní hranice. Neomezuje přístup k datům ani ke konfiguračnímu souboru, jen brání nechtěnému otevření a úpravě. Kdo může soubor konfigurace číst, otisk uvidí; kdo ho může zapisovat, může ho odebrat. Skutečnou ochranu poskytuje zámek úložiště.

Zapomenuté heslo: vlastník webu může v knihovně Site Assets otevřít FormCustomizer/<id seznamu>/config.json a odebrat z securityConfig klíče passwordHash, passwordSalt a passwordHint. Heslo se nedá obnovit.

Zámek editoru: výzva k zadání hesla před otevřením návrháře s nápovědou k heslu

Politika skriptů

Vlastní skripty jsou ve výchozím stavu na tenantu vypnuté. Povoluje je správce tenantu hodnotou allow v tenantové Storage Entity FormCraft365_ScriptsPolicy (starší klíč SpfxFormCustomizer_ScriptPolicy s hodnotou enabled se čte jen bez nového klíče; deny v novém klíči vždy vypíná), a to jednou pro všechny weby. Chybějící nebo neznámá hodnota znamená vypnuto. V návrháři je to přepínač Povolit vlastní skripty pro celý tenant v části Vlastní skripty panelu Zabezpečení. Zapsat ho smí jen správce App Catalogu, ostatním návrhář zobrazí PowerShell příkaz pro správce. Změna se projeví po novém načtení formuláře, nejpozději do 15 minut.

Podrobnosti, hodnoty politiky a CSP: Politika skriptů.

Související stránky