如何删除resource中的s3.access_key以及s3.secret_key属性

Viewed 23

doris在3.0.6版本上线了assumed role模式认证鉴权. 之后使用s3的时候, 无需再把ak以及sk明文写到sql中提交,或者写到配置中.
参考文档:https://doris.apache.org/zh-CN/docs/3.0/admin-manual/auth/integrations/aws-authentication-and-authorization?_highlight=role_arn#assumed-role-%E8%AE%A4%E8%AF%81%E9%89%B4%E6%9D%83

而功能测试没问题, 可以使用. 但目前需要对当前的生产环境进行鉴权方式更替, 已经在现有的一个resource中写入了ak以及sk, 并且有部份policy也使用了该resource, 且当前已有大量的表使用到了这部份policy.

最先考虑到的是将resource中的ak以及sk删除,添加s3.role_arn属性, 但是发现role_arn属性可以添加, 而ak和sk无法删除, 将其置为""也无法生效. 因此这两个属性目前好像是无法删除的.

而想到另外一种方式, 就是创建新的resource, 替换当前policy使用到的resource, 而使用到该storage_resource的policy是无法通过语句替换storage_resource.

而policy当前已经被大量的表使用, 不太方便进行policy的替换.

想问一下是否有大佬遇到这个问题, 有没有什么好的解决方案.

1 Answers

后续希望通过创建一套新的policy, 将现有表中的policy更替掉, 发现无法更换.
执行语句:
alter table test_db.test_t modify partition(*) set ("storage_policy" = "s3_cooldown_policy_role_30d")
报错:
Execution failed: Error Failed to execute sql: java.sql.SQLException: (conn=245673) errCode = 2, detailMessage = currently do not support change origin storage policy to another one with different resource

参考github代码注释:
https://github.com/apache/doris/blob/05a5111414ed61de6e313984fdd88e0767f778bb/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java#L418

发现目前暂时无法支持, 因此也无法做策略的更新以及资源的更新