I want non-dbadmin users to be able to set AWS configs and then use the s3() source to load data.
I tried the following with a non-dbadmin user:
SELECT
AWS_SET_CONFIG('aws_id', '...'),
AWS_SET_CONFIG('aws_secret', '...')
;
However, when I do, I get an error:
[Vertica][VJDBC](3457) ERROR: Function AWS_SET_CONFIG(unknown, unknown) does not exist, or permission is denied for AWS_SET_CONFIG(unknown, unknown)
I don't get this error if I run the same query as dbadmin. So I tried to grant permission on the function to the user I'm interested in, but it doesn't work.
For example, if I try this as dbadmin:
GRANT EXECUTE ON FUNCTION AWS_SET_CONFIG() TO my_user;
I get this error:
[Vertica][VJDBC](2059) ROLLBACK: Function with specified name and parameters does not exist: AWS_SET_CONFIG
I've tried a bunch of variations, including stuff like AWS_SET_CONFIG(param VARCHAR), but they all yield the same error.
I also tried this variation with my_user:
ALTER SESSION SET UDPARAMETER FOR awslib aws_id='...';
This yields a different error:
[Vertica][VJDBC](6902) ROLLBACK: Permission denied on [public.awslib]
I'm not sure how to grant permission on public.awslib. It doesn't appear to be a visible object.
How do I allow non-dbadmin users to run AWS_SET_CONFIG() or the UDPARAMETER equivalent? I'm running Vertica 8.1.1.