Seq API密钥问题

时间:2016-07-29 09:31:12

标签: logging serilog getseq

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

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

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

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

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

      

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

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

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

      

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

2 个答案:

答案 0 :(得分:1)

我认为您混淆了 API密钥主密钥,这两者都没有记录概念。

API密钥是您从客户端使用Seq进行身份验证时使用的密钥,因此它允许您将日志推送到其中。

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

所以回答你的问题:

  1. 是否有任何属性自动存储在标识API密钥的事件中?
  2. 答:不......如果API密钥在日志消息中泄露,那将是一个巨大的安全问题

    1. 每个API密钥的事件类型是全局的还是本地的?
    2. 答:事件类型与API密钥无关,因此将其置于您的条款上:"全球"

      1. 是否可以指定API密钥令牌而不是自动生成?
      2. 答:是的。对于每个应用,您都可以generate API keys,并且在升级过程中保持不变

答案 1 :(得分:1)

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

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

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

他们是全球性的。实际上,如果您在不同的应用程序(即API密钥)中具有相同的事件模板(即事件类型),这将非常有用,这样您就可以按事件类型和应用程序进行过滤(使用每个API键的应用属性,例如"应用"。)

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

似乎this will be possible starting with version 3.4