Получить список ресурсов / ресурсов для данного проекта в GCP без каких-либо разрешений на уровне организации - PullRequest
0 голосов
/ 12 февраля 2020

Опция, которую я изучал, приведена ниже.

При чтении документа https://cloud.google.com/security-command-center/docs/how-to-api-list-assets#listing_all_assets обнаруживается, что мы можем получить список всех активов с помощью API Security Command Center.

Ниже приведен код, приведенный в документации.

static ImmutableList<ListAssetsResult> listAssets(OrganizationName organizationName) {
  try (SecurityCenterClient client = SecurityCenterClient.create()) {
    // Start setting up a request for to search for all assets in an organization.
    // OrganizationName organizationName = OrganizationName.of(/*organizationId=*/"123234324");
    ListAssetsRequest.Builder request =
        ListAssetsRequest.newBuilder().setParent(organizationName.toString());

    // Call the API.
    ListAssetsPagedResponse response = client.listAssets(request.build());

    // This creates one list for all assets.  If your organization has a large number of assets
    // this can cause out of memory issues.  You can process them incrementally by returning
    // the Iterable returned response.iterateAll() directly.
    ImmutableList<ListAssetsResult> results = ImmutableList.copyOf(response.iterateAll());
    System.out.println("All assets:");
    System.out.println(results);
    return results;
  } catch (IOException e) {
    throw new RuntimeException("Couldn't create client.", e);
  }
}

Выполнение команд в командном центре безопасности возвращает ошибку "PERMISSION_DENIED: разрешение 'securitycenter.assets.list' отказано в ресурсе 'organization / {organization" -id} '(или ресурс может не существовать) "в ответ.

Согласно следующему документу https://cloud.google.com/security-command-center/docs/access-control, разрешение' securitycenter.assets.list 'должно быть установлено на УРОВЕНЬ ОРГАНИЗАЦИИ, который проблематичен c.

Я ищу возможность обойти вышеупомянутую проблему, когда мне не нужны разрешения на уровне организации или какой-либо другой API, который помог бы мне сделать это.

1 Ответ

2 голосов
/ 12 февраля 2020

Чтобы использовать Командный центр безопасности, ваш проект должен быть частью организации. Вам также необходимо разрешение на уровне организации. Ваша цель не может быть достигнута на уровне проекта.

...