博客/工程

Grafana Enterprise Logs 1.1的新功能:基于标签的访问控制

2021年8月3日4分钟

回到二月,我们介绍了Grafana企业日志(GEL)Grafana企业堆栈.GEL是大型组织摄取和查询其全部日志量的一种新方法,没有与其他解决方案相关的成本或操作复杂性。bob彩票中奖计划(查看演示在这里.)

我们刚刚发布了GEL 1.1,它的一个关键特性是基于标签的访问控制(LBAC)。这是Grafana实验室为我们所有产品提供细粒度访问控制的更大努力bob电竞频道的一部分,因此操作员可以访问许多不同的选项来强制执行许可。bob手机app官网

想象一下,您有两个使用GEL的不同团队,您希望区分谁可以访问哪些内容。使用LBAC,可以通过特定的标签要求限制特定个人可以查询哪些日志。当您拥有不希望公司中的每个人都能够访问的日志文件时(例如,如果它们包含个人身份信息(PII)),这是很有用的。

熟悉配置

LBAC是一个我们在Grafana Enterprise Metrics中已经拥有的功能(GEM),与GEL中的配置相似。设置基于标签的访问策略只是设置访问策略以授予用户对GEL集群中特定租户的读访问权限的扩展。

凝胶插件让设置变得容易,但也有一个API,为那些更喜欢它的客户。

有关如何使用LBAC的说明,请参阅文档页面

它的工作原理是什么

当用户使用令牌登录时,将检索该令牌的访问策略上的标签策略。它们指定是否应该包含带有特定标签集的日志行。然后,标签策略被传递给系统的所有组件——无论是在微服务模式下运行的单二进制文件,还是在查询前端运行的单二进制文件——直到它们到达存储引擎。

在查询时,GEL过滤掉与模式不匹配的日志行块,以便用户只能看到他们被授权查看的日志行。

LBAC的一大好处是,通过添加过滤,您将处理比以前更少的数据。用户不必浏览每一个数据块。相反,您只浏览您可以访问的那些,然后在洛基查询

处理更少的数据还意味着更快的查询结果和执行查询所需的更少的硬件。

克服挑战

LBAC可能是一个很容易理解的概念——它只返回与标签匹配的值——但是这个功能花了大约5个月的时间来开发。我们投入了这些时间,以便进行严格的测试,以确保GEL用户可以完全确信,当他们想要查询返回标签等于某个值的日志时,查询是真的会发生的。

我们遇到的最大挑战之一是确保标签匹配器正确地传递给GEL中的每个组件。如果过滤器在查询路径中的任何位置被删除,则可能会返回想要隐藏的日志行。

在使用LBAC时要记住的一点是,指定选择哪些标签的方式非常灵活,这也可能使它略难理解。例如,您可以编写复杂的逻辑表达式和正则表达式来捕获想要包含和排除的特定日志集。这是在Loki查询的日志流选择器中都无法做到的。

如果要排除带有特定标签的日志,可以创建一个标签策略,排除所有带该标签的日志行秘密= true通过添加一个选择器秘密!= " true "创建访问策略时。

您还可以使用多个选择器来创建一个策略,允许某人访问生产和开发环境,并排除带有标签的日志秘密= true在生产环境中。

最终的想法

bob电竞频道Grafana实验室已经在我们的计费集群中使用了这种复杂的过滤。正如您可以想象的那样,账单信息是敏感的,因此我们使用多个日志选择器来确保在向客户1显示账单信息而不让他们看到属于客户2的信息时获得正确的数据集。

以上就是目前的全部内容,请继续关注GEL的下一个更新。与此同时,你可以在文档中阅读更多关于Grafana企业日志的信息,联系我们如果你想试试的话!