
Das universelle GraphQL API und CSPM Werkzeug für AWS, Azure, GCP, K8s und tencent.
CloudGraph ist das kostenlose Open-Source universelle GraphQL-API und Cloud Security Posture Management (CSPM)-Tool für AWS, Azure, GCP und K8s. Mit CloudGraph erhalten Sie:
Cloud Graph ermöglicht es Ihnen, Ihre Cloud in 5 Minuten zu kennen. Mit Liebe vom Team bei ❤️ AutoCloud ❤️ entwickelt und gepflegt.
🌐 Website
💰 Bezahlt werden, um CloudGraph-Provider zu bauen
** Verwendung bedeutet keine Befürwortung
AWS, Azure und GCP haben hervorragende Arbeit geleistet, Lösungen zu bauen, die es Ingenieuren wie uns ermöglichen, Systeme zu erschaffen, die unsere zunehmend vernetzte Welt antreiben. In den letzten 15 Jahren haben Produkte wie EC2, S3, RDS und Lambda grundlegend verändert, wie wir über Computing, Storage und Datenbanken denken.
Mit der Verbreitung von Kubernetes und Serverless in den letzten etwa 5 Jahren sind Cloud-Dienste zunehmend abstrakt über den physischen Serverracks geworden. Für Endbenutzer ist alles in der Cloud nur eine API, daher müssen wir nicht unbedingt wissen, wie Lambda-Funktionen oder EKS unter der Haube funktionieren, um sie zum Erstellen von Anwendungen nutzen zu können. Mit ein wenig Dokumentation, API- oder Konsolenzugriff und einem Tutorial kann so ziemlich jeder alles erstellen, was er braucht.
Diese Abstraktionen haben zu massiven Verbesserungen der allgemeinen Bequemlichkeit und Breite der CSP-Dienstleistungsangebote geführt. Was früher ein mühsamer, zeitaufwändiger und fehleranfälliger Prozess der Bereitstellung neuer Server, Datenbanken oder Dateisysteme war, kann jetzt in Sekunden mit einem einzigen Klick oder der Bereitstellung von IAC erledigt werden. Da alles nur eine API-Abstraktion ist, muss ein CAP, wenn es bereit ist, ein neues "Produkt" einzuführen, lediglich eine neue API bereitstellen – ja, ich vereinfache natürlich etwas :)
Jeder, der mit den CSPs vertraut ist, weiß, dass Service-APIs fast immer in modulare Namensräume aufgeteilt sind, die Dutzende, wenn nicht Hunderte separater API-Methoden für einzelne Ressourcen enthalten. Beispielsweise enthält der AWS EC2-Dienst über 500 verschiedene API-Methoden, und gelegentlich kommen neue hinzu. Jedes Unternehmen, das bedeutende Systeme auf einem CSP aufbaut, verwendet wahrscheinlich viele, viele verschiedene Dienste.
Obwohl ein Meisterwerk der Rechenzentrumsarchitektur, legt diese Wahl von Hunderten von Diensten und Konfigurationsoptionen die Last des Wissens, wie diese Dienste richtig zu nutzen sind, direkt auf uns Ingenieure. Infolgedessen müssen wir uns ständig auf dem Laufenden halten und über alle Dienstangebote oder Neuerungen lernen. Das kostet viel Zeit und geistige Energie. Als Entwickler kann es schwierig, zeitaufwändig und frustrierend sein, die AWS CLI zu verwenden, um 5 verschiedene API-Aufrufe zu tätigen, um beispielsweise einen AWS ECS-Cluster, seine Dienste, Aufgaben Definitionen, Aufgaben, Container Definitionen usw. zu beschreiben. Wir verlieren uns oft in Dokumentationen und müssen ein halbes Dutzend APIs verwenden, um Antworten auf Fragen wie "Was genau läuft in dieser VPC?" zu erhalten.
Das bedeutet, dass AWS, Azure und GCP selbst erfahrenen Cloud-Architekten schnell überwältigend vorkommen können. Während die CSPs hervorragend darin sind, die eigentlichen Dienste zu bauen, die unsere Unternehmen antreiben, wurden keine großen Fortschritte erzielt, um die tägliche UX des Abfragens dieser Hunderten von Dienste auf vernünftige Weise zu vereinfachen.
Neue Lösungen wie die Cloud Control API für AWS haben versucht, eine standardisierte Schnittstelle zum Abfragen vieler verschiedener Arten von AWS-Ressourcen zu schaffen. Leider ist die Nutzung der Cloud Control API stark eingeschränkt, und Benutzer müssen dennoch wissen, wie sie ihre Daten korrekt abfragen. Das bedeutet mehr Zeit mit dem Lesen von Dokumentation und dem Verständnis, wie Dienste funktionieren und miteinander zusammenhängen.
Obwohl die Modularität der CSP-APIs ein großartiges logisches Organisationssystem ist und Sinn ergibt, ist sie für Endbenutzer eine Belastung in Bezug auf den kognitiven Overhead und die Lernkurve. Sich daran zu erinnern, wie Hunderte von sich ständig ändernden Diensten funktionieren und verbunden sind, führt zu einer Koffeinsucht und Zeitverschwendung beim Detektivspielen.
Wäre es nicht großartig, wenn wir als DevOps/Cloud-Ingenieure eine einfachere Möglichkeit hätten, unsere Daten aus AWS, Azure, GCP und den anderen zu extrahieren? Eine, die unser Bedürfnis widerspiegelt, einfach alle Daten über jeden Dienst in jedem Konto abfragen zu können, ohne Stunden mit Dokumentation oder Stack Overflow zu verbringen?
Aus diesen Gründen haben wir CloudGraph entwickelt, die GraphQL-API für alles in der Cloud. CloudGraph extrahiert, normalisiert, verarbeitet und bereichert Ihre Cloud-Daten, sodass Sie mühelos tiefe Einblicke über mehrere Anbieter hinweg erhalten. Schauen Sie sich unseren Blogbeitrag The GraphQL API for everything an, um mehr zu erfahren.
Beachten Sie, dass CloudGraph NUR LESE-Berechtigungen benötigt und daher niemals Ihre tatsächliche Cloud-Infrastruktur verändern kann. Darüber hinaus werden keine Ihrer Cloud-Umgebungsinformationen jemals an CloudGraph, AutoCloud oder andere Dritte gesendet oder mit diesen geteilt.
Im Hintergrund kontaktiert CloudGraph Ihren Cloud-Anbieter, saugt alle Konfigurationsdaten auf, verarbeitet sie und speichert eine Kopie dieser Daten für Sie in Dgraph. Anschließend wird ein Endpunkt unter http://localhost:8997 bereitgestellt, der es Ihnen ermöglicht, GraphQL-Abfragen gegen Ihre gespeicherten Daten zu schreiben. Diese Abfragen ermöglichen nicht nur alles, was Sie mit dem AWS SDK/CLI tun würden, sondern auch viel leistungsfähigere Abfragen. CloudGraph wird mit vorverpackten GraphQL-Abfragetools wie GraphQL Playground und Altair ausgeliefert, aber Sie können auch Ihre eigenen verwenden. Es enthält auch ein Schema-Visualisierungstool namens Voyager, damit Sie die Beziehungen zwischen Entitäten verstehen können.
CloudGraph unterstützt derzeit AWS, Azure, GCP, K8s und Tencent (weitere folgen in Kürze). CloudGraph benötigt Leseberechtigungen, um Ihre Daten zu erfassen. Um es einfach zu halten, können Sie dieselben Berechtigungen verwenden, die wir intern verwenden, wenn wir CloudGraph zur Unterstützung von AutoCloud ausführen. Hier sind die Authentifizierungsanleitungen und Details zur Erstellung von Anmeldeinformationen für jeden Anbieter (fügen Sie gerne die AutoCloud-spezifische Konfiguration hinzu):
Systemvoraussetzungen
Es gibt 2 Möglichkeiten, die CloudGraph CLI zu installieren
Sie können CloudGraph mit Homebrew installieren, indem Sie den folgenden Befehl verwenden:
brew install cloudgraphdev/tap/cg
Verwenden Sie diesen Befehl, um CloudGraph zu installieren und auf die neueste Version zu aktualisieren.```bash npm i -g @cloudgraph/cli
<p align="center">
<a href="https://github.com/cloudgraphdev/cli/raw/main/docs/images/install.gif">
<img alt="install" src="https://raw.githubusercontent.com/cloudgraphdev/cli/main/docs/images/install.gif" width="95%" style="display: block; margin: auto"/>
</a>
</p>
<br/>
Sie können dann die gewünschten Anbieter hinzufügen (Links zu den Anbieter-Repos: [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
Sie können auch beliebig viele auf einmal hinzufügen.```bash cg init aws azure gcp k8s tencent
Und fügen Sie Compliance-Richtlinienpakete hinzu, um Ihre Daten mit sofortigen Sicherheitseinblicken zu ergänzen:```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
Sie finden eine Liste der derzeit unterstützten Policy Packs im Policy Packs repo
Sie können mit drei einfachen Befehlen loslegen:
cg init
Dies initialisiert die Konfiguration von CloudGraph. Dieser Befehl wird Ihnen eine Reihe von Fragen dazu stellen, welche Anbieter Sie verwenden und wie Sie CloudGraph konfigurieren möchten.
<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
cg launch.Beachten Sie, dass Sie, falls Sie diesen Befehl nicht verwenden möchten, z. B. wenn Sie den Dgraph-Container im interaktiven Modus starten möchten, den folgenden Docker-Befehl verwenden können.```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
---
<br/>```bash
cg scan
cg scan-Befehl ausgeführt wird. Diese werden in der Regel durch Berechtigungsprobleme verursacht. Wenn Sie jedoch auf problematische Fehler beim Ausführen von CloudGraph stoßen, können Sie CG_DEBUG=5 an den Anfang Ihres Befehls setzen, z.B. CG_DEBUG=5 cg scan. Dadurch werden die ausführlichen Protokolle mit weiteren Informationen ausgegeben und die Ausgabe in cg-debug.log gespeichert. Bitte teilen Sie uns Ihre Protokolle mit, indem Sie entweder ein Issue auf GitHub öffnen oder uns in unserem Slack Workspace Bescheid geben.Das war's, Sie können jetzt mit Abfragen beginnen! Das von Ihnen während des cg init-Befehls ausgewählte Abfragetool wird dann in Ihrem bevorzugten Browser geöffnet, um Abfragen, Mutationen und Visualisierungen für Ihre gesamte Cloud-Infrastruktur durchzuführen! Beachten Sie, dass wenn Sie Policy Packs wie AWS CIS 1.2 installiert haben, die Insight-Daten der Policy Packs automatisch zu Ihren Cloud-Daten hinzugefügt werden!
Beachten Sie, dass Sie auch jedes GraphQL-Abfragetool Ihrer Wahl verwenden können, indem Sie es mit http://localhost:8997/graphql verbinden.
Um die Dgraph-Instanz zu stoppen (den Dgraph-Container anhalten), führen Sie folgenden Befehl aus:
```bash
cg teardown
<br />
Wenn Sie den Container nach dem Stoppen entfernen möchten, führen Sie Folgendes aus:
<br />```bash
cg teardown --delete-image
CloudGraph speichert so viele vorherige Versionen Ihrer Daten, wie Sie im Befehl cg init konfiguriert haben. Um eine vorherige Version Ihrer Daten zu laden und abzufragen, führen Sie einfach den Befehl cg load aus und wählen die Version Ihrer Daten aus, die Sie wie folgt untersuchen möchten:
Sie finden die Liste der derzeit für jeden Anbieter unterstützten Dienste in den folgenden Anbieter-Repos:
Link zur vollständigen Dokumentation: https://docs.cloudgraph.dev/overview.
Um CloudGraph zu nutzen, müssen Sie mit GraphQL vertraut sein. Dieser Abschnitt enthält einige Beispielabfragen, um Ihnen den Einstieg zu erleichtern, ist aber keinesfalls vollständig. Wenn Sie es sich vorstellen können, können Sie es abfragen! Beachten Sie, dass Sie hunderte weitere Beispielabfragen in der Dokumentation finden.
Hinweis: Dieser Abschnitt konzentriert sich auf AWS, aber die gleichen Ideen gelten für andere Anbieter wie Azure und GCP
Um zu erklären, wie CloudGraph funktioniert, betrachten Sie die folgende Abfrage, die Sie ausführen können, um die ID und den ARN einer einzelnen EC2-Instanz zu erhalten. Beachten Sie, dass wir für diese Beispiele nur die IDs und ARNs von AWS-Ressourcen anfordern, um die Dinge kurz zu halten, aber Sie können beliebige Attribute abfragen:
```graphql
query {
getawsEc2(
arn: "arn:aws:ec2:us-east-1:123445678997:instance/i-12345567889012234"
) {
id
arn
}
}
<br />
Diese Abfrage gibt eine `JSON`-Nutzlast zurück, die folgendermaßen aussieht. Alle nachfolgenden Beispiele verfahren entsprechend:
<br />```json
{
"data": {
"getawsEc2": {
"id": "i-12345567889012234",
"arn": "arn:aws:ec2:us-east-1:123445678997:instance/i-12345567889012234"
}
},
"extensions": {
"touched_uids": 4
}
}
Holen Sie sich die ID und ARN jeder EC2 in allen AWS-Konten, die Sie gescannt haben:```graphql
query {
queryawsEc2 {
id
arn
}
}
<br />
Holen Sie sich die `ID` und `ARN` aller `EC2`-Instanzen in **einem** Ihrer AWS-Konten, indem Sie nach der accountId filtern:```graphql
query {
queryawsEc2(filter: { accountId: { eq: "123456" } }) {
id
arn
}
}
Rufen Sie die ID und ARN jedes EC2 in "us-east-1" mithilfe eines regulären Ausdrucks ab, um die ARN zu durchsuchen:```graphql
query {
queryawsEc2(filter: { arn: { regexp: "/.us-east-1./" } }) {
id
arn
}
}
<br />
Mach dasselbe, aber überprüfe, ob die `region` gleich `"us-east-1"` ist, anstatt einen regulären Ausdruck zu verwenden:```graphql
query {
queryawsEc2(filter: { region: { eq: "us-east-1" } }) {
id
arn
}
}
Mach dasselbe, aber überprüfe, ob die region den Namen "us-east-1" enthält anstatt eq zu verwenden:```graphql
query {
queryawsEc2(filter: { region: { in: "us-east-1" } }) {
id
arn
}
}
Holen Sie sich die `ID` und `ARN` jeder `M5`-Serie `EC2 instance` in `"us-east-1"````graphql
query {
queryawsEc2(
filter: { region: { eq: "us-east-1" }, instanceType: { regexp: "/^m5a*/" } }
) {
id
arn
}
}
Machen Sie dasselbe, überspringen Sie jedoch das erste gefundene Ergebnis (d.h. offset: 1) und geben Sie dann nur die ersten beiden Ergebnisse danach zurück (d.h. first: 2), und ordnen Sie diese Ergebnisse in aufsteigender Reihenfolge nach AZ (order: { asc: availabilityZone }), sodass Instanz(en) in "us-east-1a" oben in der Liste zurückgegeben werden.```graphql
query {
queryawsEc2(
filter: { region: { eq: "us-east-1" }, instanceType: { regexp: "/^m5a*/" } }
order: { asc: availabilityZone }
first: 2
offset: 1
) {
id
arn
}
}
<br />
Machen Sie dasselbe, schließen Sie aber auch das `EBS Volume` ein, das die Boot-Disk für jede `EC2 instance` ist:```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
}
}
}
Machen Sie dasselbe, aber schließen Sie auch die SGs und ALBs für jede EC2 ein. Für die ALBs rufen Sie die EC2s ab, mit denen sie verbunden sind, zusammen mit der ID und ARN jeder gefundenen EC2 instance (d.h. eine zirkuläre Abfrage).```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
}
}
}
}
<br />
Holen Sie sich jedes `VPC`, die `ALBs` und `Lambdas` in diesem `VPC`, sowie eine Reihe von verschachtelten Unterdaten. Holen Sie sich auch jeden `S3 Bucket` in `us-east-1`. Holen Sie sich auch die `SQS`-Queue mit einer `ARN` von `arn:aws:sqs:us-east-1:8499274828484:autocloud.fifo` und überprüfen Sie die `approximateNumberOfMessages`. Sie verstehen das Prinzip – CloudGraph ist **extrem** leistungsstark.```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
}
}
CloudGraph Policy Packs gewährleisten die Compliance über die vorhandene Infrastruktur eines bestimmten Cloud-Anbieters hinweg. Die Packs basieren auf Regelsätzen/Benchmarks, die von Sicherheitsorganisationen wie dem Center for Internet Security bereitgestellt werden, mit dem Ziel, Ihre Infrastruktur auf dem neuesten Stand der branchenüblichen Sicherheitsstandards zu halten. Sobald Sie ein Policy Pack mit dem Befehl cg policy add hinzugefügt haben (z. B. cg policy add aws-cis-1.2.0), führt CloudGraph bei jedem Scan automatisch Ihre konfigurierten Richtlinien aus. Diese Ergebnisse werden in Dgraph gespeichert und mit Ihren vorhandenen Ressourcen verknüpft, sodass Sie Ihre Compliance-Ergebnisse zusammen mit Ihren Ressourcen einfach abfragen können.
Weitere Informationen zu den derzeit verfügbaren Policy Packs finden Sie in unserem Policy Packs Repository
Verwenden Sie das CloudGraph Policy Pack für AWS CIS 1.2, um alle Ihre CIS-Ergebnisse für alle Ihre AWS-Konten abzufragen:```graphql query { queryawsCISFindings { id resourceId result rule { id description severity } } }
<br />
Wenn Sie auf einmal mehrere verschiedene Compliance-Feststellungen für einen bestimmten Anbieter wie AWS abfragen möchten, können Sie diese wie folgt anfordern:```graphql
query {
queryawsFindings {
CISFindings {
id
resourceId
result
rule {
id
description
severity
}
}
AutoCloudFindings {
id
resourceId
result
rule {
id
description
severity
}
}
}
}
Für jede CIS-Regel die zugehörigen Ressourcen abrufen. In diesem Fall fragen wir die IAM-Benutzerdaten ab, um zu sehen, welche bestehen und welche durchfallen:```graphql query { queryawsCISFindings { id resourceId result rule { id description severity } iamUser { id arn name } } }
<br />
Wenn Sie die CIS-Regeln verstehen möchten, die für einen bestimmten IAM User gelten, können Sie die folgende Abfrage verwenden:```graphql
query {
getawsIamUser(id: "123456789") {
name
CISFindings {
id
resourceId
result
rule {
id
description
severity
}
}
}
}
Auch wenn Sie keine Policy-Pakete installiert haben, können Sie trotzdem leistungsstarke Sicherheitsabfragen wie diese schreiben, um alle unverschlüsselten EBS Volumes zu finden:```graphql
query {
queryawsEbs(filter: { encrypted: false }) {
id
arn
availabilityZone
encrypted
}
}
<br />
Finde alle öffentlichen `S3 Buckets`:```graphql
query {
queryawsS3(filter: { access: { eq: "Public" } }) {
id
arn
access
}
}
Finden Sie alle S3 Buckets, die selbst öffentlich sind oder in denen Objekte öffentlich sein können:```graphql
query {
queryawsS3(filter: { not: { access: { eq: "Private" } } }) {
id
arn
access
}
}
<br />
Finde alle `KMS`-Schlüssel in `"us-east-1"`:```graphql
query {
queryawsKms(filter: { arn: { regexp: "/.*us-east-1.*/" } }) {
id
arn
description
keyRotationEnabled
tags {
key
value
}
}
}
Finde alle burstable T-Serien-Instanzen:```graphql
query {
queryawsEc2(filter: { instanceType: { regexp: "/^t.*/" } }) {
id
arn
availabilityZone
instanceType
}
}
<br />
Finden Sie die Standard-`VPCs`:```graphql
query {
queryawsVpc(filter: { defaultVpc: true }) {
id
arn
defaultVpc
state
}
}
Finde die öffentlichen ALBs:```graphql
query {
queryawsAlb(filter: { scheme: { eq: "internet-facing" } }) {
id
arn
dnsName
createdAt
tags {
key
value
}
}
}
<br />
Finden Sie alle `EC2s`, `Lambdas` und `VPCs`, die einen `Tag`-Wert von `"Production"` haben:```graphql
query {
queryawsTag(filter: { value: { eq: "Production" } }) {
key
value
ec2Instance {
id
arn
}
lambda {
id
arn
}
vpc {
id
arn
}
}
}
Mach dasselbe, suche aber sowohl nach einem key als auch nach einem value:```graphql
query {
queryawsTag(
filter: { key: { eq: "Environment" }, value: { eq: "Production" } }
) {
key
value
ec2Instance {
id
arn
}
lambda {
id
arn
}
vpc {
id
arn
}
}
}
<br />
Machen Sie dasselbe mit `getawsTag` anstelle von `queryawsTag`. Beachten Sie, dass Sie beim Suchen nach Tags mit `getawsTag` **sowohl** den `key` als auch den `value` als `id` angeben müssen, wie unten mit `"Environment:Production"` gezeigt:```graphql
query {
getawsTag(id: "Environment:Production") {
key
value
ec2Instance {
id
arn
}
lambda {
id
arn
}
vpc {
id
arn
}
}
}
Beachten Sie, dass Abrechnungsdaten derzeit nur für AWS verfügbar sind. Um FinOps-bezogene Daten erfolgreich zu erfassen, müssen Sie die Cost Explorer API in Ihrem AWS-Konto aktiviert haben. So aktivieren Sie diese
Ermitteln Sie die Gesamtkosten Ihres AWS-Kontos für die letzten 30 Tage, die Gesamtkosten Ihres AWS-Kontos Monat bis heute, eine Aufschlüsselung der einzelnen Dienste und deren Kosten für die letzten 30 Tage sowie eine Aufschlüsselung der einzelnen Dienste und deren Kosten Monat bis heute sowie die durchschnittlichen Kosten monatlich und Monat bis heute:```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
}
}
}
<br />
Diese Abfrage gibt eine `JSON`-Nutzlast zurück, die wie folgt aussieht:```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
}
}
Erhalten Sie jede EC2-Instanz in Ihrem AWS-Konto zusammen mit ihren täglichen Kosten:```graphql query { queryawsEc2 { arn dailyCost { cost currency formattedCost } } }
<br />
Diese Abfrage gibt eine `JSON`-Nutzlast zurück, die so aussieht. Alle folgenden Beispiele werden diesem Muster folgen:```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
}
}
Holen Sie sich jedes NAT Gateway in Ihrem AWS-Konto zusammen mit seinen täglichen Kosten:```graphql
query {
queryawsNatGateway {
arn
dailyCost {
cost
currency
formattedCost
}
}
}
<br />
## AWS CloudWatch Beispiel:
CloudGraph erfasst Ihre CloudWatch-Metrikdaten und speichert sie zusammen mit ausgewählten AWS-Diensten. Diese Funktion befindet sich derzeit in der Beta-Phase und funktioniert nur für 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
}
}
}
}
Wenn Sie "in Bezug auf einen Graphen" denken, können Sie mit CloudGraph fast alles machen. Nehmen Sie zum Beispiel an, Sie möchten wissen, welche Lamba-Funktionen nicht zu einem VPC gehören (d.h. sie nutzen keine VPC-Netzwerke). Da CloudGraph alle Ressourcen verbindet, die Beziehungen haben, wie z.B. VPC-Eltern mit ihren Lambda-Kindern, können Sie diese Frage leicht beantworten. Überprüfen Sie einfach, mit welchen Lambda-Funktionen der VPC "verbunden" ist, und vergleichen Sie das mit der Liste aller Lambda-Funktionen wie folgt:```graphql query { queryawsVpc { id arn lambda { id arn } } queryawsLambda { id arn } }
<br />
## Einschränkungen
<br />
Heute besteht die größte Einschränkung von CloudGraph und unseren Abfragefähigkeiten darin, dass wir keine verschachtelte Filterung basierend auf Kindattributen unterstützen. So ist es zum Beispiel, so cool es auch wäre, Folgendes zu tun, noch nicht möglich:
<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
}
}
}
Dies ist eigentlich keine Einschränkung von CloudGraph, sondern eine Funktion, die noch mit Dgraph implementiert werden muss. Hier kannst du den Diskussionsfaden ansehen und kommentieren
CloudGraph wird mit zwei großartigen Abfragetools und einem GraphQL-Schema-Explorer ausgeliefert. Denk daran, du kannst JEDES GraphQL-Abfragetool verwenden, wenn du eine andere Option bevorzugst, verbinde es einfach mit deinem exponierten /graphql-Endpunkt!
GraphQL Playground bietet eine flüssige und ansprechende Benutzeroberfläche, die sich hervorragend zum schnellen und einfachen Abfragen eines GraphQL-Schemas eignet. Es verfügt über eine integrierte automatisch generierte Dokumentation und Autovervollständigung während der Eingabe. Um auf den Playground zuzugreifen, wähle ihn entweder im init-Befehl als dein bevorzugtes Abfragetool aus oder rufe /playground im Server auf, den CG startet.
Altair ist ein weiteres großartiges GraphQL-Abfragetool, das eine Menge Funktionen für Power-User bietet. Du kannst Abfragen automatisch vervollständigen, dynamisch Fragmente hinzufügen und Sammlungen von Abfragen importieren/exportieren. Um auf Altair zuzugreifen, wähle es entweder im init-Befehl als dein bevorzugtes Abfragetool aus oder rufe /altair im Server auf, den CG startet.
GraphQL Voyager ist eine hervorragende Möglichkeit, die Schemas deiner CG-Anbieter zu erkunden. Es bietet eine großartige bidirektionale Grafik, die alle Typen und Abfragen enthält. Du kannst auf Entitäten oder Pfeile klicken, um Verbindungen zu entdecken, nach etwas Bestimmtem zu suchen und ein tieferes Verständnis deines Schemas zu erlangen. Um auf den Voyager zuzugreifen, rufe /voyager im Server auf, den CG startet.
Kommentare, Fragen oder Feedback? Bitte trete unserem Slack Workspace bei, wir freuen uns, von dir zu hören.
Wenn du daran interessiert bist, zu CloudGraph beizutragen, schau dir bitte unsere Beitragsrichtlinien an.
Du kannst CloudGraph entweder lokal ausführen oder in deiner Cloud-Umgebung deiner Wahl bereitstellen. Terraform-Module und Anleitungen für Cloud-Bereitstellungen sind in Kürze verfügbar!
Interessiert an einer vollständig verwalteten SaaS/selbst gehosteten Version von CloudGraph mit integrierter 3D-Visualisierung, automatisierten Scans und Hunderten zusätzlicher Compliance-Prüfungen? Sieh dir AutoCloud für weitere Details an.
Wenn du beim Ausführen von CloudGraph auf Fehler stößt, kannst du am Anfang deines Befehls CG_DEBUG=5 voranstellen, z. B. CG_DEBUG=5 cg scan. Dadurch werden die ausführlichen Protokolle mit mehr Informationen ausgegeben, die du dann verwenden kannst, um entweder ein Issue auf GitHub zu öffnen oder uns in unserem Slack Workspace Bescheid zu geben.
Es gibt einige häufige Fehler, die dir beim Ausführen von CloudGraph begegnen können und die normalerweise mit Berechtigungs- oder Verbindungsproblemen zusammenhängen.
⚠️ unable to make some connections – Diese Warnung im Scanbericht erscheint, wenn CG versucht, eine Verbindung zwischen zwei Ressourcen herzustellen und dies nicht gelingt. Wenn du dies bei einem der offiziell unterstützten Anbieter von CG siehst, erstelle bitte ein neues Issue, damit wir es lösen können. Die häufigste Ursache für diesen Fehler ist ein Fehler in der zugrunde liegenden Ressourcenverbindungslogik des Anbieters.
🚫 unable to store data in Dgraph – Dieser Fehler im Scanbericht erscheint, wenn CG versucht, einige Cloud-Anbieterdaten in die Graph-Datenbank einzufügen und dies fehlschlägt. Dienste mit diesem Fehler können im GraphQL-Abfragetool nicht abgefragt werden. Dies tritt normalerweise auf, wenn CG aufgrund eines Fehlers beim Aufruf des Anbieter-SDKs (häufig aufgrund fehlender Autorisierung) keine erforderlichen Daten (wie eine ARN) für eine Ressource abrufen kann.
Anbieter {name}@${version} erfordert Cli-Version {version}, aber die Cli-Version ist ${version} – Diese Warnung bedeutet, dass du inkompatible Versionen von CG und dem verwendeten Anbieter hast. Versuche, CG zu aktualisieren (npm install -g @cloudgraphdev/cli) und das Anbietermodul mit cg provider update, damit beide auf dem neuesten Stand sind. Du kannst auch die package.json des Anbieters überprüfen, um zu sehen, welche Versionen von CG ihn unterstützen.
Manager failed to install plugin for {provider} – Dieser Fehler tritt auf, wenn der Plugin-Manager von CG das gewünschte Anbietermodul nicht finden kann. Der Manager durchsucht das öffentliche NPM-Register nach dem Anbietermodul. Für offiziell unterstützte Anbieter übergib einfach den Anbieternamen CG init aws. Für Community-unterstützte Anbieter musst du auch den Namensraum übergeben: 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]Hilfe für cg anzeigen.``` 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.
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.12/src/commands/help.ts)_
## `cg init [PROVIDER]`
Legen Sie die Erstkonfiguration für Provider fest.```
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]
Siehe Code: src/commands/init.ts
cg launch [PROVIDER]Starte eine Instanz von Dgraph, um Daten zu speichern.``` 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
_Siehe Code: [src/commands/launch.ts](https://github.com/cloudgraphdev/cli/blob/v0.25.1/src/commands/launch.ts)_
## `cg load [PROVIDER]`
Lade eine bestimmte Version deiner CloudGraph-Daten```
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]
See code: src/commands/load.ts
cg policy [PROVIDER]Befehle zum Verwalten von Policy-Pack-Modulen, führen Sie $ cg policy für weitere Informationen aus.``` 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.
_Siehe Code: [src/commands/policy/index.ts](https://github.com/cloudgraphdev/cli/blob/v0.25.1/src/commands/policy/index.ts)_
## `cg policy add [PROVIDER]`
Neue Policy-Packs hinzufügen```
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]Installiere Richtlinienpakete basierend auf der Sperrdatei``` 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
## `cg policy list [PROVIDER]`
Liste der aktuell installierten Policy-Pakete und Versionen```
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]Entfernt das derzeit installierte Richtlinienpaket``` 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
## `cg policy update [PROVIDER]`
Aktualisiert aktuell installierte Policy-Pakete```
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]Befehle zur Verwaltung von Provider-Modulen, führen Sie $ cg provider für weitere Informationen aus.``` 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.
_Siehe Code: [src/commands/provider/index.ts](https://github.com/cloudgraphdev/cli/blob/v0.25.1/src/commands/provider/index.ts)_
## `cg provider add [PROVIDER]`
Neue Provider hinzufügen```
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]Installiert Provider basierend auf der Lock-Datei``` 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
## `cg provider list [PROVIDER]`
Listet aktuell installierte Anbieter und Versionen auf```
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]Entferne aktuell installierten Anbieter``` 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
## `cg provider update [PROVIDER]`
Aktualisiert aktuell installierte Anbieter```
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]Scannen Sie Daten von einem oder mehreren Anbietern zur Abfrage über 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]
_See code: [src/commands/scan.ts](https://github.com/cloudgraphdev/cli/blob/v0.25.1/src/commands/scan.ts)_
## `cg serve [PROVIDER]`
Stellen Sie ein GraphQL-Abfragetool bereit, um Ihre CloudGraph-Daten abzufragen.```
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
Siehe Code: src/commands/serve.ts
cg teardown [PROVIDER]Stoppt den Dgraph Docker-Container.``` 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
_Siehe Code: [src/commands/teardown.ts](https://github.com/cloudgraphdev/cli/blob/v0.25.1/src/commands/teardown.ts)_
## `cg update [PROVIDER]`
Aktualisiere aktuell installierte Plugins.```
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
Siehe Code: src/commands/update.ts