使存储额外的 SQL 属性变为可选

bp extra-optional

允许云提供商禁用存储“额外”SQL 属性的功能。

问题描述

我们的 SQL 驱动程序长期以来支持客户端通过在 API 调用(例如 POST)中包含额外的属性来利用我们的正式实体属性——然后我们将这些属性存储在“extras”列中。虽然许多客户都在使用此功能,但这不是我们希望鼓励的做法。此外,允许这样做可能意味着如果客户端在 API 调用中包含此类属性,云提供商可能会无意中存储 PII 信息。

提议的变更

我们将提供一个配置选项来定义我们的 SQL 驱动程序是否存储额外的属性。为了向后兼容,默认情况下将设置为允许这种存储。禁用此选项将支持在 SQL 实体的读取和写入中,要么静默忽略任何额外的参数(并向日志发出警告),要么报错。

如果系统上禁用了此选项,但已经存储了额外的属性,这些数据将不会被删除——这留作云提供商的独立操作。

顺便说一下,虽然我们确实支持 LDAP 驱动程序的额外属性,但由于必须在配置文件的 LDAP 部分中定义映射,因此这些属性的存储已经是可选的。

备选方案

安全影响

这应该可以消除潜在的安全漏洞。

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

实现

负责人

主要负责人

Henry Nash (henry-nash)

工作项

  • 创建配置选项

  • 在核心 SQL 代码中尊重该选项,该代码转换额外的属性

依赖项

文档影响

更新 configuration.rst

参考资料