Hashicorp Vault数据库秘密引擎--跟踪Vault产生的动态用户。

问题描述 投票:0回答:1

我已经用MySQL配置了Vault数据库秘密引擎。每次我们要求临时凭证时,Vault都会生成一个唯一的用户。有时我们想知道是哪个用户在数据库中进行了查询。

当找到该用户时,我应该如何将Vault生成的用户名与从Vault查询凭证的用户进行映射?例如,如果John用一个令牌查询在。

database/creds/vault-mysql-role 

而Vault生成了John的用户名。

v-token-vault-mysq-2OSTesyjNuCk9

我应该如何匹配这个用户 v-token-vault-mysq-2OSTesyjNuCk9 与约翰,并发现是约翰执行了查询!我检查了审计日志,但似乎并不包含任何类似的信息。我已经检查了审计日志,但似乎不包含任何信息,如。

mysql devops hashicorp-vault
1个回答
0
投票

审计日志确实包含这些信息,只是不直接。

审计日志包括发送到客户端的响应,但所有的值都是哈希的。你可以使用 sysaudit-hash endpoint 来计算你要找的用户名的哈希值,然后在审计日志中搜索一个带有 response.data.username 字段设置为这个哈希值。

$ vault write sys/audit-hash/file input=v-token-vault-mysq-2OSTesyjNuCk9
Key     Value
---     -----
hash    hmac-sha256:c78424ed34000ffdde18d51bc950507129a2fece391d12fcd1095336204ed460

$ grep hmac-sha256:c78424ed34000ffdde18d51bc950507129a2fece391d12fcd1095336204ed460 audit.log | jq .
{
  "auth": {
    "token_type": "service",
    "client_token": "hmac-sha256:5a134faa99fd944a8be6d58fff9aa0e2794241ca25972e5cd8b65feb4bec9713",
    "accessor": "NkBx2TO4h10cN2iqKboDweFE",
    "policies": [
      "default",
      "database"
    ],
    "display_name": "token-bd6b709e-99d6-bd29-fedd-fd5c97ef6564-my-app",
    "token_policies": [
      "default",
      "database"
    ]
  },
  "request": {
    "operation": "read",
    "id": "40198a5b-2796-e4f9-51b4-1094db130468",
    "client_token_accessor": "NkBx2TO4h10cN2iqKboDweFE",
    "client_token": "hmac-sha256:5a134faa99fd944a8be6d58fff9aa0e2794241ca25972e5cd8b65feb4bec9713",
    "path": "database/creds/vault-mysql-role",
    "namespace": {
      "id": "root"
    },
    "remote_address": "192.0.2.1"
  },
  "response": {
    "data": {
      "username": "hmac-sha256:f746cf79101e8aa1f5f225af1a5bcc43d34040ccb00739551aa8be6455951a25",
      "password": "hmac-sha256:c78424ed34000ffdde18d51bc950507129a2fece391d12fcd1095336204ed460"
    },
    "secret": {
      "lease_id": "database/creds/my-app/ISAf9HmK4REjTBhVnKbzJ3sw"
    }
  },
  "type": "response"
}

当然,这些值都是我编的,但你可以看到 auth 字段包含了一堆关于客户端的信息。

如果 auth 字段不够用,你可以使用 auth.accessor 领域与 authtokenlookup-accessor端点 来获得更多的信息,例如实体ID,它可以被映射到persona上(参见 身份。实体和群体, 身份查询实体).

© www.soinside.com 2019 - 2024. All rights reserved.