shardingsphere数据脱敏可以先加载配置以后 动态修改要加密的表吗

shardingsphere加密嵌套到业务项目中使用 ,但是哪张表要加密事先是不知道,可以通过动态配置来修改要加密的表吗 有没有相关的接口或者类之类的呢?

使用环境:

场景、问题:

已进行操作:

现状:

可以,使用 DistSQL 即可满足该需求。

如果接入端是 ShardingSphere-Proxy,可以使用 DistSQL 创建、修改、删除加密规则,实时生效。
如果接入端是 ShardingSphere-JDBC,则需要另外部署一个 Proxy,用于执行管理相关的 SQL。即混合架构。

另附 DistSQL 介绍文章:

您好 请问 如果要动态修改的配置是在自己项目中通过界面在mysql中创建相关要加密的表和要加密的字段 然后怎么去动态修改之前配置的shardingsphere的加密配置文件呢

你可以调研下, 使用 shardingsphere cluster mode + 手动操作 zookeeper. 也许能实现你的需求.

这个好复杂 :sob: 我实现不了

    mode:
      type: Cluster
      repository:
        type: Zookeeper
        props:
          namespace: governance_ds
          server-lists: localhost:2181
          retryIntervalMilliseconds: 500
          timeToLiveSeconds: 60
          maxRetries: 3
          operationTimeoutMilliseconds: 500
      overwrite: false

使用 cluster 模式还是很简单的, xml 的方式可以看下这个: shardingsphere/examples/shardingsphere-jdbc-example/single-feature-example/cluster-mode-example/cluster-mode-spring-namespace-mybatis-example/src/main/resources/META-INF/zookeeper at master · apache/shardingsphere · GitHub

没看懂 我的项目是spring的不是spring-boot的 看着shardingsphere-proxy没法在我的项目中配置

使用distSQL的话 创建一个sql规则 会自动加载到之前的配置文件吗

可以自己读取mysql的数据来写到zk的配置中心 用Proxy来拉取这个加密的规则么
有提供这样子的接口吗 想用项目本地的mysql来修改配置规则 而不是用distSQL来另外的修改规则 这样子可以吗

规则是写入注册中心的,不会影响用户本地配置文件。 Proxy 下次重启也能从注册中心获取配置信息。
关于注册中心的信息,需要查看 server.yaml 中 mode 配置部分。

对不起,您的描述一直在提 mysql 的数据、mysql 的配置,这个可能存在误区,我无法很好的理解。
建议先阅读官网文档或其他技术博客,了解 ShardingSphere-JDBC 和 ShardingSphere-Proxy 的工作模式,我们才能更好的提供具体问题的解决方案。

您好 手动操作zk 有相应的可以参考的例子吗 我觉得 这个方案可行 可是不会实现

使用 DistSQL,所有的操作都会校验,保证规则配置的完整性。
若手动修改 ZK,极易产生不完整、不一致、不正确的配置内容,请注意风险。

抱歉, 我没有例子, 因为这不是标准的做法.

请问一下 加载加解密配置文件的类是哪个呢 想在项目中自己决定调用该配置文件的加载时间
我想试试这种方案可行不

京ICP备2021015875号