AWX + Hashicorp Vault django.request 错误请求

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

为了改善我的团队的 AWX 管理,我目前正在尝试配置 Hashicorp Vault 凭证,但我遇到了一些错误和疑问。

通常在我的 Ansible 项目中,我从 Debian 服务器运行,我习惯使用这样的查找来设置 Vault 机密(在 var 文件或 vars 中工作:)

### Vault Configuration
ansible_hashi_vault_token="{{ lookup('env','VAULT_ANSIBLE') }}"

my_secret="{{ lookup('community.hashi_vault.vault_kv2_get', 'my_secret', engine_mount_point='kv/', token=ansible_hashi_vault_token) }}"

#### Credentials (compte de service ansible) ####
ansible_user="{{ my_secret.secret.ansible_user_from_vault}}"

Ansible 将寻找一个名为“VAULT_ANSIBLE”的环境变量,它是对我的保管库服务器的 AppRole 调用的结果令牌。它允许运行 playbook,而无需在代码中写入任何令牌。

现在在 AWX 中添加项目后,我正在尝试使 Vault 部分正常工作 =>

  1. 我使用 HashiCorp Vault Secret Lookup 创建了凭据,如您在此处看到的。只需添加服务器 URL + 令牌即可进行测试。

  2. 当我单击“测试”时,无论我想检索什么秘密,我总是会遇到此错误

这是我的问题:

  • 哪个日志文件可以为我提供有关 Vault 的凭据/API 调用的更多信息?
  • 这种奇特的配置有什么让我怀念的吗?我尝试在相应字段中添加我的root.CA,但仍然出现相同的错误。
  • 是否有正确的方法/另一种方法可以在 AWX 中使用 Vault 查找?

我在许多论坛上看到人们正在创建自定义凭证类型,然后使用注入器来使用保管库查找。

非常感谢您的帮助 盖尔

编辑 2023 年 12 月 12 日 找到与测试凭证对应的日志(使用 kubectl logs my-pod)。似乎是 django 错误请求,但不知道如何调查;

2023-12-12 14:40:40,628 WARNING  [4fdf7cfc36804499b34fa50a28369fb7] awx.api.generics status 400 received by user admin attempting to access /api/v2/credentials/5/test/ from 10.10.10.10
2023-12-12 14:40:40,635 WARNING  [4fdf7cfc36804499b34fa50a28369fb7] django.request Bad Request: /api/v2/credentials/5/test/
2023-12-12 14:40:40,635 WARNING  [4fdf7cfc36804499b34fa50a28369fb7] django.request Bad Request: /api/v2/credentials/5/test/
10.10.10.10 - - [12/Dec/2023:14:40:40 +0000] "POST /api/v2/credentials/5/test/ HTTP/1.1" 400 21 "https://my-awx.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0" "10.230.173.133"
[pid: 23|app: 0|req: 228/1089] 172.20.245.206 () {72 vars in 2440 bytes} [Tue Dec 12 14:40:40 2023] POST /api/v2/credentials/5/test/ => generated 21 bytes in 76 msecs (HTTP/1.1 400) 14 headers in 598 bytes (1 switches on core 0)
django ansible hashicorp-vault ansible-awx
1个回答
0
投票

你弄清楚了吗?

我正在尝试做类似的事情。我目前有 Orbstack 本地集群,其中包含 Vault 和 AWX 操作员 Pod。

我想进行设置,以便 AWX 可以读取保管库机密,而无需将令牌放入 AWX 凭证中的保管库机密查找中。

我已在保管库中附加了策略、角色和身份验证类型。

但是,当我从 AWX 进行身份验证而不提供令牌时,它会返回与您相同的错误:django Bad Request

但是如果我给它金库令牌,它就会通过测试。

我正在尝试让Vault生成令牌并将其分配给AWX请求。

希望我说得有道理

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