博客/工程

Grafana实例有多安全?你需要知道什么

2022年2月22日10分钟

之一Grafana最强大的功能是能够漏斗从数以百计的不同数据源的数据(即。、服务或数据库)到一个仪表板没有迁移的数据它住在哪里。你可以从Grafana的连接和关联数据策划可观测性堆栈对指标、日志和跟踪、或第三方服务,如Splunk Elasticsearch, Github, Jira,和许多更多。

但是为了确保安全和隐私在使用Grafana仪表盘的解决方案或一个窗格玻璃可观测性,所有这些数据源需要保护。幸运的是,很容易维护Grafana实例及其所有数据源。

定义安全Grafana

Grafana是一个web服务。在最简单的形式中,web服务为你做些事。你请求的信息服务,服务响应的信息你要通过查询后端(即。、数据库或另一个web服务)。我们都知道数据,一般来说,是宝贵的和需要保护;因此,数据库以及服务都需要某种形式的安全。但实际上“安全”是什么意思?

我偶然发现了多次帮助我理解安全意味着什么是所谓的4 A安全——或者有时3,有时5,这取决于有多少类别是重叠的。我会添加了4 A和E:

  • 身份验证验证你是谁,从而证明别人的身份。
  • 授权会让你知道你可以做什么,包括如果你允许使用服务。
  • 审计跟踪所有关于前两晚些时候回答问题。
  • 政府指的是配置和(方便)访问的前三。
  • 加密可能意味着很多不同的事情。一般来说,数据加密,存储在某个地方,保存在内存中,或服务之间的传播。

您可以轻松地将这些概念应用到任何服务或数据库。在这篇文章中,我将讨论如何将它们应用到Grafana:哪些选项进行身份验证,授权,如何审计安全事件,可以加密。只要有可能,我不会复制文档已经存在,但作为参考,并解释如何连接。

身份验证

Grafana支持大量的选项来对用户进行身份验证。他们从“匿名”模式,基本上是“无身份验证”,不建议用于生产。公开托管仪表板在“https://play.www.tubolov.com”——一个展示使用虚拟数据向人们介绍各种Grafana特性——不使用任何身份验证和可能是唯一部署匿名身份验证,它实际上是有意义的。

在光谱的另一端,另一个身份验证选项是给所有用户访问Grafana admin和潜在不修改默认密码(“admin”)。这是开箱即用的,但它也不是推荐的原因很明显。

之间,你可能有几乎所有的选择时的身份验证。身份验证选项可用的完整列表中列出文档

所以,你应该使用身份验证方法呢?这个问题的答案是不管你的标准是在你的组织中。如果你通常使用Active Directory和管理你的用户和组使用LDAP协议,你应该Grafana配置为使用LDAP提供者。LDAP身份验证是一种身份验证方法在Grafana的OSS版本可用。

如果SingleSignOn (SSO)对你很重要,你应该考虑基于令牌的身份验证方法。再次开始使用可用的身份提供者(IdP)在你的公司,除非你有需要使用功能只用于特定的国内流离失所者。的SAML协议OAuth协议有不同的配置选项,你可能想考虑你的选择。

如果你违约公司国内流离失所者没有能力你正在寻找,看看的文档或者联系我的一个同事Grafana实验室来帮助你选择适合你的身份验证方法。bob电竞频道

在上面的登录屏幕中,您可以看到多个选项配置验证自己在登录:用户名和密码可能从LDAP源,谷歌OAuth2提供者,另一个使用Grafana.com帐户OAuth选项。

高级身份验证功能

一些较发达的身份验证方法包括在Grafana企业版本。这是专门适用于SAML验证自托管Grafana环境,以及各种OAuth选项仅仅是包含在我们的支付选项Grafana云祭。

Grafana企业可以做很多其他有用的东西,使管理员在大型组织更容易的生活。

  • Grafana企业增强了LDAP集成通过允许您在后台同步用户和组积极与同步用户登录。这使得系统更加一致和安全的,因为组分配变化反映更快。
  • Grafana企业允许你同步组从LDAP、OAuth和SAML境内流民Grafana团队。这将使它更容易管理和配置授权,因为每个Grafana团队对应于一个或多个IdP组。

授权

Grafana允许你做许多事情。其中,您可以:

  • 创建和编辑仪表板
  • 仪表板视图
  • 创建和管理警报
  • 查看警报
  • 添加数百种不同的数据源
  • 从这些数据来源和探索数据的访问
  • 创建报告

不是每个人都应该被允许去做所有这些行为。所有用户分配角色四个标准之一:Grafana管理,管理,编辑器,查看器。每一个附带了一组预定义的权限这些行动。

除了他们的标准权限,访问的每个资源基础上可以配置。例如,每个用户可以访问特定仪表板或仪表板目录查看或编辑。

简化管理权限,有团队。每个用户可以分配给一个或多个团队,和团队可以用来指派权限在仪表板上。这个简单的模型,你还有很长的路要走。然而,如果你需要进一步控制谁可以做什么,你可以看看高级功能包括在Grafana企业。

高级授权功能

Grafana企业或支付Grafana云选项,你获得更高级的功能来解决授权。

  • 最重要的一个特性数据源的权限。默认情况下,任何角色可以访问所有数据源中配置Grafana相同的访问级别的后端配置数据源。此外,任何作用,甚至观众,可能随机查询这些数据来源。数据源权限允许您决定哪些用户或团队能够查询数据源,从而帮助限制数量和用户组可以访问数据。
  • 细粒度的访问控制(FGAC)目前处于测试阶段和快速增长的特性以及不断提高关于用户体验。它允许您创建新的角色和定义一个特定的组每个角色的权限。如果四个默认角色不满足组织的需求,您可以指定每个用户个人固定或自定义角色定义什么他们可以做细粒度的基础上。的例子文档包括给某些用户能够创建报告或不允许他们邀请其他用户使用Grafana实例。Grafana 8.3这个功能添加到用户界面中Grafana 8.4添加FGAC Grafana团队功能。
  • 我已经提到过团队同步在身份验证部分。保持团队的价值和身份提供商组织同步是任何用户添加或删除这些外部团体继承Grafana团队的权限,从而使你的努力来管理这些球队降到最低。

在前面的例子这个数据源的权限,只有一个用户名称“艾伯特”以及用户团队“IT部门”读访问的数据谷歌云监控数据源。

审计

审核非常重要,原因有很多。一方面,有特定的法律要求组织能够告诉在Grafana访问该资源。另一方面,从安全的角度来看,从经验中我们知道,即使是合法用户访问会导致事故,往往无意中。如果有违反(或当有违反),我们需要能够告诉发生了什么,是谁干的,当它发生时,如果可能,为什么和它是如何发生的。这是很重要的,以确保事件不再发生。

Grafana企业和Grafana云高级层有详细的日志来回答这些问题。此外,你可以提出这些日志Grafana洛基,它允许您存储它们,只要你要求他们按照公司的政策以及使用它们来创建有意义的安全审计仪表板。

这张照片显示了一个示例的一个审计仪表板与条目显示一些用户登录,获得计费信息,或更新数据源。

这个设置,你有无尽的选择,可以使用Grafana管理的全部威力,骨料,想象自己的审计日志。

例如,您可以显示每个用户的数量失败的登录尝试。你可以跟踪谁创建或删除某些数据源或改变了某些权限仪表板。一个完整的列表中可以找到支持的行动文档

审计功能都集成到Grafana本身。在这里,你可以看到一个简单的洛基查询显示登录事件在最后一小时Grafana实例。

政府

到目前为止所描述的很酷的东西对我的一切都是你不需要离开Grafana界面来管理所有这些方面。用户管理、团队、外部组织,细粒度访问,和自定义审计仪表板内可以做Grafana接口。

因此,Grafana可以被视为一个真正的单一窗格玻璃,不仅对其有能力连接到旁边的数百种不同的数据源和想象他们彼此在一个仪表板,还因为它的能力管理和可视化自身安全方面。

加密

加密可以防止第三方能够有意义的数据,他们可能有意外或故意获得,即使他们不应该基于我们刚刚讨论的机制。

有很多的信息,你可能想要加密:

  • 用户和Grafana实例(之间的通信协议:https)
  • Grafana和支持数据库之间的通信(“ssl_mode”)
  • Grafana之间的通信和数据来源。对于这些,您需要确保使用有效证件和配置服务层来使用它们。请参考文档的数据源启用加密通信。

这些类型的“丝加密”是非常标准的流程和容易Grafana以及数据库实例的配置。

另一件你想要加密敏感值,如用户名和秘密,存储在Grafana配置文件。你可以利用Hashicorp库集成。

Grafana秘密存储的数据库,您可以使用外部密钥管理系统(公里)加密。直到最近,Grafana只支持AWS公里Azure关键库。的释放Grafana 8.4,您还可以使用谷歌云公里Hashicorp库对于这个。

总结

Grafana方便为你安全实例通过提供你需要的开箱即用的。您首先需要决定身份提供者。然后你需要考虑一个访问模式,符合用户的访问模式,团队,和角色在你的组织中,实现它。理想情况下,您将配置发送你的审计日志Grafana云日志(这是默认的Grafana云)和加密任何值得加密。

安全往往是一项艰巨的任务,通常很难看到眼前的需要投入时间和资源设置合适的参数或基础设施在一开始。这个简短概述应该为你配备合适的知识正确安全的事件发生之前Grafana实例和防止事故或漏洞的发生。