Azure KeyVault 迭代保管库中的所有机密
Posted
技术标签:
【中文标题】Azure KeyVault 迭代保管库中的所有机密【英文标题】:Azure KeyVault iterate over all secrets in a vault 【发布时间】:2017-11-07 07:33:56 【问题描述】:为了简单起见,假设我想使用 Azure REST API 从特定保管库中的所有秘密构建一个字典,其中包含秘密名称和秘密值。
我面临的问题是 Get Secrets API 调用返回包含 SecretItem 列表的 SecretListResult。 SecretItem 有 ID 元素,但没有名称,也没有值。 GetSecret API 需要秘密名称而不是秘密 ID,到目前为止我找不到将 ID 转换为名称的方法。
任何建议将不胜感激
谢谢。
【问题讨论】:
【参考方案1】:// 获取秘密列表
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
【讨论】:
谢谢,错过了 id 实际上是秘密的 URL以上是关于Azure KeyVault 迭代保管库中的所有机密的主要内容,如果未能解决你的问题,请参考以下文章