如何在ARM模板中配置Azure Web App的AD V2认证客户端密钥
解决ARM模板中Web App AD V2认证客户端密钥配置问题
要在ARM模板中正确配置Microsoft身份提供商的客户端密钥设置名称及对应值,需要在Microsoft.Web/sites/config块中添加两部分配置:认证设置(authsettingsV2)和应用设置(appsettings),具体如下:
1. 配置authsettingsV2中的客户端密钥设置名称
在authsettingsV2的Azure AD配置节点里,指定clientSecretSettingName为MICROSOFT_PROVIDER_AUTHENTICATION_SECRET,示例代码片段:
{ "type": "Microsoft.Web/sites/config", "apiVersion": "2022-09-01", "name": "[concat(parameters('webAppName'), '/authsettingsV2')]", "dependsOn": [ "[resourceId('Microsoft.Web/sites', parameters('webAppName'))]" ], "properties": { "platform": { "enabled": true }, "identityProviders": { "azureActiveDirectory": { "enabled": true, "login": { "loginParameters": [], "clientId": "[parameters('aadClientId')]", "clientSecretSettingName": "MICROSOFT_PROVIDER_AUTHENTICATION_SECRET", // 指定密钥设置名称 "tenantId": "[parameters('aadTenantId')]" }, "registration": { "openIdIssuer": "[concat('https://login.microsoftonline.com/', parameters('aadTenantId'), '/v2.0')]" } } } } }
2. 添加应用设置存储客户端密钥值
在appsettings配置中添加MICROSOFT_PROVIDER_AUTHENTICATION_SECRET对应的密钥值,生产环境建议使用Azure Key Vault引用,避免明文暴露,示例代码片段:
{ "type": "Microsoft.Web/sites/config", "apiVersion": "2022-09-01", "name": "[concat(parameters('webAppName'), '/appsettings')]", "dependsOn": [ "[resourceId('Microsoft.Web/sites', parameters('webAppName'))]" ], "properties": { "MICROSOFT_PROVIDER_AUTHENTICATION_SECRET": "[parameters('aadClientSecret')]", // 其他应用设置... } }
说明
clientSecretSettingName用于指定存储客户端密钥的应用设置名称,部署后在Azure门户的认证设置中会显示这个名称。- 生产环境中,推荐通过
@Microsoft.KeyVault(SecretUri=...)语法引用Key Vault中的密钥,替代直接传入参数的方式,提升安全性。
内容的提问来源于stack exchange,提问作者prancer71
相关产品推荐
相关产品推荐

