阅读和查看 Automation Anywhere 文档

Automation Anywhere

关闭内容

内容

打开内容

用于管理机器人登录凭证的Enterprise Control Room API

  • 已更新:5/10/2019

    用于管理机器人登录凭证的Enterprise Control Room API

    使用机器人登录 API 可以自动执行登录过程,允许具有相应权限的用户创建、更新或删除存储在Credential Vault中的登录凭证。

    机器人Enterprise Control Room部署到Bot Runner时,机器人将自动登录到Bot Runner(如果计算机已锁定/注销)。机器人将使用存储在 Credential Vault 中的凭证进行自动登录。用户可在Enterprise client中通过工具 → 选项 → 登录设置来设置这些凭证。

    但是,有时用户 Windows 密码可能已经更改,尤其是在采用密码轮换策略的企业中。在这种情况下,用户必须记住通过工具 → 选项 → 登录设置更新新密码。

    为使上述过程实现自动化,Enterprise Control Room 11.1 提供了用于创建、更新或删除存储在Credential Vault中的登录凭证的直接 API。

    要使用此 API,需要完成以下 2 个步骤:

    1. 调用身份验证 API
    2. 调用登录凭证 API

    身份验证 API

    Enterprise Control Room身份验证 API 一文中提供了身份验证 API 的详细信息。

    登录凭证 API

    注: 只有 Enterprise Control Room 管理员(具有 AAE_Admin 角色的用户)有权使用登录凭证 API;这意味着,如果调用身份验证 API 的用户具有 AAE_Admin 角色,则只有该用户能够使用登录凭证 API。
    此外,此 API 将使用通过身份验证 API 获取的身份验证令牌。该身份验证令牌必须作为某一标头输入传递给登录凭证 API。

    API:v1/credentialvault/external/credentials/loginsetting

    假设Enterprise Control Room URL 为 https://ultron.com:81,则 API 即为:https://ultron.com:81/v1/credentialvault/external/credentials/loginsetting

    此 API 接受 JSON 格式的以下三个参数作为输入:

    1. Automation Anywhere 用户的用户名。
    2. 需要在Credential Vault中针对用户更新的用户登录 (Windows) 用户名。
    3. 需要在Credential Vault中针对用户更新的用户登录 (Windows) 密码。
      注: 所有参数都是必需项。

    例如:

    以“数据库身份验证”场景(由Enterprise Control Room存储用户并对其进行身份验证)为例

    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" }

    使用登录凭证 API,Enterprise Control Room管理员可以:

    1. Enterprise Control Room中创建用户的登录凭证 - 通过使用“POST”方法
    2. Enterprise Control Room中更新用户的登录凭证 - 通过使用“PUT”方法
    3. Enterprise Control Room中删除用户的登录凭证 - 通过使用“DELETE”方法。

    用于创建用户的登录凭证的 VB 脚本

    '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

    输入文件的内容

    适用于上面的 VB 脚本

    auth-input.txt 的文本将包含用于身份验证的输入 JSON 字符串 {"UserName":"admin","Password":"12345678"}

    deploy-input.txt 的文本将包含用于部署的输入 JSON 字符串

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

    发送反馈