目录

简介

问题

解决方案

相关信息

简介

本文档介绍从vManage Cloud on Ramp在Azure中部署云网关时的一些常见问题。

问题

为Microsoft Azure配置Cisco SD-WAN Cloud OnRamp时，cEdge设备的“软件映像选择”字段在vManage全局设置中显示为空白，从而阻止在Azure云中部署cEdge实例。

症状：

- 计划在vManage > Cloud OnRamp For Multicloud > Cloud Global Settings中的Azure Cloud字段中实施的软件版本为空。

- 初始管理技术日志可以显示Azure错误：“AuthorizationFailed”，并显示一条消息，指示客户端缺少执行Microsoft.Network/networkVirtualApplianceSku/read操作的授权。

- 管理技术日志可以显示RetryError:HTTPSConnectionPool(...)已超过url的最大重试次数：...(由于vManage尝试检索网络虚拟设备(NVA)SKUs from management.azure.com时出现响应错误“太多502个错误响应”)。

您可以在路径/var/log/nms/containers/cloudagent-v2/cloudagent.log中找到此日志，这表明Azure帐户中的权限级别不正确。

[2025-07-18T04:14:53UTC+0000:140226169132800:ERROR:ca-v2:azure_resource_helper.py:351]无法获取{

"云类型":"AZURE",

"帐户ID":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",

"帐户名称":"<account_name>",

"区域":"eastus2",

"类型":"NVA_SKU"

}:Azure错误：授权失败

邮件:对象ID为“yyyyyyyy-yyyy-yyyy-yyyyyyyyyyyyyyyy”的客户端“yyyyyyyy-yyyy-yyyy-yyyyyyyyyyyyyy”没有执行操作的授权<<<它确认权限不足

范围“/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Network/networkVirtualApplianceSkus/ciscosdwan”上的“Microsoft.Network/networkVirtualApplianceSkus/read”或范围无效。如果最近授予了访问权限，请刷新您的凭据。

[2025-07-18T04:14:53UTC+0000:140226169132800:INFO:ca-v2:grpc_service.py:1011]正在返回GetAzureResourceInfo响应：{

"McCtxt":{

"租户ID":"<tenan name>",

"ctxId":"zzzzzzz-zzzzz-zzzzzzzzz"

},

"状态":{

"代码":"正常"

}

}

此日志可以在同一路径/var/log/nms/containers/cloudagent-v2/cloudagent.log中找到，这表示已在Azure中配置了多个资源组。

[2025-09-01T04:07:35UTC+0000:140226169132800:ERROR:ca-v2:azure_resource_helper.py:351]无法获取{

"云类型":"AZURE",

"帐户ID":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",

"帐户名称":"<account_name>",

"区域":"eastus2",

"类型":"NVA_SKU"

}：请求出错。,RetryError:HTTPSConnectionPool(host='management.azure.com', port=443):使用url超出了最大重试次数：/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Network/networkVirtualApplianceSkus/ciscosdwan?api-version=2020-05-01(由ResponseError('too many 502 error responses')引起)

[2025-09-01T04:07:35UTC+0000:140226169132800:INFO:ca-v2:grpc_service.py:1011]正在返回GetAzureResourceInfo响应：{

"McCtxt":{

"租户ID":"<tenan name>",

"ctxId":"zzzzzzz-zzzzz-zzzzzzzzz"

},

"状态":{

"代码":"正常"

}

}

在vManage中，这是在Azure中的帐户分配了权限级别后部署任务时显示的常见日志之一；但是，帐户类型不是“企业”。

[2025年8月27日19:46:46 UTC]创建多云网关：<account name>

[2025年8月27日19:46:47 UTC]已成功获取资源组：云中的<account name>

[2025年8月27日19:46:47 UTC]在资源组下创建存储帐户：云中的<account name>

[2025年8月27日19:46:49 UTC]资源组下的存储帐户：无法在云中创建<account name>

[2025年8月27日19:46:49 UTC]其他详细信息：Azure错误：RequestDisallowedByPolicy

邮件:策略不允许资源“lcoix7mu7rcrswtdkyj0jsyw”。策略标识符：'[{"policyAssignment":{"name":"ASC默认(订阅：xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)","id":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Authorization/policyAssignments/SecurityCenterBuiltIn"},

"policyDefinition":{"name":"应该禁止存储帐户公共访问","id":"/providers/Microsoft.Authorization/policyDefinitions/yyyyyyyy-yyyy-yyyy-yyyyyyyyyyyy","version":"3.1.1"}, <<<表示Azure中的帐户类型不正确，订阅必须为企业级

"policySetDefinition":{"name":"Microsoft cloud security benchmark","id":"/providers/Microsoft.Authorization/policySetDefinitions/zzzzzzz-zzzz-zzzzz-zzzzzzzzzz","version":"57.53.0"}}]'。

目标：lcoix7mu7rcrswtdkyj0jsyw

其它信息：

type：PolicyViolation

信息：{

"评估详细信息":{

"evaluatedExpressions":[

{

"结果":"真",

"表达式类型":"字段",

"表达式":"类型",

"路径":"类型",

"表达式值":"Microsoft.存储/存储帐户",

"目标值":"Microsoft.存储/存储帐户",

"操作员":“等于”

},

{

"结果":"错误",

"表达式类型":"字段",

"表达式":"id",

"路径":"id",

"表达式值":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/<account name>/providers/Microsoft.Storage/storageAccounts/lcoix7mu7rcrswtdkyj0jsyw",

"目标值":"/resourceGroups/aro-",

"操作员":"包含"

},

{

"结果":"错误",

"表达式类型":"字段",

"表达式":"Microsoft.Storage/storageAccounts/allowBlobPublicAccess",

"路径":"properties.allowBlobPublicAccess",

"目标值":"假",

"操作员":“等于”

}

]

},

"policyDefinitionId":"/providers/Microsoft.Authorization/policyDefinitions/yyyyyyyy-yyyy-yyyy-yyyyyyyyyyyyyy",

"policySetDefinitionId":"/providers/Microsoft.Authorization/policySetDefinitions/zzzzzzz-zzzzz-zzzzz-zzzzzzzzzz",

"policyDefinitionReferenceId":"StorageDisallowPublicAccess",

"policySetDefinitionName":"zzzzzzz-zzzzz-zzzzzzzzz",

"policySetDefinitionDisplayName":"Microsoft云安全基准",

"policySetDefinitionVersion":"57.53.0",

"policyDefinitionName":"yyyyyyyy-yyyy-yyyy-yyyyyyyyyyyyyy",

"policyDefinitionDisplayName":"应禁止存储帐户公共访问",

"policyDefinitionVersion":"3.1.1",

"policyDefinitionEffect":"拒绝",

"policyAssignmentId":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Authorization/policyAssignments/SecurityCenterBuiltIn",

"policyAssignmentName":"SecurityCenterBuiltIn",

"policyAssignmentDisplayName":“ASC默认(订用：xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)",

"policyAssignmentScope":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",

"policyAssignmentParameters":{

"disallowPublicBlobAccessEffect":"拒绝"

},

"policyExemptionIds":[],

"policyEnrollmentIds":[]

}

[2025年8月27日19:46:49 UTC]正在回滚所做的更改……

[2025年8月27日19:46:49 UTC]回滚完成

[2025年8月27日19:46:49 UTC]创建或获取存储帐户时出现内部错误

潜在原因：

1. Azure权限不足：即使Azure帐户链接成功并具有参与者权限，vManage仍需要特定权限。要读取网络虚拟设备SKU，可能缺少或配置不正确。

2.多个Azure资源组：Azure vWAN集成的思科文档指定仅允许一个资源组用于Cloud OnRamp设置。当vManage尝试查询可用的SKU时，拥有多个旧资源组或冗余资源组可能导致Azure发出太多的502错误响应。

解决方案

1.验证Azure权限：

- 确保链接到vManage的Azure应用程序或服务主体具有读取网络虚拟设备SKU的必要权限。特定操作为Microsoft.Network/networkVirtualApplianceSku/read。

- 如果最近授予或修改了权限，请在vManage或Azure中刷新凭据。

- 这些步骤在Cisco Cloud onRamp for Multi-Cloud Azure Version2 Solution Guide的“Check Azure Subscription Permissions”一节中介绍。

2.管理Azure资源组：

- 查看您的Azure订阅，了解与思科SD-WAN Cloud OnRamp相关的任何旧资源组或冗余资源组。

- 根据思科文档，仅允许一个资源组进行Azure vWAN集成。删除所有旧资源组，确保仅保留活动资源组和必要的资源组。已观察到此操作以解决错误，502错误响应过多。

相关信息

- Cisco Catalyst SD-WAN Cloud OnRamp配置指南，Cisco IOS XE Catalyst SD-WAN版本17.x本文档详细介绍限制，包括Azure vWAN集成的单一资源组要求。

- 通过适用于多云的Cisco Cloud onRamp将Cisco SD-WAN交换矩阵扩展到Azure:本指南可以提供有关检查Azure订阅和集成的权限的更多详细信息。

- 相关Azure CLI问题（适用于502个错误的情景）:虽然不是直接的思科文档，但此GitHub问题提供了对Azure API中类似的502错误响应的见解，这些错误响应可能与基础Azure行为相关。