有问题通过API触发Nessus扫描

时间:2017-01-03 10:34:15

标签: ibm-cloud-infrastructure

我遇到通过Softlayer API触发Nessus扫描的问题,我正在使用Java并在此处使用该库:https://github.com/softlayer/softlayer-java

这是我正在使用的方法:

RestApiClient client = new RestApiClient().withCredentials(xxxxxx, xxxxxxx);
Account.Service accountService = Account.service(client);
Account account = accountService.getObject();

Request.Service requestService = Request.service(client);

Request request = new Request();
request.setAccount(account);
request.setIpAddress(ipAddress);

Request scan = requestService.createObject(request);

我遇到了这个问题:

  

您不能在其他帐户上启动安全扫描请求   比你自己的。

我使用的是与我通过API配置多台主机相同的凭据,所以我不确定它为什么会落在这里。

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

设置帐户而不是帐户ID时会抛出错误。 您可以尝试这个Java示例。

package SoftLayer_Java_Scripts.Examples;

import com.google.gson.Gson;
import com.softlayer.api.*;
import com.softlayer.api.service.Account;
import com.softlayer.api.service.network.security.scanner.Request;

public class CreateNetworkSecurityScannerRequest {

  private static String user = "set me";
  private static String apiKey = "set me";

  private static ApiClient client = new RestApiClient().withCredentials(user, apiKey);

  public static void main(String[] args) {
    Account.Service accountService = Account.service(client);
    Request.Service requestService = Request.service(client);
    String ipAddress = "168.1.11.156";
    Long virtualGuestId = 22358591L;

    Account account = null;
    try {
      account = accountService.getObject();
    } catch (Exception e) {
      System.out.println("Error retrieving account object.\nError message: " + e.getMessage());
    }
    Request request = new Request();
    request.setAccountId(account.getId());
    request.setGuestId(virtualGuestId);
    request.setIpAddress(ipAddress);
    Request scan = null;
    try {
      scan = requestService.createObject(request);
      Gson gson = new Gson();
      System.out.println(gson.toJson(scan));
    }
    catch (Exception e) {
      System.out.println("Error creating Network Security Scanner Request.\nError message: " + e.getMessage());
    }
  }
}

使用您的更改示例数据。