用于从密钥保管库(证书)在应用程序网关中添加 https 侦听器的 Azure CLI 命令是什么?

Pan*_*005 1 azure-cli azure-keyvault azure-application-gateway

我正在尝试使用 Azure CLI 命令(类型为 HTTPs)将侦听器添加到应用程序网关,并且证书在 Key-vault 中可用。我从文档中尝试过,但最终感到困惑。谁能让我知道 azure cli 命令吗?

Jim*_* Xu 7

关于这个问题,请参考下面的脚本。我在 Azure cloud shell 中运行该脚本。

  1. 创建用户管理的身份
objId=$(az identity create -g $groupName  -n $msiName --query 'principalId' -o json)
Run Code Online (Sandbox Code Playgroud)
  1. 配置msi的访问策略
az keyvault set-policy -n $vaultName --secret-permissions get --object-id $objId
Run Code Online (Sandbox Code Playgroud)
  1. 将 MSI 分配给应用程序网关
az network application-gateway identity assign --identity $msiName -g $groupName  --gateway-name $appgwName
Run Code Online (Sandbox Code Playgroud)
  1. 在应用程序网关中创建 ssl 证书

#configure access policy for the account you log in if the account haa no permissions
az keyvault set-policy -n $vaultName --certificate-permissions  create get import list  --upn "<>"
ssl=$(az keyvault certificate show -n test --vault-name $vaultName --query 'sid'  -o json)
#remove the version form cert url
ssl=$(echo ${ssl:1:-1})
sslurl=$(dirname $ssl)
#create ssl
(az network application-gateway ssl-cert create -n mysslcet -g $groupName --gateway-name $appgwName --key-vault-secret-id $sslurl) 
Run Code Online (Sandbox Code Playgroud)
  1. 创建要塞端口
az network application-gateway frontend-port create  -g $groupName --gateway-name $appgwName -n <port name> --port 448
Run Code Online (Sandbox Code Playgroud)
  1. 创建 HTTP 列表器
az network application-gateway http-listener create  -n MyHttpListener12 -g $groupName --gateway-name $appgwName --frontend-port <port name> --frontend-ip <appGwPublicFrontendIp name> --ssl-cert <the name of SSL cert you create>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述