在SCV中使用vCenter用户添加存储连接失败、并显示500个内部错误
适用场景
- 适用于VMware的SnapCenter 插件(SCV) 4.3及更高版本
- vCenter用户的对象权限有限
问题描述
如果未使用完整的vCenter管理员、而是vCenter用户具有一个集群限制、并且只有某些数据存储和/或VM、则尝试在选择控制器插件部分中添加存储连接时、可以在vCenter GUI中发生原因 以下错误:
HTTP 500 Internal error
这会显示在SCV的vmcontrol日志中:
DEBUG --- [qtp474675244-12] .a.p.VSphere5PrivilegeValidationStrategy : CurrentSession: com.vmware.vijava.vim25.UserSession@1eecaa37
DEBUG --- [qtp474675244-12] .a.p.VSphere5PrivilegeValidationStrategy : Key: 524fb012-17d0-084f-5cbd-e1fdb6aa23e6
DEBUG --- [qtp474675244-12] .a.p.VSphere5PrivilegeValidationStrategy : managedEntity.getMOR().getVal() group-d1
DEBUG --- [qtp474675244-12] .a.p.VSphere5PrivilegeValidationStrategy : sessionId 524fb012-17d0-084f-5cbd-e1fdb6aa23e6
DEBUG --- [qtp474675244-12] .a.p.VSphere5PrivilegeValidationStrategy : privilegeIds netappSCV.Configure.ConfigureStorageSystems.AddUpdate
ERROR --- [qtp474675244-12] .a.p.VSphere5PrivilegeValidationStrategy : null
com.vmware.vijava.vim25.NoPermission
at sun.reflect.GeneratedConstructorAccessor379.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at com.vmware.vijava.vim25.ws.XmlGenDom.fromXml(XmlGenDom.java:222)
at com.vmware.vijava.vim25.ws.XmlGenDom.parseSoapFault(XmlGenDom.java:146)
at com.vmware.vijava.vim25.ws.XmlGenDom.fromXML(XmlGenDom.java:92)
at com.vmware.vijava.vim25.ws.WSClient.invoke(WSClient.java:93)
at com.vmware.vijava.vim25.ws.VimStub.hasPrivilegeOnEntity(VimStub.java:204)
at com.vmware.vijava.vim25.mo.AuthorizationManager.HasPrivilegeOnEntity(AuthorizationManager.java:79)
at com.netapp.aegis.privilege.VSphere5PrivilegeValidationStrategy.hasPrivileges(VSphere5PrivilegeValidationStrategy.java:71)
at com.netapp.aegis.privilege.AbstractVSpherePrivilegeValidator.hasPrivileges(AbstractVSpherePrivilegeValidator.java:67)
at com.netapp.aegis.privilege.PrivilegeValidationServiceImpl.hasPrivilegeOnEntities(PrivilegeValidationServiceImpl.java:137)
at com.netapp.aegis.privilege.AegisPrivilegeValidator.hasPrivileges(AegisPrivilegeValidator.java:437)
at com.netapp.aegis.server.AegisApiServiceImpl.hasPrivilegeCheckOnRootFolder(AegisApiServiceImpl.java:1983)
at com.netapp.aegis.restapi.BackupRecoveryApiServiceImpl.hasPrivilegeCheckOnRootFolder(BackupRecoveryApiServiceImpl.java:1364)