为了简单起见,我假设我想使用Azure REST API从具有秘密名称和秘密值的特定保险库中的所有秘密构建字典。
我遇到的问题是Get Secrets API调用返回SecretListResult,其中包含SecretItem列表。 SecretItem有ID元素,但不是Name,也不是Value。 GetSecret API需要秘密名称而不是秘密ID,到目前为止,我无法找到将ID转换为名称的方法。
任何建议都将受到高度赞赏
谢谢。
答案 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