簡體   English   中英

通過addBulkVirtualGuestAccess在SoftLayer中向用戶添加設備訪問權限時出現API問題

[英]API Issue While Adding Device Access to a User in SoftLayer via addBulkVirtualGuestAccess

我正在嘗試使用SoftLayer API向測試用戶分配對設備的訪問權限。 (以下任何引用的功能均由“ SoftLayer_User_Customer”服務提供)

當調用“ addBulkVirtualGuestAccess”和“ removeBulkVirtualGuestAccess”時,在兩種情況下都返回true。 當使用“ getAllowedVirtualGuestIds”時,在執行之前引用的函數之前和之后,我將返回一個空數組。 測試用戶最初不包含任何服務器訪問權限,因此這是可以預期的,但是在執行“ addBulkVirtualGuestAccess”調用之后,這是不希望的。

根據文檔,僅當該用戶已經可以訪問該設備或無法使用該設備的刪除功能時,才應返回true。 我提供的JSON正文可能不合適,如果是這種情況,請告訴我。

等效的curl命令:

回聲'{“ parameters”:[[X,Y]]}'| 卷曲-X POST -u $ USERNAME:$ KEY --data @ - https://api.softlayer.com/rest/v3/SoftLayer_User_Customer/Z/addBulkVirtualGuestAccess.json

其中X&Y是設備整數ID值,Z是要添加用戶的SoftLayer用戶ID。

任何援助將不勝感激。

================================================== ====================== 更新

看來我無法創建評論以滿足我的回復長度要求,因此我將改為編輯答案。

感謝您的回復,mcruz。

您的建議似乎可行,似乎用戶需要通過addBulkVirtualGuestAccess函數將權限“ VIRTUAL_GUEST_VIEW”添加到設備。

但是,應注意,同一服務User_Customer的相似方法具有意外的行為:

  • addBulkVirtualGuestAccess

未將任何設備添加到適當的用戶權限時,返回true。 這具有誤導性,我希望會返回用戶權限異常。

  • addVirtualGuestAccess

可以用於將虛擬機分別添加到沒有“ VIRTUAL_GUEST_VIEW”權限的用戶。 getAllowedVirtualGuestIds完成后將不返回任何ID,但是getVirtualGuests將返回單獨添加的VM的完整圖像JSON數據,可以從那里推斷ID。

我花了很多時間調試上面的內容,很高興它終於解決了。

  • 為了幫助將來的用戶使用此服務:

    1. 是否可以解釋上述addVirtualGuestAccess方法概述的某些意外行為?
    2. 如果由於用戶權限問題確實沒有向用戶添加設備,能否將addBulkVirtualGuestAccess方法更新為返回異常?
    3. SoftLayer API參考頁面未引用用戶應用特定設備所需的權限,也許應該對此進行更新以顯示此信息?

問候,

保羅·康諾利

請確認您要添加服務器訪問”permissions”的用戶是否具有以下”permissions””View Virtual Server Details”要添加此權限,請執行:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_User_Customer/[user_id]/addPortalPermission
Method: POST
{
  "parameters": [
    {
      "keyName": "VIRTUAL_GUEST_VIEW"
    }
  ]
}

要獲取所有可用的權限,請查看: SoftLayer_User_Customer_CustomerPermission_Permission :: getAllObjects

現在,在查看完上述可用權限后,請執行:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_User_Customer/[user_id]/addBulkVirtualGuestAccess
Method: POST

Json Payload:

{
  "parameters": [
    [
        18131945,
        17071523

    ]
  ]
}

您可以看到執行以下命令時將顯示設備:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_User_Customer/[user_id]/getAllowedVirtualGuestIds

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM