Snowflake自定义角色创建file_format权限不足问题咨询
Snowflake 创建File Format权限问题解决
错误原因
报错SQL access control error: Insufficient privileges to operate on schema 'PUBLIC'的核心原因是:自定义角色my_role2缺少在TEST.PUBLIC schema下创建文件格式(FILE FORMAT)的权限。当前已分配的权限仅包含创建STAGE、TABLE,以及SCHEMA的USAGE、MONITOR权限,未覆盖FILE FORMAT的创建权限。
解决步骤
- 使用具备权限的角色(如ACCOUNTADMIN、SECURITYADMIN或TEST.PUBLIC的OWNER角色)执行权限授予命令:
GRANT CREATE FILE FORMAT ON SCHEMA TEST.PUBLIC TO ROLE my_role2;
- 切换回
my_role2,重新执行创建文件格式的语句:
create or replace file format my_csv_format type = csv field_delimiter = ',' skip_header = 1 field_optionally_enclosed_by = '"' null_if = ('NULL', 'null') empty_field_as_null = true;
- 完成后即可正常创建关联该文件格式的stage:
create or replace stage demo_stage url='your_s3_bucket_path' STORAGE_INTEGRATION="s3_int" file_format = my_csv_format;
补充说明
- Snowflake采用细粒度权限控制,每种数据库对象(STAGE、TABLE、FILE FORMAT等)的创建权限需要单独授予,无法通过其他对象的权限自动覆盖。
- 执行权限授予操作时,必须确保当前使用的角色拥有对目标角色和schema的授权权限。
内容的提问来源于stack exchange,提问作者Tania
相关产品推荐
相关产品推荐

