Azure搜索服务更新IP规则时出现encryptionWithCmk.enforcement无效错误
解决Azure搜索服务更新IP规则时encryptionWithCmk参数错误问题
问题原因
这个错误是因为创建Azure搜索服务时未显式指定CMK加密强制选项,导致服务的encryptionWithCmk.enforcement属性处于未明确状态,后续使用Azure CLI执行更新操作时,工具对该参数的默认值处理与服务实际配置冲突,触发参数验证失败。
解决方案
1. 创建服务时显式指定CMK加密强制选项
在使用New-AzSearchService创建服务时,添加-EncryptionWithCmkEnforcement参数,根据需求设置为Disabled(默认,无需CMK加密)或Enabled(启用CMK加密强制)。修改后的PowerShell命令:
New-AzSearchService -ResourceGroupName "$ResourceGroupName" -Name "$ServiceName" -Sku "$Sku" -Location "$Location" -HostingMode "$HostingMode" -EncryptionWithCmkEnforcement Disabled
2. 修复已创建服务的CMK配置
如果服务已经创建,先通过CLI或PowerShell明确设置encryptionWithCmk.enforcement属性,再执行IP规则更新:
用Azure CLI修复
# 先设置CMK加密强制为Disabled az search service update --name "$(azure_search_service)" --resource-group "$(resource_group)" --encryption-with-cmk-enforcement Disabled # 再更新IP规则 az search service update --name "$(azure_search_service)" --resource-group "$(resource_group)" --ip-rules $ipsToBeAdded
用PowerShell修复
Set-AzSearchService -ResourceGroupName "$ResourceGroupName" -Name "$ServiceName" -EncryptionWithCmkEnforcement Disabled
3. 同步工具版本
确保Azure CLI和Az.Search PowerShell模块为最新版本,避免因版本差异导致的参数处理逻辑冲突:
# 更新Az.Search模块 Update-Module -Name Az.Search -Force
# 更新Azure CLI az upgrade
内容的提问来源于stack exchange,提问作者QuestingSoul
相关产品推荐
相关产品推荐

