Stored Procedures og sikkerhed (GRANT)
Kort fortalt, kan jeg GRANTe EXECUTE-adgang for én bruger til alle udvalgte sprocs med 'db.pub_%' ?Længere forklaring:
Jeg er ved at oprette et system, hvor jeg har lavet 2 sæt sproc, private og offentlige.
Meningen er at udefra kalder man med en brugerID, som kun, og kun, har adgang til de offentlige sprocs.
De offentlige sprocs foretager noget grundlæggende validering (datoer og standardværdier), kalder evt. en log, og kalder så de private sprocs.
Jeg sætter DEFINER på alle sprocs til en data-bruger, som har adgang til at rette CRUD alle relevante tabeller samt Execute på hele databasen.
Men denne her specielle bruger, som må bruges til kald udefra, vil jeg ikke give adgang til data. Al tilgang skal foregå via sprocs.
Det virker sådan set fint. Alle interne sprocs har jeg prefixet med 'core_', mens public sprocs hedder de de hedder.
Mit spørgsmål går ud på, hvordan jeg bedst styrer adgang til de offentlige sprocs. Hvis jeg omdøbte alle offentlige sprocs til at have et præfix, f.eks. 'pub_', kunne jeg så GRANTe EXECUTE-adgang for denne bruger til alle sprocs med 'db.pub_%' ?