Azure KeyVault迭代保管库中的所有秘密

时间:2017-06-06 10:19:33

标签: azure azure-keyvault azure-sdk

为了简单起见,我假设我想使用Azure REST API从具有秘密名称和秘密值的特定保险库中的所有秘密构建字典。

我遇到的问题是Get Secrets API调用返回SecretListResult,其中包含SecretItem列表。 SecretItem有ID元素,但不是Name,也不是Value。 GetSecret API需要秘密名称而不是秘密ID,到目前为止,我无法找到将ID转换为名称的方法。

任何建议都将受到高度赞赏

谢谢。

1 个答案:

答案 0 :(得分:3)

//获取秘密列表

GET https://alice.vault.azure.net/secrets?api-version=2015-06-01

Response Body:
{
  "value": [
    {
      "contentType": "text",
      "id": "https://alice.vault.azure.net/secrets/secret1",
      "attributes": {
        "enabled": true,
        "created": 1496749576,
        "updated": 1496749576
      }
    },
    {
      "contentType": "text",
      "id": "https://alice.vault.azure.net/secrets/secret2",
      "attributes": {
        "enabled": true,
        "created": 1496749590,
        "updated": 1496749590
      }
    }
  ],
  "nextLink": null
}

//获取秘密属性和值

解析id,查找最后一次出现/以获取秘密名称。每个项目一次电话。

GET https://alice.vault.azure.net/secrets/secret1/?api-version=2015-06-01

Response Body:
{
  "value": "5up3r1ee7s3cr3t",
  "contentType": "text",
  "id": "https://alice.vault.azure.net/secrets/secret1/6ac15a48877148e094276504d73e95a1",
  "attributes": {
    "enabled": true,
    "created": 1496749576,
    "updated": 1496749576
  }
}


GET https://alice.vault.azure.net/secrets/secret2/?api-version=2015-06-01

Response Body:
{
  "value": "@n0th3r5up3r1ee7s3cr3t",
  "contentType": "text",
  "id": "https://alice.vault.azure.net/secrets/secret2/2b34de363d6445ba83bb23bafaea6658",
  "attributes": {
    "enabled": true,
    "created": 1496749590,
    "updated": 1496749590
  }
}

来源:我刚看了一下Azure PowerShell在-Debug的线路上调用的内容,例如:

Get-AzureKeyVaultSecret -VaultName Alice -Debug
Get-AzureKeyVaultSecret -VaultName Alice -Name secret1 -Debug
相关问题