azure - Azure KeyVault 机密读取/Azure CLI 限制 (Ansible)
问题描述
我们目前在我们的 azure keyvault 中存储了大量机密以进行平台部署。我们使用 Ansible 进行部署,但它似乎没有 keyvault 的读取能力(您可以创建,但不能读取!?)。我们的架构师/产品负责人强迫我们将其用于存储,而不是本地保管库。
我们当前的解决方案是使用 azure CLI 登录,然后逐个遍历我们想要的机密列表,并映射到事实,然后从 CLI 注销。问题在于它的单一动作,而且似乎相当慢。
name: Capture KeyVault secret and register variable
local_action: "command az keyvault secret show --name {{ playsecret }} --vault-name {{ az_keyvault_name }}"
register: secretValue
所以这有两个问题,一个否定两者的解决方案将是理想的,但任何一个的解决方案都会很棒。
问题:
- Azure cli 登录意味着我们不能异步运行。如果两者都在读取机密,则第一个注销的将另一个注销。(当我们从编排服务器运行它时。可以用更多的 orch 盒子来否定它,但成本等)
- 秘密阅读是单一动作,这似乎使它很慢(我怀疑这更多的是天蓝色而不是一个可靠的问题)
解决方案
有一个预览模块有助于此 https://github.com/Azure/azure_preview_modules。它让你做
some_secret_var: "{{ lookup('azure_keyvault_secret', 'some-secret-name', vault_url=vault_url, client_id=azure_credentials_client_id, secret=azure_credentials_secret, tenant_id=azure_credentials_tenant) }}"
在你的 vars 文件中。不幸的是,这并不能解决缓慢的问题。
推荐阅读
- react-native - 如何用玩笑对 componentWillReceiveProps(nextProps) 进行单元测试?
- winforms - 处理打开事件时,Winforms ContextMenuStrip 不会打开
- mule - mule-module-mqtt 重连策略失败
- node.js - 使用 nodejs Cheerio 深度嵌套元素标签抓取网站
- luajit - openresty中关于ffi函数调用的问题
- c# - 如何从 PXselector 获取值
- elasticsearch - 减去具有不同时间戳的两个文档之间的数字字段
- node.js - 使用 ShowTypingMiddleware 显示打字指示器不起作用
- laravel - 数据库不适用于克隆的 laravel 项目
- javascript - Chart.js 无法重新设置数据