My objective is to create a custom role, with least privileges that provides capability to "Get Data" in Data Marketplace. This is primarily intended from "consumer" perspective and NOT "provider" perspective
Here are the options I tried, but still "Get Data" button is disabled. What other privileges are required to enable "Get Data" button.
Option-1
- CREATE ROLE DX_CONSUMER_ROLE (executed using USERADMIN)
- GRANT IMPORT SHARE ON ACCOUNT TO ROLE DX_CONSUMER_ROLE (executed using ACCOUNTADMIN)
Conclusion: "Get Data" button is still disabled when using DX_CONSUMER_ROLE
Option-2
- CREATE ROLE CSTM_SYSADMIN_ROLE (executed using USERADMIN)
- GRANT ROLE SYSADMIN TO ROLE CSTM_SYSADMIN_ROLE (executed using SECURITYADMIN)
- GRANT ROLE DX_CONSUMER_ROLE TO ROLE CSTM_SYSADMIN_ROLE (executed using SECURITYADMIN)
Conclusion: "Get Data" button is still disabled when using CSTM_SYSADMIN_ROLE
Per Snowflake documentation, it mentions IMPORT SHARE is good enough, but I am unsuccessful so far. What am I missing here. Any advise.
Here is further observations after above original post ...
- Standard Lists (aka Free Data Sets), by default has "REQUEST" button (and disabled)
- If IMPORT SHARE is provided through ROLE Hierarchy like Option-2 above, then "REQUEST" button changes to "GET DATA" button (but still disabled)
- Only when IMPORT SHARE is provided directly to SYSADMIN, then "GET DATA" button is enabled.
Looks like custom role cannot be used to enable marketplace "GET DATA" button and it has to be IMPORT SHARE for SYSADMIN. From operationalization perspective within an organization, I personally prefer to segregate regular SYSADMIN (who can creates local DBs) vs MARKETPLACE Consumer SYSADMIN (who can only imports shares from marketplace). Appreciate if someone can suggest a workaround to accommodate this.
Thanks