Spotify 和 Google 联合发布 GCP 安全工具

  • Andrew Morgan
  • 盖磊

2017 年 9 月 24 日

话题:DevOps语言 & 开发架构文化 & 方法

Google开放了 Forseti Security 项目,其中包括对所有 GCP(谷歌云平台,Google Cloud Platform)用户可用的一系列开源安全工具。该项目是由 Spotify 和 Google 协作开发的,它将双方最初各自独立开发的工作组合在一起,统一以整体的工具集提供。Forseti 的目的在于自动化开发人员的安全过程,增大开发的自由度。

Forseti 的核心工具集包括:

  1. Inventory 工具:间歇性地对资源做快照,用于安全审计目的。
  2. Scanner 工具:监控在资源上基于角色的访问控制,并将在策略出错时激发其中的通知系统。
  3. Enforcer 工具:强制资源安全策略处于一个期望的状态,阻止所有不需要的更改。
  4. IAM Explain 工具:帮助推理(Reason about)和建立 Cloud Identity & Access Management 策略。

Spotify 使用 Forseti 创建通知流水线,用于通知开发人员存在风险的安全配置,目的在于使开发团队对安全具有操作上的权限、提升认知并移除阻碍物。对此,Spotify 给出了如下解释:

Forseti 使我们可以看到 GCP 架构的情况,这是我们以前并不具有的能力。Forseti 的使用可帮助我们确认正确的控制已到位,并在安全攻防上领先一步。Forseti 有助于我们知悉自身环境的运行情况,使我们可以快速地找出任何存在风险的不正确配置,并立刻修正它们。该工具集让我们可以建立工作流,使安全团队处于一种积极主动的状态,而非被动的响应式状态。我们可以及时地通知所有涉及的人,而非等待问题发生。

Inventory 工具是 Forseti 的核心,它用于存储 GCP 资源的信息,然后 Scanner 和 Enforcer 工具就可以操作这些数据。各 GCP 资源及相应的可用处理工具列表,以特性覆盖表形式给出。

审计功能是 Inventory 工具的主要用例。使用 Inventory,我们易于确定资源安全可能在哪一个时间点上发生了更改,并可确定更改者。

Scanner 工具定义了资源所期望的安全策略,它采用的是 JSON 或 YAML 规则定义文件。该工具进而使用一种规则引擎,对期待策略与实际策略间的差异做对比,输出所有违反安全的规则,并存储在 CloudSQL 中。

Enforcer 工具不仅监控和报告安全情况,事实上也会操作所有被检测到的违反安全的策略或规则。其功能使用了多种 Google Cloud API 实现,可操作资源恢复为期望的安全状态。

Explain 工具用于分析和开发 Cloud IAM 策略。在更为复杂的项目中,这些策略通常会变得难以推理。例如,Explain 工具可以解释一个主体(Principal)访问特定资源的原因,或是对将一个主体授权给特定资源的方式提出建议。

Forseti Security 项目的文档源代码均已在线提供,即刻就可在 GCP 上安装和使用。

查看英文原文: Spotify and Google Release Forseti GCP Security Tools

DevOps语言 & 开发架构文化 & 方法