Automation Anywhere

Automation Anywhere

關閉內容

內容

開啟內容

管理機器人登入認證的Enterprise 控制室 API

  • 已更新:5/10/2019

    管理機器人登入認證的Enterprise 控制室 API

    使用機器人登入 API 將登入流程自動化,讓具有適當權限的使用者建立、更新或刪除儲存在認證保存庫中的登入認證。

    機器人Enterprise 控制室部署至機器人執行器時,機器人會自動登入機器人執行器 (如果已鎖定/登出電腦的話)。機器人將使用認證保存庫中所儲存的認證自動登入。這些認證係由使用者使用Enterprise 用戶端的 [工具] → [選項] → [登入設定] 所設定。

    不過,可能會發生使用者的 Windows 密碼遭修改的情況,尤其是設有密碼輪換原則的企業,更是如此。在這種情況下,使用者必須記得透過 [工具] → [選項] → [登入設定] 更新新密碼。

    若要將上述流程自動化,Enterprise 控制室 11.1 所提供的直接 API 可建立、更新或刪除認證保存庫中所儲存的登入認證。

    使用此 API 共有 2 個步驟:

    1. 叫用驗證 API
    2. 叫用登入認證 API

    驗證 API

    Enterprise 控制室驗證 API>一文提供了驗證 API 的詳細資訊。

    登入認證 API

    註: 只有 Enterprise 控制室 管理員 (擁有 AAE_Admin 角色的使用者) 有權使用登入認證 API。這表示,如果叫用驗證 API 的使用者擁有 AAE_Admin 角色,就只有該使用者能夠使用登入認證 API。
    而且這個 API 將運用使用驗證 API 取得的驗證權杖。此驗證權杖必須當做其中一個標頭輸入傳遞給登入認證 API。

    API:v1/credentialvault/external/credentials/loginsetting

    如果Enterprise 控制室 URL 是 https://ultron.com:81,則 API 就是:https://ultron.com:81/v1/credentialvault/external/credentials/loginsetting

    此 API 會以 JSON 格式取用三個輸入參數:

    1. Automation Anywhere 使用者的使用者名稱。
    2. 認證保存庫中針對該使用者更新的登入 (Windows) 使用者名稱。
    3. 認證保存庫中針對該使用者更新的登入 (Windows) 密碼。
      註: 所有參數都是強制參數。

    例如:

    如果我們採用了「資料庫驗證」情境 (使用者由Enterprise 控制室儲存及驗證)

    1. Automation Anywhere 使用者名稱是 mike_williams
    2. 完整的登入使用者名稱是 ultron.com\mike.williams
    3. 登入密碼是 abc123,則 JSON 就是

      { "Username":"mike_williams", "Windows_Username":"ultron.com\\mike.williams", "Windows_Password":"abc123" }

    Enterprise 控制室管理員可以使用登入認證 API 進行下列動作:

    1. 使用 'POST' 方法在Enterprise 控制室中建立使用者的登入認證
    2. 使用 'PUT' 方法在Enterprise 控制室中更新使用者的登入認證
    3. 使用 'DELETE' 方法從Enterprise 控制室中刪除使用者的登入認證

    建立使用者登入認證的 VBScript 指令碼

    'AUTHENTICATION API - START

    Set objStream = CreateObject("ADODB.Stream")

    objStream.CharSet = "utf-8"

    objStream.Open

    objStream.LoadFromFile("D:\Deven.Deshpande\Office\Products\API for CV\auth-input.txt")

    restRequest = objStream.ReadText()

    objStream.Close

    Set objStream = Nothing

    contentType = "application/json"

    Set oWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")

    oWinHttp.Open "POST", "http://productslt12.aaspl-brd.com:81/v1/authentication", False

    oWinHttp.setRequestHeader "Content-Type", contentType

    oWinHttp.Send restRequest

    response = oWinHttp.StatusText

    MsgBox response

    Dim AuthToken

    'Set oJson = new aspJSON

    AuthToken = oWinHttp.ResponseText

    'oJson.loadJSON(AuthToken)

    'MsgBox oJson.data("token")

    MsgBox AuthToken

    'AUTHENTICATION API - ENDS

    '---------------------------------------------------

    'RESPONSE HEADER PARSING - START

    Dim sToken

    Dim posUser

    sToken = Right(AuthToken, Len(AuthToken) - 10)

    MsgBox(sToken)

    'sToken = Left(sToken, Len(sToken) - 4)

    posUser = InStr(sToken, "user")

    MsgBox posUser

    sToken = Left(sToken, posUser - 4)

    MsgBox(sToken)

    'RESPONSE HEADER PARSING - END

    'DEPLOYMENT API - START

    Set objStream_dep = CreateObject("ADODB.Stream")

    objStream_dep.CharSet = "utf-8"

    objStream_dep.Open

    objStream_dep.LoadFromFile("D:\Deven.Deshpande\Office\Products\API for CV\cred-input.txt")

    restRequest = objStream_dep.ReadText()

    objStream_dep.Close

    Set objStream = Nothing

    contentType = "application/json"

    Set oWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")

    oWinHttp.Open "PUT", "http://productslt12.aaspl-brd.com:81/v1/credentialvault/external/credentials/loginsetting", False

    oWinHttp.setRequestHeader "Content-Type", contentType

    oWinHttp.setRequestHeader "X-Authorization", sToken

    oWinHttp.Send restRequest

    response = oWinHttp.StatusText

    MsgBox response

    Dim DeployResponse

    DeployResponse = oWinHttp.ResponseText

    'MsgBox DeployResponse

    'DEPLOYMENT API - ENDS

    輸入檔案的內容

    適用於上述 VBScript 指令碼

    auth-input.txt 的文字將包含驗證所用之輸入 JSON 字串 {"UserName":"admin","Password":"12345678"}

    deploy-input.txt 的文字將包含部署所用之輸入 JSON 字串

    { "Username":"mike_williams", "Windows_Username":"ultron.com\\mike.williams", "Windows_Password":"abc123" }

    傳送意見反饋