Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cli — Универсальный инструмент GraphQL API и CSPM для AWS, Azure, GCP, K8s и tencent. | Kitploit
Инструменты/GitHubGitHub/cloudgraphdev/cli
Безопасность облачной инфраструктурыСканеры уязвимостейАудит конфигурацииБезопасность облачных средDevSecOpsБезопасность API
GitHubcloudgraphdev/cli

cli

Универсальный инструмент GraphQL API и CSPM для AWS, Azure, GCP, K8s и tencent.

Репозиторий
888423 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

CloudGraph



CloudGraph — это бесплатный универсальный инструмент с открытым исходным кодом для GraphQL API и управления положением безопасности в облаке (CSPM) для AWS, Azure, GCP и K8s. С CloudGraph вы получаете:

  • Бесплатные и простые проверки соответствия (например, Azure CIS 1.3.1, GCP CIS 1.2, AWS CIS 1.2, AWS CIS 1.3, AWS CIS 1.4, AWS PCI 3.2.1, AWS NIST 800-53 Rev. 4)
  • Типобезопасные инвентаризации активов для всех ваших ресурсов во всех облачных средах
  • Автоматически генерируемая документация и проверка запросов — узнайте, корректен ли ваш запрос, до его отправки!
  • Полные данные о ресурсах, включая связи между ресурсами, чтобы вы понимали контекст
  • Исторические снимки ваших данных с течением времени
  • Единая конечная точка для запроса всех ваших облачных данных одновременно (например, получить данные AWS + GCP в одном запросе или сравнить среду AWS stage с AWS prod)
  • Расширенные данные о выставлении счетов (только AWS)
  • Расширенные данные CloudWatch (только AWS EC2)

Cloud Graph позволяет вам узнать своё облако за 5 минут. Создано и поддерживается с любовью командой ❤️ AutoCloud ❤️


🌐 Веб-сайт

💻 Документация

💰 Получите вознаграждение за создание провайдеров CloudGraph


oclif Version node-current Downloads/week License GitHub commit activity GitHub contributors GitHub issues


Присоединяйтесь к обсуждению

Slack Tweet Twitter Follow

  • Удивительные компании, использующие CloudGraph**
  • Почему CloudGraph
  • Как это работает
  • Аутентификация и разрешения
  • Установка
  • Быстрый старт
  • Загрузка предыдущих версий
  • Поддерживаемые сервисы
  • Примеры запросов
  • Инструменты запросов
  • Сообщество
  • Рекомендации по участию
  • Варианты развертывания
  • Хостинговая версия
  • Отладка
  • Распространенные ошибки
  • Команды

Удивительные компании, использующие CloudGraph**

  • AWS
  • Microsoft
  • Oracle
  • IBM
  • NASA
  • Grafana
  • Pinterest
  • Zendesk
  • McKinsey
  • Pulumi
  • Siemens
  • MasterCard

** использование не подразумевает одобрения

Почему CloudGraph

AWS, Azure и GPC проделали замечательную работу по созданию решений, которые позволяют таким инженерам, как мы, создавать системы для управления нашим всё более взаимосвязанным миром. За последние 15 лет такие продукты, как EC2, S3, RDS и Lambda, коренным образом изменили наше представление о вычислениях, хранении данных и базах данных.


С распространением Kubernetes и Serverless за последние примерно 5 лет облачные сервисы стали всё более абстрактными поверх стоек физических серверов. Для конечных пользователей всё в облаке — это просто API, поэтому нам не обязательно знать, как работают Lambda Functions или EKS под капотом, чтобы использовать их для создания приложений. С небольшой документацией, доступом к API или консоли и учебным пособием любой может создать практически всё, что ему нужно.


Эти абстракции привели к значительному улучшению общего удобства и широты предложений облачных сервисов. То, что когда-то было трудоёмким, затратным по времени и подверженным ошибкам процессом предоставления новых серверов, баз данных или файловых систем, теперь можно сделать за секунды одним нажатием кнопки или развёртыванием IAC. Поскольку всё это абстракция API, когда CAP готов представить новый «продукт», ему просто нужно предоставить новый API — да, конечно, я немного упрощаю :)


Любой, кто знаком с CSP, знает, что API сервисов почти всегда разделены на модульные пространства имён, содержащие десятки, если не сотни, отдельных методов API для отдельных ресурсов. Например, сервис AWS EC2 содержит более 500 различных методов API, и время от времени добавляются новые. Любая компания, создающая серьёзные системы на CSP, скорее всего, использует множество разных сервисов.


Хотя это шедевр архитектуры центров обработки данных, выбор сотен сервисов и опций конфигурации возлагает бремя знаний о том, как правильно использовать эти сервисы, непосредственно на нас, инженеров. В результате нам приходится постоянно быть в курсе и изучать все предложения сервисов или новые изменения. Это требует значительного времени и умственных усилий. Как разработчикам, бывает сложно, трудоёмко и раздражает использовать AWS CLI для выполнения 5 различных вызовов API для описания, например, кластера AWS ECS, его сервисов, определений задач, задач, определений контейнеров и т.д. Мы часто оказываемся в документации и вынуждены использовать полдюжины API, чтобы получить ответы на вопросы вроде «Что именно работает в этой VPC?»


Это означает, что AWS, Azure и GCP могут быстро показаться ошеломляющими даже опытным облачным архитекторам. Хотя CSP отлично справляются с созданием реальных сервисов, обеспечивающих работу нашего бизнеса, не так много прогресса было достигнуто в упрощении повседневного пользовательского опыта при запросах к этим сотням сервисов разумным образом.


Новые решения, такие как Cloud Control API для AWS, попытались создать стандартизированный интерфейс для запросов к множеству различных типов ресурсов AWS. К сожалению, использование Cloud Control API сильно ограничено, и пользователям всё равно нужно знать, как правильно запрашивать свои данные. Это означает больше времени на чтение документации и понимание того, как работают сервисы и как они связаны друг с другом.


Хотя модульность API CSP — отличная логическая система организации и имеет смысл, она является бременем для конечных пользователей с точки зрения когнитивной нагрузки и кривой обучения. Необходимость помнить, как работают сотни постоянно меняющихся сервисов и как они связаны, приводит к кофеиновой зависимости и потере времени на поиски.


Разве не было бы здорово, если бы мы, DevOps/облачные инженеры, имели более простой способ получать наши данные из AWS, Azure, GCP и других? Такой, который отражал бы нашу потребность легко запрашивать любые данные о любом сервисе в любой учётной записи, не тратя часы на документацию или Stack Overflow?


Именно по этим причинам мы создали CloudGraph — GraphQL API для всего облачного. CloudGraph извлекает, нормализует, обрабатывает и обогащает ваши облачные данные, позволяя вам без усилий получать глубокие инсайты по нескольким провайдерам. Ознакомьтесь с нашей статьёй в блоге The GraphQL API for everything чтобы узнать больше.

example queries


Как это работает

Обратите внимание, что CloudGraph требует только для чтения разрешения для работы и, таким образом, никогда не может изменить вашу реальную облачную инфраструктуру. Кроме того, никакая информация о вашем облачном окружении никогда не отправляется и не передаётся CloudGraph, AutoCloud или любым другим третьим сторонам.


Под капотом CloudGraph обращается к вашему облачному провайдеру(ам), собирает все данные конфигурации, обрабатывает их и сохраняет копию этих данных для вас в Dgraph. Затем он предоставляет конечную точку http://localhost:8997, которая позволяет вам писать GraphQL-запросы к сохранённым данным. Эти запросы не только позволяют вам делать всё, что вы делали бы, скажем, с AWS SDK/CLI, но также позволяют выполнять гораздо более мощные запросы. CloudGraph поставляется с предварительно упакованными инструментами запросов GraphQL, включая GraphQL Playground и Altair, но вы также можете свободно использовать свои собственные. Он также включает инструмент визуализации схемы Voyager, чтобы вы могли понимать связи между сущностями.


Аутентификация и разрешения

CloudGraph в настоящее время поддерживает AWS, Azure, GCP, K8s и Tencent (ещё несколько скоро появятся). CloudGraph нужны разрешения на чтение для приёма ваших данных. Чтобы всё было просто, вы можете использовать те же разрешения, которые мы используем внутри, когда запускаем CloudGraph для работы AutoCloud. Вот руководства по аутентификации и подробности о том, как сгенерировать учётные данные для каждого провайдера (не стесняйтесь опустить конфигурацию, специфичную для AutoCloud):


  • AWS Docs
  • Azure Docs
  • GCP Docs
  • K8s Docs
  • Tencent Docs

Установка

Системные требования

  • Docker

Существует 2 способа установки CLI CloudGraph

Homebrew (рекомендуется)

Вы можете установить CloudGraph с помощью homebrew следующей командой: brew install cloudgraphdev/tap/cg

NPM

  • Требуется Node 16+

Use this command to install and update CloudGraph to the latest version.```bash npm i -g @cloudgraph/cli

root@kitploit:~
<p align="center">
  <a href="https://github.com/cloudgraphdev/cli/raw/main/docs/images/install.gif">
    <img alt="установка" src="https://raw.githubusercontent.com/cloudgraphdev/cli/main/docs/images/install.gif" width="95%" style="display: block; margin: auto"/>
  </a>
</p>

<br/>

Затем вы можете добавить нужные провайдеры (ссылки на репозитории провайдеров: [AWS](https://github.com/cloudgraphdev/cloudgraph-provider-aws), [Azure](https://github.com/cloudgraphdev/cloudgraph-provider-azure), [GCP](https://github.com/cloudgraphdev/cloudgraph-provider-gcp), [K8s](https://github.com/cloudgraphdev/cloudgraph-provider-k8s), [Tencent Docs](https://github.com/cloudgraphdev/cloudgraph-provider-tencent)):```bash
cg init aws
cg init azure
cg init gcp
cg init k8s
cg init tencent

Вы также можете добавить столько, сколько хотите, все сразу```bash cg init aws azure gcp k8s tencent

root@kitploit:~
И добавьте пакеты политик соответствия, чтобы дополнить ваши данные мгновенными аналитическими данными по безопасности:```bash
cg policy add gcp-cis-1.2.0
cg policy add azure-cis-1.3.1
cg policy add aws-cis-1.2.0
cg policy add aws-cis-1.3.0
cg policy add aws-cis-1.2.0
cg policy add aws-pci-dss-3.2.1
cg policy add aws-nist-800-53-rev4

Вы можете найти список поддерживаемых в настоящее время наборов политик в репозитории Policy Packs


Быстрый старт


```bash

cg init

root@kitploit:~
1. Это инициализирует конфигурацию CloudGraph. Эта команда задаст вам серию вопросов о том, какие провайдеры вы используете и как вы хотели бы настроить CloudGraph.

<p align="center">
  <a href="https://github.com/cloudgraphdev/cli/raw/main/docs/images/init.gif">
    <img alt="init" src="https://raw.githubusercontent.com/cloudgraphdev/cli/main/docs/images/init.gif" width="95%" style="display: block; margin: auto"/>
  </a>
</p>

<br/>

---

<br/>```bash
cg launch

  1. Эта команда запускает экземпляр Dgraph, графовой БД, которую CloudGraph использует для хранения данных внутри. Обратите внимание, что есть 2 способа запустить экземпляр. ОБА из них требуют установленного и запущенного Docker. Предпочтительным решением является использование нашей удобной команды cg launch.

запуск

Обратите внимание, что если вы не хотите использовать эту команду, например, если хотите запустить контейнер Dgraph в интерактивном режиме, вы можете использовать команду docker ниже.```bash docker run -it -p 8995:5080 -p 8996:6080 -p 8997:8080 -p 8998:9080 -p 8999:8000 --label cloudgraph-cli-dgraph-standalone -v ~/dgraph:/dgraph --name dgraph dgraph/standalone:v21.03.1

root@kitploit:~
---

<br/>```bash
cg scan

  1. Сканирование облачной инфраструктуры для всех настроенных провайдеров. Эта команда обращается и считывает все метаданные вашей облачной инфраструктуры. Обратите внимание, что видеть предупреждения и ошибки при выполнении команды cg scan — абсолютно нормально, они обычно вызваны проблемами с правами доступа. Тем не менее, если вы столкнетесь с какими-либо критическими ошибками при запуске CloudGraph, вы можете добавить CG_DEBUG=5 в начало вашей команды, например: CG_DEBUG=5 cg scan. Это выведет подробные логи с дополнительной информацией и сохранит вывод в файл cg-debug.log. Пожалуйста, поделитесь с нами вашими логами, либо открыв issue на GitHub, либо сообщив нам в нашем Slack Workspace.

scan

Вот и всё, вы готовы начинать запросы! Инструмент запросов, который вы выбрали во время команды cg init, будет открыт в вашем браузере по умолчанию для выполнения запросов, мутаций и визуализаций всей вашей облачной инфраструктуры! Обратите внимание, что если вы установили какие-либо пакеты политик (policy packs), например AWS CIS 1.2, данные аналитики пакетов политик будут автоматически добавлены к вашим облачным данным!


Обратите внимание, что вы также можете использовать любой инструмент запросов GraphQL, подключив его к http://localhost:8997/graphql.


Остановка экземпляра Dgraph


Чтобы остановить экземпляр Dgraph (остановить контейнер dgraph), выполните:


```bash cg teardown

root@kitploit:~
<br />

Кроме того, если вы хотите удалить контейнер после его остановки, выполните:

<br />```bash
cg teardown --delete-image

Загрузка предыдущих версий


CloudGraph хранит столько предыдущих версий ваших данных, сколько вы настроили в команде cg init. Чтобы загрузить и выполнить запрос к предыдущей версии ваших данных, просто выполните команду cg load и выберите версию данных, которую хотите проверить, как показано ниже:


загрузка


Поддерживаемые сервисы


Вы можете найти список сервисов, поддерживаемых в настоящее время для каждого провайдера, в следующих репозиториях провайдеров:

AWS Provider Repo

Azure Provider Repo

GCP Provider Repo

K8s Provider Repo


Примеры запросов

Ссылка на полную документацию: https://docs.cloudgraph.dev/overview.

Для использования CloudGraph вам необходимо быть знакомым с GraphQL. Этот раздел содержит несколько примеров запросов, чтобы помочь вам начать работу, но он ни в коем случае не является исчерпывающим. Если вы можете это придумать, вы можете это запросить! Обратите внимание, что вы можете найти сотни дополнительных примеров запросов в документации.


Примеры базового синтаксиса запросов:

Примечание: в этом разделе основное внимание уделяется AWS, но те же идеи применимы и к другим провайдерам, таким как Azure и GCP.

Чтобы объяснить, как работает CloudGraph, рассмотрим следующий запрос, который можно выполнить, чтобы получить ID и ARN одного EC2 instance. Обратите внимание, что в этих примерах мы будем запрашивать только ID и ARN ресурсов AWS для краткости, но вы можете запрашивать любые атрибуты:


```graphql query { getawsEc2( arn: "arn:aws:ec2:us-east-1:123445678997:instance/i-12345567889012234" ) { id arn } }

root@kitploit:~
<br />

Этот запрос вернёт полезную нагрузку `JSON`, которая выглядит следующим образом. Все последующие примеры будут следовать тому же принципу:

<br />```json
{
  "data": {
    "getawsEc2": {
      "id": "i-12345567889012234",
      "arn": "arn:aws:ec2:us-east-1:123445678997:instance/i-12345567889012234"
    }
  },
  "extensions": {
    "touched_uids": 4
  }
}

Получите ID и ARN каждого EC2 во всех AWS-аккаунтах, которые вы просканировали:```graphql query { queryawsEc2 { id arn } }

root@kitploit:~
<br />

Получите `ID` и `ARN` всех экземпляров `EC2` в **одном** из ваших аккаунтов AWS, отфильтровав по accountId:```graphql
query {
  queryawsEc2(filter: { accountId: { eq: "123456" } }) {
    id
    arn
  }
}

Получить ID и ARN каждого EC2 в "us-east-1", используя регулярное выражение для поиска ARN:```graphql query { queryawsEc2(filter: { arn: { regexp: "/.us-east-1./" } }) { id arn } }

root@kitploit:~
<br />

Сделайте то же самое, но проверяя, что `region` равно `"us-east-1"` вместо использования регулярного выражения:```graphql
query {
  queryawsEc2(filter: { region: { eq: "us-east-1" } }) {
    id
    arn
  }
}

Сделайте то же самое, но проверьте, что region содержит "us-east-1" в имени вместо использования eq```graphql query { queryawsEc2(filter: { region: { in: "us-east-1" } }) { id arn } }

root@kitploit:~
<br />

Получить `ID` и `ARN` каждого `EC2 instance` серии `M5` в `"us-east-1"````graphql
query {
  queryawsEc2(
    filter: { region: { eq: "us-east-1" }, instanceType: { regexp: "/^m5a*/" } }
  ) {
    id
    arn
  }
}

Сделайте то же самое, но пропустите первый найденный результат (т.е. offset: 1), затем верните только первые два результата после этого (т.е. first: 2) и отсортируйте эти результаты по AZ в порядке возрастания (order: { asc: availabilityZone }), чтобы экземпляры в "us-east-1a" оказались вверху списка.```graphql query { queryawsEc2( filter: { region: { eq: "us-east-1" }, instanceType: { regexp: "/^m5a*/" } } order: { asc: availabilityZone } first: 2 offset: 1 ) { id arn } }

root@kitploit:~
<br />

Сделайте то же самое, но также включите `EBS Volume`, который является загрузочным диском для каждого `EC2 instance`:```graphql
query {
  queryawsEc2(
    filter: { region: { eq: "us-east-1" }, instanceType: { regexp: "/^m5a*/" } }
    order: { asc: availabilityZone }
    first: 2
    offset: 1
  ) {
    id
    arn
    ebs(filter: { isBootDisk: true }, first: 1) {
      id
      arn
      isBootDisk
    }
  }
}

Сделайте то же самое, но также включите SGs и ALBs для каждого EC2. Для ALBs получите EC2, к которым они подключены, вместе с ID и ARN каждого найденного EC2 instance (т.е. круговой запрос).```graphql query { queryawsEc2( filter: { region: { eq: "us-east-1" }, instanceType: { regexp: "/^m5a*/" } } order: { asc: availabilityZone } first: 2 offset: 1 ) { id arn ebs(filter: { isBootDisk: true }, first: 1) { id arn isBootDisk } securityGroups { id arn } alb { id arn ec2Instance { id arn } } } }

root@kitploit:~
<br />

Получите каждый `VPC`, а также `ALBs` и `Lambdas` в этом `VPC`, затем кучу вложенных подданных. Также получите каждый `S3 Bucket` в `us-east-1`. Также получите очередь `SQS` с `ARN` равным `arn:aws:sqs:us-east-1:8499274828484:autocloud.fifo` и проверьте `approximateNumberOfMessages`. Вы поняли идею, CloudGraph **чрезвычайно** мощный.```graphql
query {
  queryawsVpc {
    id
    arn
    alb {
      id
      arn
      ec2Instance {
        id
        arn
        ebs(filter: { isBootDisk: true }) {
          id
          arn
        }
      }
    }
    lambda {
      id
      arn
      kms {
        id
        arn
      }
    }
  }
  queryawsS3(filter: { region: { eq: "us-east-1" } }) {
    id
    arn
  }
  getawsSqs(arn: "arn:aws:sqs:us-east-1:8499274828484:autocloud.fifo") {
    approximateNumberOfMessages
  }
}

Примеры безопасности, соответствия требованиям и управления AWS:

Policy Packs CloudGraph гарантируют соответствие существующей инфраструктуры требованиям для данного облачного провайдера. Пакеты основаны на наборах правил/эталонов, предоставляемых такими организациями по безопасности, как Центр интернет-безопасности, с целью поддержания вашей инфраструктуры в актуальном состоянии в соответствии с отраслевыми стандартами безопасности. После добавления пакета политик с помощью команды cg policy add (например, cg policy add aws-cis-1.2.0) при каждом запуске сканирования CloudGraph будет автоматически выполнять ваши настроенные политики. Результаты будут сохранены в Dgraph и связаны с вашими существующими ресурсами, что упрощает запрос результатов соответствия вместе с вашими ресурсами.

Для получения дополнительной информации о доступных в настоящее время пакетах политик посетите наш репозиторий Policy Packs


Используйте Policy Pack CloudGraph для AWS CIS 1.2, чтобы запросить все результаты CIS для всех ваших учетных записей AWS:```graphql query { queryawsCISFindings { id resourceId result rule { id description severity } } }

root@kitploit:~
<br />

Если вы хотите запросить сразу несколько различных результатов проверки соответствия для данного поставщика, такого как AWS, вы можете запросить их следующим образом:```graphql
query {
  queryawsFindings {
    CISFindings {
      id
      resourceId
      result
      rule {
        id
        description
        severity
      }
    }
    AutoCloudFindings {
      id
      resourceId
      result
      rule {
        id
        description
        severity
      }
    }
  }
}

Для каждого правила CIS получаем ресурсы, с которыми это правило связано. В данном случае мы запрашиваем данные пользователей IAM, чтобы узнать, какие из них проходят проверку, а какие нет:```graphql query { queryawsCISFindings { id resourceId result rule { id description severity } iamUser { id arn name } } }

root@kitploit:~
<br />

Если вы хотите понять, какие правила CIS применяются к конкретному пользователю IAM, вы можете использовать следующий запрос:```graphql
query {
  getawsIamUser(id: "123456789") {
    name
    CISFindings {
      id
      resourceId
      result
      rule {
        id
        description
        severity
      }
    }
  }
}

Даже если у вас не установлены никакие пакеты политик, вы всё равно можете писать мощные запросы безопасности, например, чтобы найти все незашифрованные EBS Volumes:```graphql query { queryawsEbs(filter: { encrypted: false }) { id arn availabilityZone encrypted } }

root@kitploit:~
<br />

Найдите все публичные `S3 Buckets`:```graphql
query {
  queryawsS3(filter: { access: { eq: "Public" } }) {
    id
    arn
    access
  }
}

Найдите все S3 Buckets, которые сами являются публичными или могут содержать объекты, которые являются публичными в них:```graphql query { queryawsS3(filter: { not: { access: { eq: "Private" } } }) { id arn access } }

root@kitploit:~
<br />

Найти все ключи `KMS` в `"us-east-1"`:```graphql
query {
  queryawsKms(filter: { arn: { regexp: "/.*us-east-1.*/" } }) {
    id
    arn
    description
    keyRotationEnabled
    tags {
      key
      value
    }
  }
}

Найдите все экземпляры серии T с возможностью burst:```graphql query { queryawsEc2(filter: { instanceType: { regexp: "/^t.*/" } }) { id arn availabilityZone instanceType } }

root@kitploit:~
<br />

Найдите `VPCs` по умолчанию:```graphql
query {
  queryawsVpc(filter: { defaultVpc: true }) {
    id
    arn
    defaultVpc
    state
  }
}

Найдите публичные ALBs:```graphql query { queryawsAlb(filter: { scheme: { eq: "internet-facing" } }) { id arn dnsName createdAt tags { key value } } }

root@kitploit:~
<br />

Найдите все `EC2s`, `Lambdas` и `VPCs`, у которых значение `Tag` равно `"Production"`:```graphql
query {
  queryawsTag(filter: { value: { eq: "Production" } }) {
    key
    value
    ec2Instance {
      id
      arn
    }
    lambda {
      id
      arn
    }
    vpc {
      id
      arn
    }
  }
}

Сделайте то же самое, но ищите как key, так и value:```graphql query { queryawsTag( filter: { key: { eq: "Environment" }, value: { eq: "Production" } } ) { key value ec2Instance { id arn } lambda { id arn } vpc { id arn } } }

root@kitploit:~
<br />

Сделайте то же самое, используя `getawsTag` вместо `queryawsTag`. Обратите внимание, что при поиске тегов с помощью `getawsTag` вы должны указать **оба** `key` и `value` как `id`, как это сделано ниже с `"Environment:Production"`:```graphql
query {
  getawsTag(id: "Environment:Production") {
    key
    value
    ec2Instance {
      id
      arn
    }
    lambda {
      id
      arn
    }
    vpc {
      id
      arn
    }
  }
}

Примеры AWS FinOps:


Обратите внимание, что данные о выставлении счетов в настоящее время доступны только для AWS. Чтобы успешно загружать данные, связанные с FinOps, в вашей учетной записи AWS должен быть включен API Cost Explorer. Вы можете узнать, как это сделать, здесь


Получите total cost вашей учетной записи AWS за last 30 days, total cost вашей учетной записи AWS month to date, разбивку each service and its cost for the last 30 days, и разбивку each service and its cost month to date, а также monthly и month to date average costs:```graphql query { queryawsBilling { totalCostLast30Days { cost currency formattedCost } totalCostMonthToDate { cost currency formattedCost } monthToDate { name cost currency formattedCost } last30Days { name cost currency formattedCost } monthToDateDailyAverage { name cost currency formattedCost } last30DaysDailyAverage { name cost currency formattedCost } } }

root@kitploit:~
<br />

Этот запрос вернет полезную нагрузку `JSON`, которая выглядит следующим образом:```json
{
  "data": {
    "queryawsBilling": [
      {
        "totalCostLast30Days": {
          "cost": 7088.87,
          "currency": "USD",
          "formattedCost": "$7088.87"
        },
        "totalCostMonthToDate": {
          "cost": 7089.28,
          "currency": "USD",
          "formattedCost": "$7089.28"

        },
        "monthToDate": [
          {
            "name": "Amazon Relational Database Service",
            "cost": 548.68,
            "currency": "USD",
            "formattedCost": "$548.68"
          },
          {
            "name": "Amazon Managed Streaming for Apache Kafka",
            "cost": 67.49,
            "currency": "USD",
            "formattedCost": "$67.49"
          },
          {
            "name": "Amazon OpenSearch Service",
            "cost": 1155.04,
            "currency": "USD",
            "formattedCost": "$1155.04"
          }
          ...More Services
        ],
        "last30Days": [
          {
            "name": "AWS Step Functions",
            "cost": 330.20,
            "currency": "USD",
            "formattedCost": "$330.20"
          },
          {
            "name": "Amazon Elastic Container Service for Kubernetes",
            "cost": 194.40,
            "currency": "USD",
            "formattedCost": "$194.40"
          },
          {
            "name": "AmazonCloudWatch",
            "cost": 310.54,
            "currency": "USD",
            "formattedCost": "$310.54"
          }
          ...More Services
        ],
        "monthToDateDailyAverage": [
          {
            "name": "Amazon Relational Database Service",
            "cost": 54.86,
            "currency": "USD",
            "formattedCost": "$54.86"
          },
          {
            "name": "Amazon Managed Streaming for Apache Kafka",
            "cost": 6.74,
            "currency": "USD",
            "formattedCost": "$6.74"
          },
          {
            "name": "Amazon OpenSearch Service",
            "cost": 115.50,
            "currency": "USD",
            "formattedCost": "$115.50"
          }
          ...More Services
        ],
        "last30DaysDailyAverage": [
          {
            "name": "AWS Step Functions",
            "cost": 33.01,
            "currency": "USD",
            "formattedCost": "$33.01"
          },
          {
            "name": "Amazon Elastic Container Service for Kubernetes",
            "cost": 19.44,
            "currency": "USD",
            "formattedCost": "$19.44"
          },
          {
            "name": "AmazonCloudWatch",
            "cost": 31.05,
            "currency": "USD",
            "formattedCost": "$31.05"
          }
          ...More Services
        ],
      }
    ]
  },
  "extensions": {
    "touched_uids": 212
  }
}

Получите каждый EC2 instance в вашей учетной записи AWS вместе с его ежедневной стоимостью:```graphql query { queryawsEc2 { arn dailyCost { cost currency formattedCost } } }

root@kitploit:~
<br />

Этот запрос вернет `JSON`-полезную нагрузку, которая выглядит следующим образом. Все последующие примеры будут следовать аналогично:```json
{
{
  "data": {
    "queryawsEc2": [
      {
        "arn": "arn:aws:ec2:us-east-1:12345678910:instance/i-0c8b3vhfgf8df923f",
        "dailyCost": {
          "cost": 2.06,
          "currency": "USD",
          "formattedCost": "$2.06"
        }
      },
      {
        "arn": "arn:aws:ec2:us-east-1:12345678910:instance/i-060b3dsfds7sdf62e3",
        "dailyCost": {
          "cost": 2.06,
          "currency": "USD",
          "formattedCost": "$2.06"
        }
      },
     ...More EC2 Instances
    ]
  },
  "extensions": {
    "touched_uids": 28
  }
}

Получите каждый NAT Gateway в вашем аккаунте AWS вместе с его ежедневной стоимостью:```graphql query { queryawsNatGateway { arn dailyCost { cost currency formattedCost } } }

root@kitploit:~
<br />

## Пример AWS CloudWatch:

CloudGraph собирает данные ваших метрик CloudWatch и сохраняет их вместе с выбранными сервисами AWS. Эта функция в настоящее время находится в бета-версии и будет работать только для EC2:```graphql
query {
  queryawsEc2 {
    arn
    cloudWatchMetricData {
      lastWeek {
        cpuUtilizationAverage
        networkInAverage
        networkOutAverage
        networkPacketsInAverage
        networkPacketsOutAverage
        statusCheckFailedSum
        statusCheckFailedInstanceSum
        statusCheckFailedSystemSum
        diskReadOpsAverage
        diskWriteOpsAverage
        diskReadBytesAverage
        diskWriteBytesAverage
      }

      lastMonth {
        cpuUtilizationAverage
        networkInAverage
        networkOutAverage
        networkPacketsInAverage
        networkPacketsOutAverage
        statusCheckFailedSum
        statusCheckFailedInstanceSum
        statusCheckFailedSystemSum
        diskReadOpsAverage
        diskWriteOpsAverage
        diskReadBytesAverage
        diskWriteBytesAverage
      }
      last6Hours {
        cpuUtilizationAverage
        networkInAverage
        networkOutAverage
        networkPacketsInAverage
        networkPacketsOutAverage
        statusCheckFailedSum
        statusCheckFailedInstanceSum
        statusCheckFailedSystemSum
        diskReadOpsAverage
        diskWriteOpsAverage
        diskReadBytesAverage
        diskWriteBytesAverage
      }
      last24Hours {
        cpuUtilizationAverage
        networkInAverage
        networkOutAverage
        networkPacketsInAverage
        networkPacketsOutAverage
        statusCheckFailedSum
        statusCheckFailedInstanceSum
        statusCheckFailedSystemSum
        diskReadOpsAverage
        diskWriteOpsAverage
        diskReadBytesAverage
        diskWriteBytesAverage
      }
    }
  }
}

Размышления в терминах графа:


Когда вы думаете «в терминах графа», вы можете сделать почти всё с CloudGraph. Например, предположим, что вы хотите узнать, какие функции Lambda не принадлежат VPC (т.е. не используют сетевые возможности VPC). Поскольку CloudGraph соединяет все ресурсы, имеющие связи, такие как родительские VPC с их дочерними Lambda, вы легко можете ответить на этот вопрос. Просто проверьте, к каким функциям Lambda подключен VPC, и сравните это со списком всех функций Lambda следующим образом:```graphql query { queryawsVpc { id arn lambda { id arn } } queryawsLambda { id arn } }

root@kitploit:~
<br />

## Ограничения

<br />

На сегодняшний день самое большое ограничение CloudGraph и наших возможностей запросов заключается в том, что мы не поддерживаем вложенную фильтрацию по атрибутам дочерних элементов. Например, как бы это ни было круто, сделать следующее пока невозможно:

<br />```graphql
query {
  # This won't work just yet...
  queryawsEc2(filter: { ebs: { isBootDisk: true } }) {
    id
    arn
    ebs {
      id
      arn
    }
  }
  # So you have to do this instead :(
  queryawsEc2 {
    id
    arn
    ebs(filter: { isBootDisk: true }) {
      id
      arn
    }
  }
}

На самом деле это не ограничение CloudGraph, а скорее возможность, которую ещё предстоит реализовать в Dgraph. Вы можете просмотреть и оставить комментарий в ветке обсуждения здесь


Инструменты для запросов

CloudGraph поставляется с двумя отличными инструментами для запросов и обозревателем схем GraphQL. Помните: вы можете использовать ЛЮБОЙ инструмент для запросов GraphQL, если предпочитаете другой вариант — просто подключите его к вашему открытому /graphql эндпоинту!


GraphQL Playground

GraphQL Playground обладает удобным и увлекательным пользовательским интерфейсом, который отлично подходит для быстрых и простых запросов к схеме GraphQL. Он имеет встроенную автоматически генерируемую документацию и автозаполнение во время ввода. Чтобы получить доступ к Playground, выберите его в качестве предпочтительного инструмента запросов в команде init или перейдите по адресу /playground на сервере, запущенном CG.


gqlPlayground


Altair

Altair — это ещё один отличный инструмент для запросов GraphQL, который содержит множество функций для опытных пользователей. Вы можете выполнять такие действия, как автозаполнение запросов, динамическое добавление фрагментов и экспорт/импорт коллекций запросов. Чтобы получить доступ к Altair, выберите его в качестве предпочтительного инструмента запросов в команде init или перейдите по адресу /altair на сервере, запущенном CG.


gqlAltair


Voyager

GraphQL Voyager — это отличный способ изучить схемы ваших провайдеров CG. Он предоставляет удобную двунаправленную диаграмму, содержащую все ваши типы и запросы. Вы можете нажимать на сущности или стрелки, чтобы обнаружить связи, найти что-то конкретное и глубже понять вашу схему. Чтобы получить доступ к Voyager, перейдите по адресу /voyager на сервере, запущенном CG.


voyager


Сообщество


Есть комментарии, вопросы или отзывы? Пожалуйста, Присоединяйтесь к нашему Slack-пространству — мы будем рады вас услышать.


Рекомендации по участию

Если вы заинтересованы в участии в разработке CloudGraph, пожалуйста, ознакомьтесь с нашими Рекомендациями по участию.


Варианты развёртывания

Вы можете запускать CloudGraph локально или развернуть его в облачном провайдере по вашему выбору. Модули Terraform и руководства для облачных развёртываний скоро появятся!


Хостинговая версия

Заинтересованы в полностью управляемой SaaS-версии или локальной версии CloudGraph со встроенными возможностями 3D-визуализации, автоматическим сканированием и сотнями дополнительных проверок соответствия? Узнайте подробности на AutoCloud.


autocloud

Отладка

Если при запуске CloudGraph возникают ошибки, вы можете добавить CG_DEBUG=5 в начало вашей команды, например: CG_DEBUG=5 cg scan. Это выведет подробные логи с дополнительной информацией, которую затем можно использовать для создания проблемы на GitHub или сообщить нам в нашем Slack-пространстве.


Часто встречающиеся ошибки

При запуске CloudGraph могут возникать некоторые распространённые ошибки, обычно связанные с разрешениями или проблемами подключения.

  • ⚠️ unable to make some connections — это предупреждение в отчёте сканирования появляется, когда CG пытается установить связь между двумя ресурсами, но не может этого сделать. Если вы видите это при использовании одного из официально поддерживаемых провайдеров CG, пожалуйста, создайте новую проблему, чтобы мы могли её решить. Наиболее частой причиной этой ошибки является ошибка в логике соединения ресурсов базового провайдера.

  • 🚫 unable to store data in Dgraph — эта ошибка в отчёте сканирования появляется, когда CG пытается вставить некоторые данные облачного провайдера в графовую базу данных, и это не удаётся. Любые сервисы с этой ошибкой не смогут быть запрошены в инструменте запросов GraphQL. Обычно это происходит, когда CG не удаётся получить необходимые данные (например, ARN) для ресурса из-за ошибки при вызове SDK провайдера, часто из-за отсутствия авторизации.

  • Provider {name}@{version} requires cli version {version} but cli version is {version} — это предупреждение означает, что у вас несовместимые версии CG и используемого провайдера. Попробуйте обновить CG (npm install -g @cloudgraphdev/cli) и модуль провайдера (cg provider update), чтобы обе версии были последними. Вы также можете проверить package.json провайдера, чтобы узнать, какие версии CG его поддерживают.

  • Manager failed to install plugin for {provider} — эта ошибка возникает, когда менеджер плагинов CG не может найти модуль провайдера, который вы хотите использовать. Менеджер ищет модуль провайдера в публичном реестре NPM. Для официально поддерживаемых провайдеров просто передайте имя провайдера: cg init aws. Для провайдеров сообщества необходимо также передать пространство имён: cg init @{providerNamespace}/{provider}


Команды

  • cg help [COMMAND]
  • cg init [PROVIDER]
  • cg launch [PROVIDER]
  • cg load [PROVIDER]
  • cg policy [PROVIDER]
  • cg policy add [PROVIDER]
  • cg policy install [PROVIDER]
  • cg policy list [PROVIDER]
  • cg policy remove [PROVIDER]
  • cg policy update [PROVIDER]
  • cg provider [PROVIDER]

cg help [COMMAND]

Отображение справки по cg.``` USAGE $ cg help [COMMAND] [-n]

ARGUMENTS COMMAND Command to show help for.

FLAGS -n, --nested-commands Include all nested commands in the output.

DESCRIPTION Display help for cg.

root@kitploit:~
_См. код: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.12/src/commands/help.ts)_

## `cg init [PROVIDER]`

Задать начальную конфигурацию для провайдеров```
USAGE
  $ cg init [PROVIDER] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p <value>]
    [-q playground|altair] [-l <value>] [--use-roles] [-P <value>] [-r]

FLAGS
  -P, --policies=<value>       Policy Packs to execute during scan
  -d, --dgraph=<value>         Set where dgraph is running (default localhost:8997)
  -l, --version-limit=<value>  Limit the amount of version folders stored on the filesystem (default 10)
  -p, --port=<value>           Set port to serve query engine
  -q, --query-engine=<option>  Query engine to launch
                               <options: playground|altair>
  -r, --resources
  -s, --storage=<option>       Select a storage engine to use. Currently only supports Dgraph
                               <options: dgraph>
  --dev                        Turn on developer mode
  --directory=<value>          Set the folder where CloudGraph will store data. (default cg)
  --no-serve                   Set to not serve a query engine
  --use-roles                  Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION
  Set initial configuration for providers

EXAMPLES
  $ cg init

  $ cg init aws [Initialize AWS provider]

  $ cg init aws -r [Specify resources to crawl]

См. код: src/commands/init.ts

cg launch [PROVIDER]

Запустить экземпляр Dgraph для хранения данных``` USAGE $ cg launch [PROVIDER] [--dev] [-d ] [-s dgraph] [--directory ] [--no-serve] [-p ] [-q playground|altair] [-l ] [--use-roles] [-P ]

FLAGS -P, --policies= Policy Packs to execute during scan -d, --dgraph= Set where dgraph is running (default localhost:8997) -l, --version-limit= Limit the amount of version folders stored on the filesystem (default 10) -p, --port= Set port to serve query engine -q, --query-engine= Query engine to launch <options: playground|altair> -s, --storage= Select a storage engine to use. Currently only supports Dgraph <options: dgraph> --dev Turn on developer mode --directory= Set the folder where CloudGraph will store data. (default cg) --no-serve Set to not serve a query engine --use-roles Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION Launch an instance of Dgraph to store data

EXAMPLES $ cg launch

root@kitploit:~
_См. код: [src/commands/launch.ts](https://github.com/cloudgraphdev/cli/blob/v0.25.1/src/commands/launch.ts)_

## `cg load [PROVIDER]`

Загрузите определенную версию ваших данных CloudGraph```
USAGE
  $ cg load [PROVIDER] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p <value>]
    [-q playground|altair] [-l <value>] [--use-roles] [-P <value>]

FLAGS
  -P, --policies=<value>       Policy Packs to execute during scan
  -d, --dgraph=<value>         Set where dgraph is running (default localhost:8997)
  -l, --version-limit=<value>  Limit the amount of version folders stored on the filesystem (default 10)
  -p, --port=<value>           Set port to serve query engine
  -q, --query-engine=<option>  Query engine to launch
                               <options: playground|altair>
  -s, --storage=<option>       Select a storage engine to use. Currently only supports Dgraph
                               <options: dgraph>
  --dev                        Turn on developer mode
  --directory=<value>          Set the folder where CloudGraph will store data. (default cg)
  --no-serve                   Set to not serve a query engine
  --use-roles                  Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION
  Load a specific version of your CloudGraph data

EXAMPLES
  $ cg load [Load data for all providers configured]

  $ cg load aws [Load data for AWS]

См. код: src/commands/load.ts

cg policy [PROVIDER]

Команды для управления модулями пакетов политик, выполните $ cg policy для получения дополнительной информации.``` USAGE $ cg policy [PROVIDER] [--dev] [-d ] [-s dgraph] [--directory ] [--no-serve] [-p ] [-q playground|altair] [-l ] [--use-roles] [-P ]

FLAGS -P, --policies= Policy Packs to execute during scan -d, --dgraph= Set where dgraph is running (default localhost:8997) -l, --version-limit= Limit the amount of version folders stored on the filesystem (default 10) -p, --port= Set port to serve query engine -q, --query-engine= Query engine to launch <options: playground|altair> -s, --storage= Select a storage engine to use. Currently only supports Dgraph <options: dgraph> --dev Turn on developer mode --directory= Set the folder where CloudGraph will store data. (default cg) --no-serve Set to not serve a query engine --use-roles Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION Commands to manage policy pack modules, run $ cg policy for more info.

root@kitploit:~
_См. код: [src/commands/policy/index.ts](https://github.com/cloudgraphdev/cli/blob/v0.25.1/src/commands/policy/index.ts)_

## `cg policy add [PROVIDER]`

Добавить новые пакеты политик```
USAGE
  $ cg policy add [PROVIDER] [--no-save] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p
    <value>] [-q playground|altair] [-l <value>] [--use-roles] [-P <value>]

FLAGS
  -P, --policies=<value>       Policy Packs to execute during scan
  -d, --dgraph=<value>         Set where dgraph is running (default localhost:8997)
  -l, --version-limit=<value>  Limit the amount of version folders stored on the filesystem (default 10)
  -p, --port=<value>           Set port to serve query engine
  -q, --query-engine=<option>  Query engine to launch
                               <options: playground|altair>
  -s, --storage=<option>       Select a storage engine to use. Currently only supports Dgraph
                               <options: dgraph>
  --dev                        Turn on developer mode
  --directory=<value>          Set the folder where CloudGraph will store data. (default cg)
  --no-save                    Set to not alter lock file, just delete plugin
  --no-serve                   Set to not serve a query engine
  --use-roles                  Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION
  Add new policy packs

ALIASES
  $ cg add policy

EXAMPLES
  $ cg policy add aws-cis-1.2.0

  $ cg policy add [email protected]

cg policy install [PROVIDER]

Установить пакеты политик на основе файла блокировки``` USAGE $ cg policy install [PROVIDER] [--no-save] [--dev] [-d ] [-s dgraph] [--directory ] [--no-serve] [-p ] [-q playground|altair] [-l ] [--use-roles] [-P ]

FLAGS -P, --policies= Policy Packs to execute during scan -d, --dgraph= Set where dgraph is running (default localhost:8997) -l, --version-limit= Limit the amount of version folders stored on the filesystem (default 10) -p, --port= Set port to serve query engine -q, --query-engine= Query engine to launch <options: playground|altair> -s, --storage= Select a storage engine to use. Currently only supports Dgraph <options: dgraph> --dev Turn on developer mode --directory= Set the folder where CloudGraph will store data. (default cg) --no-save Set to not alter lock file, just delete plugin --no-serve Set to not serve a query engine --use-roles Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION Install policy packs based on the lock file

ALIASES $ cg install policy

EXAMPLES $ cg policy install

root@kitploit:~
## `cg policy list [PROVIDER]`

Список установленных в данный момент пакетов политик и их версий```
USAGE
  $ cg policy list [PROVIDER] [--no-save] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p
    <value>] [-q playground|altair] [-l <value>] [--use-roles] [-P <value>]

FLAGS
  -P, --policies=<value>       Policy Packs to execute during scan
  -d, --dgraph=<value>         Set where dgraph is running (default localhost:8997)
  -l, --version-limit=<value>  Limit the amount of version folders stored on the filesystem (default 10)
  -p, --port=<value>           Set port to serve query engine
  -q, --query-engine=<option>  Query engine to launch
                               <options: playground|altair>
  -s, --storage=<option>       Select a storage engine to use. Currently only supports Dgraph
                               <options: dgraph>
  --dev                        Turn on developer mode
  --directory=<value>          Set the folder where CloudGraph will store data. (default cg)
  --no-save                    Set to not alter lock file, just delete plugin
  --no-serve                   Set to not serve a query engine
  --use-roles                  Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION
  List currently installed policy packs and versions

ALIASES
  $ cg ls policy
  $ cg list policy

EXAMPLES
  $ cg policy list

  $ cg policy list aws

cg policy remove [PROVIDER]

Удалить установленный в данный момент пакет политик``` USAGE $ cg policy remove [PROVIDER] [--no-save] [--dev] [-d ] [-s dgraph] [--directory ] [--no-serve] [-p ] [-q playground|altair] [-l ] [--use-roles] [-P ]

FLAGS -P, --policies= Policy Packs to execute during scan -d, --dgraph= Set where dgraph is running (default localhost:8997) -l, --version-limit= Limit the amount of version folders stored on the filesystem (default 10) -p, --port= Set port to serve query engine -q, --query-engine= Query engine to launch <options: playground|altair> -s, --storage= Select a storage engine to use. Currently only supports Dgraph <options: dgraph> --dev Turn on developer mode --directory= Set the folder where CloudGraph will store data. (default cg) --no-save Set to not alter lock file, just delete plugin --no-serve Set to not serve a query engine --use-roles Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION Remove currently installed policy pack

ALIASES $ cg remove policy $ cg policy remove $ cg policy rm $ cg del policy $ cg rm policy

EXAMPLES $ cg policy remove

$ cg policy remove aws-cis-1.2.0

$ cg policy remove aws-cis-1.2.0 --no-save

root@kitploit:~
## `cg policy update [PROVIDER]`

Обновить установленные пакеты политик```
USAGE
  $ cg policy update [PROVIDER] [--no-save] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p
    <value>] [-q playground|altair] [-l <value>] [--use-roles] [-P <value>]

FLAGS
  -P, --policies=<value>       Policy Packs to execute during scan
  -d, --dgraph=<value>         Set where dgraph is running (default localhost:8997)
  -l, --version-limit=<value>  Limit the amount of version folders stored on the filesystem (default 10)
  -p, --port=<value>           Set port to serve query engine
  -q, --query-engine=<option>  Query engine to launch
                               <options: playground|altair>
  -s, --storage=<option>       Select a storage engine to use. Currently only supports Dgraph
                               <options: dgraph>
  --dev                        Turn on developer mode
  --directory=<value>          Set the folder where CloudGraph will store data. (default cg)
  --no-save                    Set to not alter lock file, just delete plugin
  --no-serve                   Set to not serve a query engine
  --use-roles                  Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION
  Update currently installed policy packs

EXAMPLES
  $ cg policy update

  $ cg policy update aws-cis-1.2.0

  $ cg policy update [email protected]

cg provider [PROVIDER]

Команды для управления модулями провайдера, выполните $ cg provider для получения дополнительной информации.``` USAGE $ cg provider [PROVIDER] [--dev] [-d ] [-s dgraph] [--directory ] [--no-serve] [-p ] [-q playground|altair] [-l ] [--use-roles] [-P ]

FLAGS -P, --policies= Policy Packs to execute during scan -d, --dgraph= Set where dgraph is running (default localhost:8997) -l, --version-limit= Limit the amount of version folders stored on the filesystem (default 10) -p, --port= Set port to serve query engine -q, --query-engine= Query engine to launch <options: playground|altair> -s, --storage= Select a storage engine to use. Currently only supports Dgraph <options: dgraph> --dev Turn on developer mode --directory= Set the folder where CloudGraph will store data. (default cg) --no-serve Set to not serve a query engine --use-roles Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION Commands to manage provider modules, run $ cg provider for more info.

root@kitploit:~
_См. код: [src/commands/provider/index.ts](https://github.com/cloudgraphdev/cli/blob/v0.25.1/src/commands/provider/index.ts)_

## `cg provider add [PROVIDER]`

Добавить новые провайдеры```
USAGE
  $ cg provider add [PROVIDER] [--no-save] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p
    <value>] [-q playground|altair] [-l <value>] [--use-roles] [-P <value>]

FLAGS
  -P, --policies=<value>       Policy Packs to execute during scan
  -d, --dgraph=<value>         Set where dgraph is running (default localhost:8997)
  -l, --version-limit=<value>  Limit the amount of version folders stored on the filesystem (default 10)
  -p, --port=<value>           Set port to serve query engine
  -q, --query-engine=<option>  Query engine to launch
                               <options: playground|altair>
  -s, --storage=<option>       Select a storage engine to use. Currently only supports Dgraph
                               <options: dgraph>
  --dev                        Turn on developer mode
  --directory=<value>          Set the folder where CloudGraph will store data. (default cg)
  --no-save                    Set to not alter lock file, just delete plugin
  --no-serve                   Set to not serve a query engine
  --use-roles                  Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION
  Add new providers

ALIASES
  $ cg add provider

EXAMPLES
  $ cg provider add aws

  $ cg provider add [email protected]

cg provider install [PROVIDER]

Установить провайдеры на основе файла блокировки``` USAGE $ cg provider install [PROVIDER] [--no-save] [--dev] [-d ] [-s dgraph] [--directory ] [--no-serve] [-p ] [-q playground|altair] [-l ] [--use-roles] [-P ]

FLAGS -P, --policies= Policy Packs to execute during scan -d, --dgraph= Set where dgraph is running (default localhost:8997) -l, --version-limit= Limit the amount of version folders stored on the filesystem (default 10) -p, --port= Set port to serve query engine -q, --query-engine= Query engine to launch <options: playground|altair> -s, --storage= Select a storage engine to use. Currently only supports Dgraph <options: dgraph> --dev Turn on developer mode --directory= Set the folder where CloudGraph will store data. (default cg) --no-save Set to not alter lock file, just delete plugin --no-serve Set to not serve a query engine --use-roles Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION Install providers based on the lock file

ALIASES $ cg install provider

EXAMPLES $ cg provider install

root@kitploit:~
## `cg provider list [PROVIDER]`

Вывести список установленных провайдеров и версий```
USAGE
  $ cg provider list [PROVIDER] [--no-save] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p
    <value>] [-q playground|altair] [-l <value>] [--use-roles] [-P <value>]

FLAGS
  -P, --policies=<value>       Policy Packs to execute during scan
  -d, --dgraph=<value>         Set where dgraph is running (default localhost:8997)
  -l, --version-limit=<value>  Limit the amount of version folders stored on the filesystem (default 10)
  -p, --port=<value>           Set port to serve query engine
  -q, --query-engine=<option>  Query engine to launch
                               <options: playground|altair>
  -s, --storage=<option>       Select a storage engine to use. Currently only supports Dgraph
                               <options: dgraph>
  --dev                        Turn on developer mode
  --directory=<value>          Set the folder where CloudGraph will store data. (default cg)
  --no-save                    Set to not alter lock file, just delete plugin
  --no-serve                   Set to not serve a query engine
  --use-roles                  Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION
  List currently installed providers and versions

ALIASES
  $ cg ls provider
  $ cg list provider

EXAMPLES
  $ cg provider list

  $ cg provider list aws

cg provider remove [PROVIDER]

Удалить текущего установленного провайдера``` USAGE $ cg provider remove [PROVIDER] [--no-save] [--dev] [-d ] [-s dgraph] [--directory ] [--no-serve] [-p ] [-q playground|altair] [-l ] [--use-roles] [-P ]

FLAGS -P, --policies= Policy Packs to execute during scan -d, --dgraph= Set where dgraph is running (default localhost:8997) -l, --version-limit= Limit the amount of version folders stored on the filesystem (default 10) -p, --port= Set port to serve query engine -q, --query-engine= Query engine to launch <options: playground|altair> -s, --storage= Select a storage engine to use. Currently only supports Dgraph <options: dgraph> --dev Turn on developer mode --directory= Set the folder where CloudGraph will store data. (default cg) --no-save Set to not alter lock file, just delete plugin --no-serve Set to not serve a query engine --use-roles Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION Remove currently installed provider

ALIASES $ cg remove provider $ cg provider remove $ cg provider rm $ cg del provider $ cg rm provider

EXAMPLES $ cg provider remove

$ cg provider remove aws

$ cg provider remove aws --no-save

root@kitploit:~
## `cg provider update [PROVIDER]`

Обновить текущие установленные провайдеры```
USAGE
  $ cg provider update [PROVIDER] [--no-save] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p
    <value>] [-q playground|altair] [-l <value>] [--use-roles] [-P <value>]

FLAGS
  -P, --policies=<value>       Policy Packs to execute during scan
  -d, --dgraph=<value>         Set where dgraph is running (default localhost:8997)
  -l, --version-limit=<value>  Limit the amount of version folders stored on the filesystem (default 10)
  -p, --port=<value>           Set port to serve query engine
  -q, --query-engine=<option>  Query engine to launch
                               <options: playground|altair>
  -s, --storage=<option>       Select a storage engine to use. Currently only supports Dgraph
                               <options: dgraph>
  --dev                        Turn on developer mode
  --directory=<value>          Set the folder where CloudGraph will store data. (default cg)
  --no-save                    Set to not alter lock file, just delete plugin
  --no-serve                   Set to not serve a query engine
  --use-roles                  Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION
  Update currently installed providers

EXAMPLES
  $ cg provider update

  $ cg provider update aws

  $ cg provider update [email protected]

cg scan [PROVIDER]

Сканирование данных одного или нескольких провайдеров для запросов через Dgraph``` USAGE $ cg scan [PROVIDER] [--dev] [-d ] [-s dgraph] [--directory ] [--no-serve] [-p ] [-q playground|altair] [-l ] [--use-roles] [-P ]

FLAGS -P, --policies= Policy Packs to execute during scan -d, --dgraph= Set where dgraph is running (default localhost:8997) -l, --version-limit= Limit the amount of version folders stored on the filesystem (default 10) -p, --port= Set port to serve query engine -q, --query-engine= Query engine to launch <options: playground|altair> -s, --storage= Select a storage engine to use. Currently only supports Dgraph <options: dgraph> --dev Turn on developer mode --directory= Set the folder where CloudGraph will store data. (default cg) --no-serve Set to not serve a query engine --use-roles Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION Scan one or multiple providers data to be queried through Dgraph

EXAMPLES $ cg scan

$ cg scan aws

$ cg scan aws --dgraph http://localhost:1000 [Save data in dgraph running on port 1000]

$ cg scan aws --no-serve [Do not start the query engine]

root@kitploit:~
_См. код: [src/commands/scan.ts](https://github.com/cloudgraphdev/cli/blob/v0.25.1/src/commands/scan.ts)_

## `cg serve [PROVIDER]`

Запустите инструмент запросов GraphQL для запроса ваших данных CloudGraph.```
USAGE
  $ cg serve [PROVIDER] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p <value>]
    [-q playground|altair] [-l <value>] [--use-roles] [-P <value>]

FLAGS
  -P, --policies=<value>       Policy Packs to execute during scan
  -d, --dgraph=<value>         Set where dgraph is running (default localhost:8997)
  -l, --version-limit=<value>  Limit the amount of version folders stored on the filesystem (default 10)
  -p, --port=<value>           Set port to serve query engine
  -q, --query-engine=<option>  Query engine to launch
                               <options: playground|altair>
  -s, --storage=<option>       Select a storage engine to use. Currently only supports Dgraph
                               <options: dgraph>
  --dev                        Turn on developer mode
  --directory=<value>          Set the folder where CloudGraph will store data. (default cg)
  --no-serve                   Set to not serve a query engine
  --use-roles                  Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION
  Serve a GraphQL query tool to query your CloudGraph data.

EXAMPLES
  $ cg serve

См. код: src/commands/serve.ts

cg teardown [PROVIDER]

Останавливает контейнер Docker Dgraph.``` USAGE $ cg teardown [PROVIDER] [--delete-image]

FLAGS --delete-image Remove dgraph docker image after stopping it

DESCRIPTION Stops the Dgraph Docker container.

EXAMPLES $ cg teardown

$ cg teardown --delete-image

root@kitploit:~
_См. код: [src/commands/teardown.ts](https://github.com/cloudgraphdev/cli/blob/v0.25.1/src/commands/teardown.ts)_

## `cg update [PROVIDER]`

Обновление установленных в данный момент плагинов.```
USAGE
  $ cg update [PROVIDER] [--no-save] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p
    <value>] [-q playground|altair] [-l <value>] [--use-roles] [-P <value>]

FLAGS
  -P, --policies=<value>       Policy Packs to execute during scan
  -d, --dgraph=<value>         Set where dgraph is running (default localhost:8997)
  -l, --version-limit=<value>  Limit the amount of version folders stored on the filesystem (default 10)
  -p, --port=<value>           Set port to serve query engine
  -q, --query-engine=<option>  Query engine to launch
                               <options: playground|altair>
  -s, --storage=<option>       Select a storage engine to use. Currently only supports Dgraph
                               <options: dgraph>
  --dev                        Turn on developer mode
  --directory=<value>          Set the folder where CloudGraph will store data. (default cg)
  --no-save                    Set to not alter lock file, just delete plugin
  --no-serve                   Set to not serve a query engine
  --use-roles                  Set to true to use roleARNs instead of profiles for AWS credentials

DESCRIPTION
  Upgrade currently installed plugins.

ALIASES
  $ cg update

EXAMPLES
  $ cg update

См. код: src/commands/update.ts

Скачать инструмент
  • cg provider add [PROVIDER]
  • cg provider install [PROVIDER]
  • cg provider list [PROVIDER]
  • cg provider remove [PROVIDER]
  • cg provider update [PROVIDER]
  • cg scan [PROVIDER]
  • cg serve [PROVIDER]
  • cg teardown [PROVIDER]
  • cg update [PROVIDER]