云上细粒度访问管理的参考架构
本文由 Addo Zhang 翻译自 A Reference Architecture for Fine-Grained Access Management on the Cloud 什么是访问管理? 访问管理是识别用户或一组用户是否应该能够访问给定资源(例如主机、服务或数据库)的过程。例如,对于开发人员来说是否可以使用 SSH 登录生产应用程序服务器,如果可以,那么可以登录多长时间?如果 SRE 在非支持时间尝试访问数据库,他们这样做?如果数据工程师已转移到其他团队,他们是否应该继续访问 ETL 管道的 S3 存储桶? 现在如何进行访问管理? 在云上各种基础设施和数据服务激增之前,访问管理是 DevOps 和 Security 团队要解决的相对简单的问题。VPN 和堡垒主机是(现在仍然是)在网络级别封锁所有关键资源的首选机制。用户必须先通过 VPN 服务器进行身份验证,或者登录到堡垒主机,然后才能访问专用网络上的所有资源。 当资源是静态的并且它们的数量相对较小时,此方法效果很好。但是,随着越来越多的资源动态地涌入专用网络的各处,VPN / 堡垒主机解决方案变得站不住脚。 具体来说,在三个方面,VPN 和堡垒主机不足以作为一种有效的访问管理机制。 它们作用于网络层面:用户通过 VPN 进行身份验证并获得对专用网络的访问权限后,他们实际上就可以访问其上运行的所有服务。无法根据用户的身份在基础架构或数据服务的粒度上管理访问。 凭据是攻击的媒介:VPN 和堡垒主机都要求用户记住并存储凭据。过期和轮换凭证作为安全策略非常困难,尤其是在涉及大量用户的情况下,凭证因此成为潜在的攻击媒介。 不能管理第三方 SaaS 工具:SaaS 工具(如 Looker、Tableau 和 Periscope Data)需要直接访问数据端点。因此,使用这些工具访问数据的任何人都无法通过使用了相同的机制和凭据的基础设施进行身份验证。 云上访问管理的新架构 在本文中,我们将定义新的参考架构,为那些正在寻求简化访问管理云资源(从 SSH 主机、数据库、数据仓库到消息管道和云存储终结点)解决方案的云原生企业。