Odpravljanje težav

Uporabniki z administratorskimi pravicami lahko spreminjajo varnost RLS v PANTHEON-ovi podatkovni bazi.
- Ustvarimo ploščate tabele, funkcije RLS in varnostne pravilnike
- Spustimo (DROP) RLS v podatkovno bazo (počistimo vse)
- Vzorec za izbiranje vseh podatkov brez preverjanja dovoljenj
- Preverimo, ali je RLS omogočen za PANTHEON-ovo podatkovno bazo
|
1. Ustvarimo ploščate tabele, funkcije RLS in varnostne pravilnike
[dbo].[pPA_RLSCreate]
- Ustvarimo ploščate tabele RLS iz skripta v shemi RLS:
Ukaz SQL:
Exec [dbo].[pPA_RLSFlatTablesPrepare]
- Napolnimo vse ploščate tabele (podatki iz tabel t%usersecurity v tabele RLS):
Ukaz SQL:
Exec [dbo].[pPA_RLSFlatTablesFill]
- Ustvarimo vse tabelarične funkcije RLS v vrstici, uporabljene v predikatih:
Ukaz SQL:
Exec [dbo].[pPA_RLSCreateFunctions]
- Napolnimo podatke, ki so potrebni za ustvarjanje varnostnih pravilnikov za tabele:
Ukaz SQL:
Exec [dbo].[pPA_SetRLSFunctionPolicyFill]
- Ustvarimo sprožilce after-insert za spremembe v tabelah t%usersecurity:
Ukaz SQL:
Exec [dbo].[pPA_RLSCreateTriggers]
- Omogočimo/onemogočimo vse pravilnike za vklop RLS v podatkovni bazi:
Ukaz SQL:
Exec pPA_RLSSecurityPoliciesState 'ON';Exec pPA_RLSSecurityPoliciesState 'OFF';Exec pPA_RLSSecurityPoliciesState 'ON', 'tHE_Move';Exec pPA_RLSSecurityPoliciesState 'OFF', 'tHE_Move';
2. Spustimo (DROP) RLS v podatkovno bazo (počistimo vse)
Ukaz SQL: Exec [dbo].[pPA_RLSDrop]
- DROP SECURITY POLICY
- DROP za funkcijo [RLS]
- DROP za sprožilce: exec pPA_RLSCreateTriggers 'F'
- DROP za tabelo [RLS]
- Onemogočimo vse pravilnike, da uveljavimo RLS za podatkovno bazo:
Exec pPA_RLSSecurityPoliciesState 'OFF';
3. Vzorec za izbiranje vseh podatkov brez preverjanja dovoljenj
Ukaz SQL:
execute as user = 'RLS_ALL'
select * from tHE_Move
revert
4. Preverimo, ali je RLS omogočen za PANTHEON-ovo podatkovno bazo
Ukaz SQL:
select * from [dbo].[fPA_RLSEnabled]()