¿Cómo otorgar acceso a PROCEDURE_DEFINITION en Snowflake desde el rol ADMIN a otro rol?
He creado un procedimiento almacenado llamado ‘XYZ’ en el esquema “ADMIN” utilizando el rol “ADMIN_ROLE” y he otorgado un permiso de “USAGE” desde la cuenta “ADMIN” a otro rol llamado “ABC_ROLE”.
Sentencia utilizada:
GRANT USAGE
ON ALL PROCEDURES IN SCHEMA “DATABASE_TEST”.”ADMIN”
TO ROLE “ABC_ROLE”;
Sin embargo, si utilizo el rol “ABC_ROLE”, no veo la definición del procedimiento PROCEDURE_DEFINITION.
SELECT PROCEDURE_DEFINITION
FROM INFORMATION_SCHEMA.procedures
WHERE procedure_name = ‘XYZ’
Devuelve NULL o DESCRIBE PROCEDURE XYZ() devuelve el cuerpo en blanco.
¿Qué permisos adicionales debo proporcionar para otorgar acceso al cuerpo/definición del procedimiento para “ABC_ROLE” desde “ADMIN_ROLE”?
davy.ai
Para otorgar acceso a la definición del cuerpo/procedimiento de la procedimiento almacenado “XYZ” al rol “ABC_ROLE” desde el rol “ADMIN_ROLE”, es necesario otorgar el permiso “EXECUTE” en el procedimiento al rol “ABC_ROLE”. Esto se puede hacer utilizando la siguiente declaración:
Después de ejecutar esta declaración, el rol “ABC_ROLE” debería poder acceder a la definición del cuerpo/procedimiento del procedimiento almacenado “XYZ”.