通过 Azure API 更新 Azure 密钥保管库机密
Update Azure keyvault secret through Azure API
我正在尝试通过 Postman 更新 Azure 中的密钥保管库机密。但是得到授权错误。
有什么建议么。我缺少的任何东西。提前致谢
{
"error": {
"code": "Unauthorized",
"message": "AKV10022: Invalid audience. Expected https://vault.azure.net, found: https://management.azure.com/."
}
}
使用以下内容更新密钥:
PUT https://demokv.vault.azure.net/secrets/secretname?api-version=7.0
正文中:
{
"value": "mysecretvalue"
}
您为错误的受众获取了访问令牌(Bearer),
AKV10022: Invalid audience.
Expected https://vault.azure.net,
Found: https://management.azure.com/.
为正确的观众购买一个新的,然后再试一次。
如另一个回复所述,您的令牌 audience
不正确,要调用 Azure Keyvault REST API - Set Secret - Set Secret
,audience
应该是 https://vault.azure.net
.
要获取token,可以使用邮递员中的client credential flow。
1.Register an AD App in azure ad, then get values for signing in and create a new application secret.
2.Navigate 到门户中的密钥库,add the service principal of the AD App to the Access policies。
在 postman 中,按照下面的屏幕截图,修复从步骤 1 中获取的属性。
POST https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
client_id=<client_id>
&scope=https://vault.azure.net/.default
&client_secret=<client_secret>
&grant_type=client_credentials
然后复制token调用RESTAPI设置secret,就可以了。
我的挑战是使用旧版本的 oauth API。
确保您使用的是:
POST https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
而不是:
POST https://login.microsoftonline.com/<tenant-id>/oauth2/token
此外,您可以通过az account get-access-token --resource "https://vault.azure.net"
获取令牌
特定库资源
我正在尝试通过 Postman 更新 Azure 中的密钥保管库机密。但是得到授权错误。 有什么建议么。我缺少的任何东西。提前致谢
{
"error": {
"code": "Unauthorized",
"message": "AKV10022: Invalid audience. Expected https://vault.azure.net, found: https://management.azure.com/."
}
}
使用以下内容更新密钥:
PUT https://demokv.vault.azure.net/secrets/secretname?api-version=7.0
正文中:
{
"value": "mysecretvalue"
}
您为错误的受众获取了访问令牌(Bearer),
AKV10022: Invalid audience.
Expected https://vault.azure.net,
Found: https://management.azure.com/.
为正确的观众购买一个新的,然后再试一次。
如另一个回复所述,您的令牌 audience
不正确,要调用 Azure Keyvault REST API - Set Secret - Set Secret
,audience
应该是 https://vault.azure.net
.
要获取token,可以使用邮递员中的client credential flow。
1.Register an AD App in azure ad, then get values for signing in and create a new application secret.
2.Navigate 到门户中的密钥库,add the service principal of the AD App to the Access policies。
在 postman 中,按照下面的屏幕截图,修复从步骤 1 中获取的属性。
POST https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
client_id=<client_id>
&scope=https://vault.azure.net/.default
&client_secret=<client_secret>
&grant_type=client_credentials
然后复制token调用RESTAPI设置secret,就可以了。
我的挑战是使用旧版本的 oauth API。
确保您使用的是:
POST https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
而不是:
POST https://login.microsoftonline.com/<tenant-id>/oauth2/token
此外,您可以通过az account get-access-token --resource "https://vault.azure.net"
特定库资源