让用户获得特定设备的权限

Getting users with permissions for specific devices

想知道是否可以让允许 access/login 的用户使用特定设备

获取所有服务器的信息对我没有用。我想知道一些特定的设备

请指教

为虚拟访客尝试以下请求:

https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Account/getVirtualGuests?objectFilter={"virtualGuests":{"hostname":{"operation":"in","options":[{"name":"data","value":["vsi1","vsi2"]}]}}}&objectMask=mask[users]

替换:$用户名,$apiKey 以及 vsi1 和 vsi2 以及 vsi 的主机名

  • 在这种情况下,mask[users] mask 将检索大量信息,并且由于数据集较大,可能会引发问题。请参阅:How to Solve: Error fetching http headers,因此我建议使用这样的掩码:mask[users[id,username]]

获取有权访问特定 BMS 的用户:

https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Account/getHardware?objectFilter={"hardware":{"hostname":{"operation":"in","options":[{"name":"data","value":["server1","server2","server3"]}]}}}&objectMask=users
  • 不幸的是,在这种情况下,不可能只从用户那里获取 id 和用户名,它会从用户那里检索很多信息集

通过 FQDN

获取 VSI/BMS 的用户

我可以推荐另一种使用 rest 的替代方法,但您只能获得在其 fullyQualifiedDomainName 中具有特定文本的设备 (bms/vsi),在这个示例中我试过了对于带有“testName”的服务器,将其替换为您的要求

https://$username:$apiKey@api.softlayer.com/rest/v3.1/SoftLayer_Search/advancedSearch?objectMask=mask[resource(SoftLayer_Hardware_Server)[id,datacenter,fullyQualifiedDomainName,users.id,users.username],resource(SoftLayer_Virtual_Guest)[id,datacenter,fullyQualifiedDomainName,users.id,users.username]]

Method: Post

{"parameters":["fullyQualifiedDomainName:testName _objectType:SoftLayer_Virtual_Guest,SoftLayer_Hardware _sort:[fullyQualifiedDomainName:asc]"]}

希望对您有所帮助,如果您需要进一步的帮助或有任何疑问,请告诉我

参考文献: