【问题标题】:Seq API key issuesSeq API 密钥问题
【发布时间】:2016-07-29 09:31:12
【问题描述】:

我们目前正在采用 Serilog 和 Seq - 顺便说一下,迄今为止令人惊叹的产品 - 并且出现了以下 API 密钥相关问题(我认为它们非常密切相关且简洁,因此我宁愿将它们一起发布):

  1. 是否有任何属性自动存储在标识 API 密钥的事件中?

    我们的第一种方法是为每个 API 密钥添加一个应用属性。具体来说,我们添加了一个“App”属性,其中包含复制粘贴的 API 密钥标题应用属性。

  2. 每个 API 密钥的事件类型是全局的还是本地的?

    从文档中,我了解到使用不同 API 密钥记录的相同模板将具有相同的事件类型 - 因此是“全局”:

    虽然使用消息模板很冗长,但 Seq 会生成消息模板的 32 位散列,并使其在 @EventType 内置属性中可用。 (来源:official docs

  3. 可以指定 API 密钥令牌而不是自动生成吗?

    动机是避免在安装新的 Seq 实例后更新代码/配置。当我们了解到升级服务器版本时不支持备份时更是如此:

    版本必须与创建备份时使用的版本相同。 (来源:official docs

【问题讨论】:

    标签: logging serilog seq-logging getseq


    【解决方案1】:

    我认为您混淆了 API 密钥主密钥,它们都不是日志记录概念。

    API 密钥是您从客户端用来向 Seq 进行身份验证的密钥,以便您可以将日志推送到其中。

    主密钥是在服务器端用于加密数据的加密密钥。


    所以回答你的问题:

    1. 是否有任何属性自动存储在标识 API 密钥的事件中?

    答:不...如果 API 密钥曾经在日志消息中泄露,那将是一个巨大的安全问题

    1. 每个 API 密钥的事件类型是全局的还是本地的?

    答:事件类型与 API 密钥没有任何关系,所以用你的话说:“全局”

    1. 能否指定 API 密钥令牌而不是自动生成?

    答:是的。您可以为每个应用程序 generate API keys,它们将在升级过程中保持不变

    【讨论】:

    • 感谢您的回答。我认为我根本没有混淆这些术语:除了恢复备份之外,我看不到主密钥如何应用于任何这些场景。我将 API 密钥更多地描绘为“应用程序源相关 id”而不是钥匙本身。同样至少对我们来说,将 API 密钥存储在事件中并不是安全问题,即使是,身份验证和数据加密也应该足够 imo。
    • 看起来你想要的只是添加一个丰富的属性,例如“AppId”,您可以使用它来过滤每个应用的日志消息。
    • 是的,这就是问题所在:我们已经在使用它们,并且想知道是否有一些内置支持——例如通过 API 密钥——来自动化流程
    【解决方案2】:
    1. 是否有任何属性自动存储在标识 API 密钥的事件中?

    不,必须使用应用的属性。

    1. 每个 API 密钥的事件类型是全局的还是本地的?

    它们是全球性的。实际上,如果您在不同的应用程序(即 API 密钥)中具有相同的事件模板(即事件类型),这很有用,以便您可以按事件类型和应用程序进行过滤(使用每个 API 密钥的应用属性,例如“App”) .

    1. 能否指定 API 密钥令牌而不是自动生成?

    好像是this will be possible starting with version 3.4

    【讨论】:

      猜你喜欢
      • 2021-04-18
      • 2020-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多