产品和基础设施工程团队的利益与安全工程团队的利益时常不一致。安全的价值不像业务价值或实用解决方案那样直接可见,因此很难让人理解在事故发生前投入资金或努力是值得的。然而,宣传具有商业价值的安全解决方案比采用传统的发现漏洞、实施补救措施和通过案例管理进行跟进的循环更有效。例如,使用基于 oauth 和 iam 的访问代替静态密钥,使用加密代替更精细的访问控制,这些都可以显著简化基础架构、降低复杂性并减轻运营负担,这对产品和平台工程团队都极具吸引力。
产品和基础设施工程团队的利益并不总是与安全工程团队的利益一致。虽然产品和基础设施专注于推动业务价值和提供实用解决方案,但安全侧重于检测、预防和补救,这些似乎没有那么直接的价值。就像保险单一样,如果还没有发生事故,就很难看出它为什么值得花钱或付出努力。
我发现,与传统的发现漏洞、实施补救措施和通过案例管理进行跟进的循环相比,倡导能够带来商业价值的安全解决方案更为有效。例如,使用基于 OAuth 和 IAM 的访问代替静态密钥,使用加密代替更精细的访问控制可以显著简化基础架构、降低复杂性并减轻运营负担,这对产品和平台工程团队都非常有吸引力。
示例:使用基于 IAM 的 OAuth 替换静态密钥
传统上,系统之间的访问是通过静态密钥对实现的。这种方法虽然很常见,但由于管理密钥生成、轮换和应用程序生命周期的复杂性,往往会导致可靠性问题。平台团队还必须投入大量精力来监控和检测异常,以防止意外的密钥泄露,例如通过 Slack 或 GitHub 意外泄露。即使开发人员报告并补救泄漏,轮换过程也可能很费力。更糟糕的是,开发人员可能认为这是低风险泄漏,因此泄漏可能不会被报告。
平台团队有两种选择:
添加更复杂的访问控制和批准流程。
用基于 IAM 的 OAuth 替换静态密钥对。
第一种选择可能很诱人,因为它只需添加 ServiceNow 等供应商,而无需做太多额外工作。然而,第二种选择虽然需要更多的实施变更,但更安全,并减少了应用程序团队更新机密、重启 Pod 和确保机密被获取的运营负担。事实上,最近出现了几家专注于非人类身份验证的公司,如 P0 和 Clutch,突显了更安全、更高效的身份验证方法日益流行的趋势。
这个例子展示了如何通过不同的安全实施方法提高安全标准、简化基础设施架构、提高整体开发速度。
数据加密案例
数据加密是另一个例子,虽然安全团队不能简单地“添加供应商”,但从安全和架构设计的角度来看,它大大降低了所有平台的复杂性和实施工作量。
典型的数据流包括:
源应用程序发布数据
数据被发送到传输层(例如 Kafka、Kinesis)
数据存储在数据库(MySQL、Postgres)、数据仓库(Redshift、Snowflake)或数据湖(S3、Databricks)中
不同的解决方案对“访问控制”的理解和实现方式不同,导致平台团队各自实现不同的版本,这往往导致公司内部实现方式的碎片化。对于安全工程师来说,实现方式越碎片化,就越难实现标准化的治理、控制和监控,最终导致系统安全性下降。
基础设施/供应商授权和权限比较
平台 | 基于 IAM 的身份验证 | 行/列权限 |
---|---|---|
数据块 | 支持基于 IAM 的权限 | 支持行和列级安全性 |
雪花 | 本身不支持基于 IAM 的权限 | 支持行和列级安全性 |
MySQL | 不支持基于 IAM 的权限 | 通过授权和策略支持行级和列级安全性 |
PostgreSQL | 不支持基于 IAM 的权限 | 支持行和列级安全性 |
结论
借助数据加密,只需使用加密密钥配置一次访问权限,然后就可以将其分配给数据流不同阶段的各个工作负载。这大大降低了在不同平台上实施和协调权限策略的复杂性。加密可确保数据在所有平台上受到一致保护,从而简化治理和控制,同时增强整体安全性。
以上就是数据加密如何简化基础设施架构的详细内容,更多请关注本站其它相关文章!