【Azure Key Vault】使用Azure CLI获取Key Vault 机密遇见问题后使用curl命令来获取机密内容 - LuBu0505/My-Code GitHub Wiki
在使用Azure Key Vault的过程中,遇见无法获取机密信息,在不方便直接写代码的情况下,快速使用Azure CLI指令来验证当前使用的认证是否可以获取到正确的机密值。
第一步:设置azure 的云环境参数,指定为中国区云服务
az cloud set --name AzureChinaCloud
第二步:使用az login并且指定 servie principal来完成登录
az login --service-principal --tenant --username --password --output table
第三步:获取azure key vault的机密,但是遇见server principal因为没有权限绑定订阅号而无法完成。
az keyvault secret show --name "ExamplePassword" --vault-name "" --query "value"
因为需要快速的办法来使用Service Principal账号是否有权限,是否能成功获取到Key Vault机密信息,在不写代码的情况下,处理CLI指令外,还有REST API可以调用。所以想到了使用curl指令直接调用API。
- 在Windows系统中,下载到本地后即可使用:https://curl.se/windows/
- 在Linux系统中,使用命令:sudo apt-get install curl 进行安装。
curl https://login.partner.microsoftonline.cn//oauth2/token --data "grant_type=client_credentials&client_id=&client_secret=&resource=https://vault.azure.cn"
- 替换 ,,为真实值
curl https://.vault.azure.cn/secrets/?api-version=7.4 -H "Authorization: Bearer "
- 替换 ,,为真实值
# Azure CLI:
az cloud set --name AzureChinaCloud
az login --service-principal --tenant <Tenant-ID> --username <Client-ID> --password <Client-secret> --output table
az keyvault secret show --name "ExamplePassword" --vault-name "<your-unique-keyvault-name>" --query "value" # CURL:
curl https://login.partner.microsoftonline.cn/<Tenant-ID>/oauth2/token --data "grant_type=client_credentials&client_id=<Client-ID>&client_secret=<Client-secret>&resource=https://vault.azure.cn" curl https://<your-key-vault-name>.vault.azure.cn/secrets/<your-secret-name>?api-version=7.4 -H "Authorization: Bearer <your-token-in-step-2>"
1: https://docs.azure.cn/zh-cn/key-vault/secrets/quick-create-cli
2: https://learn.microsoft.com/en-us/azure/databricks/dev-tools/azure-cli-login-service-principal
3: https://jiasli.github.io/azure-notes/aad/Service-Principal-get-token-with-curl.html
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!