gpt4 book ai didi

azure - 如何在 Ansible 中获取 Azure RM 存储帐户 key ?

转载 作者:行者123 更新时间:2023-12-01 11:21:03 25 4
gpt4 key购买 nike

我正在使用 Ansible 创建 Azure RM 存储帐户,我想获取访问 key 的值以供以后在模板中使用。这些值是在 Azure 端生成的。例如,我可以使用 PowerShell Get-AzureStorageKey cmdlet 获取它们。

但是, azure_rm_storageaccount module 的返回值都没有也没有通过 azure_rm_storageaccount_facts module 收集的事实包含这些键。

我想我可以使用 REST API 调用来获取它们(根据 this answer ),但我必须为此任务创建一个 OAuth2 token 。对于 REST API,可能无法使用为 Ansible 定义的一组凭据(即环境变量 AZURE_CLIENT_IDAZURE_SECRETAZURE_SUBSCRIPTION_IDAZURE_TENANT)。

有什么方法可以获取这些 key (使用已经提供给 Ansible 的凭据)吗?

<小时/>

事实上,Ansible 库似乎包括 the code for fetching these keys ,但它们似乎也只在内部使用。

<小时/>

我的剧本:

---
- hosts: localhost
connection: local

vars:
resource_group_name: fetchtest01
resource_group_location: southcentralus
storage_account: fdsahf343u2s
storage_account_type: Standard_LRS

tasks:
- name: Ensure resource group "{{ resource_group_name }}" exists
azure_rm_resourcegroup:
name: "{{ resource_group_name }}"
location: "{{ resource_group_location }}"

- name: Ensure storage account "{{ storage_account }}" exists in "{{ resource_group_name }}" resource group
azure_rm_storageaccount:
resource_group: "{{ resource_group_name }}"
name: "{{ storage_account }}"
account_type: "{{ storage_account_type }}"

- name: Fetch storage account keys
# fetch storage_account_keys

- name: Use the storage_account_keys.primary in a template
template:
# ...

最佳答案

将 Azure Cli 包装在任务中,

  tasks:
- name: Retrieve storage access key
shell: az storage account keys list --account-name {{ storage_account.name }} --resource-group {{ azure.resource_group }} --query "[0].value" --output tsv
register: storage_access_key

现在,storage_access_key 将包含所需的结果。

关于azure - 如何在 Ansible 中获取 Azure RM 存储帐户 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43027457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com