Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cli — أداة GraphQL API وCSPM العالمية لـ AWS، Azure، GCP، K8s، وtencent. | Kitploit
أدوات/GitHubGitHub/cloudgraphdev/cli
أمن البنية التحتية السحابيةماسحات الثغرات الأمنيةتدقيق التكوينأمن السحابةDevSecOpsأمن واجهات برمجة التطبيقات
GitHubcloudgraphdev/cli

cli

أداة GraphQL API وCSPM العالمية لـ AWS، Azure، GCP، K8s، وtencent.

عرض المستودع
88842منذ 3 سنواتتمت المراجعة من قبل 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 مع إنتاج AWS)
  • بيانات الفوترة المحسنة (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

  • Amazing companies using CloudGraph**
  • Why CloudGraph
  • How It Works
  • Authentication and Permissions
  • Install
  • Quick Start
  • Loading Previous Versions
  • Supported Services
  • Example Queries
  • Query Tools
  • Community
  • Contribution Guidelines
  • Deployment Options
  • Hosted Version
  • Debugging
  • Common Errors
  • Commands

Amazing companies using CloudGraph**

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

** الاستخدام لا يعني التأييد

Why CloudGraph

قامت AWS و Azure و GPC بعمل رائع في بناء حلول تتيح للمهندسين مثلنا إنشاء أنظمة لتشغيل عالمنا المترابط بشكل متزايد. على مدى السنوات الخمس عشرة الماضية، غيرت منتجات مثل EC2 و S3 و RDS و Lambda بشكل أساسي كيفية تفكيرنا في الحوسبة والتخزين وقواعد البيانات.


مع انتشار Kubernetes و Serverless في السنوات الخمس الأخيرة تقريبًا، أصبحت الخدمات السحابية مجردة بشكل متزايد فوق أرفف الخوادم المادية. بالنسبة للمستخدمين النهائيين، كل شيء على السحابة هو مجرد API، لذلك لا نحتاج بالضرورة إلى معرفة كيفية عمل Lambda Functions أو EKS تحت الغطاء لنتمكن من استخدامها لبناء التطبيقات. مع القليل من التوثيق، والوصول إلى API أو وحدة التحكم، والبرنامج التعليمي، يمكن لأي شخص إلى حد كبير إنشاء أي شيء يحتاجه.


أدت هذه التجريدات إلى تحسينات هائلة في الراحة العامة ونطاق عروض خدمات CSP. ما كان في السابق عملية شاقة وتستغرق وقتًا طويلاً وعرضة للخطأ لتوفير خوادم جديدة أو قواعد بيانات أو أنظمة ملفات يمكن الآن القيام به في ثوانٍ بمجرد النقر فوق زر أو نشر IAC. نظرًا لأن كل شيء هو مجرد تجريد API، فعندما يكون CAP جاهزًا لتقديم "منتج" جديد، فإنهم ببساطة يحتاجون إلى كشف API جديد - نعم، أنا بالطبع أبسط الأمر قليلاً :)


أي شخص على دراية بـ CSPs يعرف أن واجهات برمجة تطبيقات الخدمة غالبًا ما تكون مقسمة إلى مساحات أسماء معيارية تحتوي على عشرات، إن لم يكن المئات، من طرق API منفصلة لموارد فردية. على سبيل المثال، تحتوي خدمة AWS EC2 على أكثر من 500 طريقة API مختلفة، مع إضافة طرق جديدة بين الحين والآخر. أي شركة تبني أنظمة كبيرة على CSP من المحتمل أن تستخدم العديد والعديد من الخدمات المختلفة.


على الرغم من أنها تحفة معمارية لمركز البيانات، إلا أن هذا الاختيار لمئات الخدمات وخيارات التكوين يضع عبء المعرفة حول كيفية استخدام هذه الخدمات بشكل صحيح على عاتقنا نحن المهندسين. نتيجة لذلك، نجد أنفسنا مضطرين إلى البقاء على اطلاع دائم بالخدمات الجديدة أو التغييرات. وهذا يتطلب قدرًا كبيرًا من الوقت والطاقة العقلية. كمطورين، قد يكون من الصعب والمستهلك للوقت والمحبط استخدام AWS CLI لإجراء 5 مكالمات API مختلفة لوصف، على سبيل المثال، مجموعة ECS AWS، وخدماتها، وتعريفات المهام، والمهام، وتعريفات الحاويات، إلخ. غالبًا ما نجد أنفسنا ضائعين في التوثيق ونضطر إلى استخدام نصف دستة من واجهات برمجة التطبيقات للحصول على إجابات لأسئلة مثل "ما الذي يعمل بالضبط في هذا VPC؟"


هذا يعني أن AWS و Azure و GCP يمكن أن تصبح ساحقة بسرعة حتى لمهندسي السحابة المتمرسين. بينما تتفوق CSPs في بناء الخدمات الفعلية التي تشغل أعمالنا، لم يتم إحراز تقدم كبير في تبسيط تجربة المستخدم اليومية للاستعلام عن هذه المئات من الخدمات بطريقة منطقية.


حاولت حلول جديدة مثل Cloud Control API لـ AWS إنشاء واجهة موحدة للاستعلام عن العديد من أنواع موارد AWS المختلفة. لسوء الحظ، استخدام Cloud Control API محدود بشدة، ولا يزال المستخدمون بحاجة إلى معرفة كيفية الاستعلام عن بياناتهم بشكل صحيح. وهذا يعني المزيد من الوقت المستغرق في قراءة التوثيق وفهم كيفية عمل الخدمات وعلاقتها ببعضها البعض.


بينما تعتبر نمطية واجهات برمجة تطبيقات CSP نظامًا تنظيميًا منطقيًا رائعًا ولها معنى، إلا أنها تشكل عبئًا على المستخدمين النهائيين من حيث العبء المعرفي ومنحنى التعلم. الاضطرار إلى تذكر كيفية عمل مئات الخدمات المتغيرة باستمرار وكيفية ارتباطها يؤدي إلى إدمان الكافيين وإضاعة الوقت في لعب دور المباحث.


ألن يكون رائعًا لو كان لدينا كمهندسي DevOps/Cloud طريقة أبسط لاستخراج بياناتنا من AWS و Azure و GCP وغيرها؟ طريقة تعكس حاجتنا إلى الاستعلام بسهولة عن أي بيانات حول أي خدمة في أي حساب دون الحاجة إلى قضاء ساعات في التوثيق أو Stack Overflow؟


لهذه الأسباب قمنا ببناء CloudGraph، واجهة GraphQL API لكل شيء سحابي. يقوم CloudGraph باستخراج بياناتك السحابية وتطبيعها ومعالجتها وإثرائها مما يسمح لك بالوصول إلى رؤى عميقة عبر موفري متعددين بجهد ضئيل. اطلع على مقالنا The GraphQL API for everything لمعرفة المزيد.

استعلامات مثال


How It Works

لاحظ أن CloudGraph يتطلب أذونات للقراءة فقط للتشغيل، وبالتالي لا يمكنه أبدًا تعديل البنية التحتية السحابية الفعلية الخاصة بك. بالإضافة إلى ذلك، لا يتم أبدًا إرسال أي معلومات عن بيئتك السحابية إلى CloudGraph أو AutoCloud أو أي طرف ثالث آخر أو مشاركتها معهم.


تحت الغطاء، يتصل CloudGraph بمزود (مزودي) السحابة الخاص بك، ويسحب جميع بيانات التكوين، ويعالجها، ويخزن نسخة من هذه البيانات لك في Dgraph. ثم يعرض نقطة نهاية على http://localhost:8997 تتيح لك كتابة استعلامات GraphQL مقابل بياناتك المخزنة. لا تسمح لك هذه الاستعلامات بفعل أي شيء يمكنك فعله باستخدام AWS SDK/CLI فحسب، بل تسمح لك أيضًا بتشغيل استعلامات أكثر قوة. يأتي CloudGraph مزودًا بأدوات استعلام GraphQL جاهزة بما في ذلك GraphQL Playground و Altair ولكن يمكنك أيضًا استخدام أدواتك الخاصة. كما يتضمن أداة تصور للمخطط تسمى Voyager حتى تتمكن من فهم العلاقات بين الكيانات.


Authentication and Permissions

يدعم CloudGraph حاليًا AWS و Azure و GCP و K8s و Tencent (عدة مزودين آخرين قادمون قريبًا). يحتاج CloudGraph إلى أذونات القراءة من أجل استيعاب بياناتك. لتسهيل الأمور، يمكنك استخدام نفس الأذونات التي نستخدمها داخليًا عند تشغيل CloudGraph لتشغيل AutoCloud. فيما يلي أدلة المصادقة والتفاصيل حول كيفية إنشاء بيانات الاعتماد لكل مزود (لا تتردد في ترك التكوين الخاص بـ AutoCloud):


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

Install

متطلبات النظام

  • Docker

هناك طريقتان لتثبيت CloudGraph CLI

Homebrew (موصى به)

يمكنك تثبيت CloudGraph باستخدام homebrew باستخدام الأمر التالي: brew install cloudgraphdev/tap/cg

NPM

  • يتطلب Node 16+

استخدم هذا الأمر لتثبيت CloudGraph وتحديثه إلى أحدث إصدار.```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="install" 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

يمكنك العثور على قائمة بحزم السياسات المدعومة حاليًا في مستودع حزم السياسات


بداية سريعة

يمكنك البدء والتشغيل بثلاثة أوامر بسيطة:


```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 لتخزين البيانات تحت الغطاء. لاحظ أن هناك طريقتين لتشغيل مثيل. كلا هاتين الطريقتين تتطلبان تثبيت 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. يُرجى مشاركة سجلاتك معنا إما عن طريق فتح مشكلة على GitHub أو إخبارنا في مساحة Slack الخاصة بنا.

مسح

هذا كل شيء، أنت جاهز لبدء الاستعلام! سيتم فتح أداة الاستعلام التي اخترتها أثناء الأمر cg init في متصفحك المفضل لتشغيل الاستعلامات والتحويرات والمرئيات على كل بنيتك التحتية السحابية! لاحظ أنه إذا قمت بتثبيت أي حزم سياسات، مثل 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

مستودع مزود Azure

مستودع مزود GCP

مستودع مزود K8s


استعلامات نموذجية

رابط التوثيق الكامل: https://docs.cloudgraph.dev/overview.

لاستخدام CloudGraph، ستحتاج إلى أن تكون على دراية بـ GraphQL. يحتوي هذا القسم على مجموعة من الاستعلامات النموذجية لمساعدتك على البدء، لكنها ليست شاملة بأي حال من الأحوال. إذا كان بإمكانك تخيله، يمكنك الاستعلام عنه! لاحظ أنه يمكنك العثور على مئات الاستعلامات النموذجية الإضافية في التوثيق.


أمثلة على بناء جملة الاستعلام الأساسي:

ملاحظة: سيركز هذا القسم على AWS، لكن نفس الأفكار تنطبق على مزودين آخرين مثل Azure وGCP

لشرح كيفية عمل CloudGraph، ضع في اعتبارك الاستعلام التالي الذي يمكنك تشغيله للحصول على ID وARN لمثيل EC2 واحد. لاحظ أنه لأغراض هذه الأمثلة، سنطلب فقط IDs وARNs لموارد 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\" باستخدام regex للبحث في ARN:```graphql query { queryawsEc2(filter: { arn: { regexp: "/.us-east-1./" } }) { id arn } }

root@kitploit:~
<br />

افعل الشيء نفسه ولكن مع التحقق من أن `region` يساوي `"us-east-1"` بدلاً من استخدام regex:```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، احصل على EC2s المتصلة بها بالإضافة إلى 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:

تضمن حزم سياسات CloudGraph الامتثال عبر البنية التحتية الحالية لمزود سحابي معين. تستند الحزم إلى مجموعات من القواعد/المعايير التي توفرها مؤسسات أمنية مثل مركز أمان الإنترنت بهدف الحفاظ على بنيتك التحتية محدثة وفقًا لمعايير الأمان الصناعية. بمجرد إضافة حزمة سياسات باستخدام الأمر cg policy add (أي cg policy add aws-cis-1.2.0)، في كل مرة تقوم فيها بتشغيل فحص، سينفذ CloudGraph تلقائيًا السياسات التي قمت بتكوينها. سيتم تخزين هذه النتائج في Dgraph وربطها بمواردك الحالية، مما يسهل الاستعلام عن نتائج الامتثال إلى جانب مواردك.

لمزيد من المعلومات حول حزم السياسات المتاحة حاليًا، يرجى زيارة مستودع حزم السياسات


استخدم حزمة سياسات 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 التي هي نفسها عامة أو يمكن أن تحتوي على Objects عامة فيها:```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 القابلة للانفجار:```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 بنجاح، يجب أن يكون لديك واجهة برمجة تطبيقات Cost Explorer API ممكّنة في حساب AWS الخاص بك. يمكنك الاطلاع على كيفية القيام بذلك هنا


احصل على 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:```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 Metric وتخزينها مع خدمات 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 رائعة أخرى تحتوي على الكثير من الميزات للمستخدمين المتقدمين. يمكنك القيام بأشياء مثل الإكمال التلقائي للاستعلامات، وإضافة الأجزاء (fragments) ديناميكيًا، وتصدير/استيراد مجموعات من الاستعلامات. للوصول إلى Altair، إما أن تحدده كأداة الاستعلام المفضلة لديك في أمر init أو قم بزيارة /altair في الخادم الذي يشتغله CG.


gqlAltair


Voyager

GraphQL Voyager هي طريقة رائعة لاستكشاف المخططات (schemas) لمزودي CG. يمنحك رسمًا بيانيًا ثنائي الاتجاه رائعًا يحتوي على جميع أنواعك واستعلاماتك. يمكنك النقر على الكيانات أو الأسهم لاكتشاف الاتصالات، والبحث عن شيء محدد، والحصول على فهم أعمق لمخططك. للوصول إلى Voyager، قم بزيارة /voyager في الخادم الذي يشتغله CG.


voyager


المجتمع


تعليقات أو أسئلة أو ملاحظات؟ يرجى الانضمام إلى مساحة عمل Slack الخاصة بنا يسعدنا سماع رأيك.


إرشادات المساهمة

إذا كنت مهتمًا بالمساهمة في CloudGraph، فيرجى مراجعة إرشادات المساهمة.


خيارات النشر

يمكنك إما تشغيل CloudGraph محليًا، أو نشره على مزود السحابة الذي تختاره. قوالب Terraform وأدلة النشر السحابي قادمة قريبًا!


الإصدار المستضاف

هل أنت مهتم بإصدار مُدار بالكامل (SaaS) أو مستضاف ذاتيًا من CloudGraph مع قدرات تصور ثلاثية الأبعاد مدمجة، ومسح تلقائي، ومئات الفحوصات الإضافية للامتثال؟ تحقق من AutoCloud لمزيد من التفاصيل.


autocloud

تصحيح الأخطاء

إذا واجهت أي أخطاء أثناء تشغيل CloudGraph، يمكنك إضافة CG_DEBUG=5 في بداية أمرك مثل: CG_DEBUG=5 cg scan. سيؤدي ذلك إلى طباعة السجلات المفصلة مع مزيد من المعلومات التي يمكنك استخدامها إما لفتح مشكلة على GitHub أو إعلامنا في مساحة عمل Slack.


الأخطاء الشائعة

هناك بعض الأخطاء الشائعة التي قد تراها عند تشغيل CloudGraph والتي ترتبط عادةً بمشاكل الأذونات أو الاتصال.

  • ⚠️ تعذر إجراء بعض الاتصالات - يظهر هذا التحذير في تقرير المسح عندما يحاول CG إجراء اتصال بين مصدرين ولا يتمكن من ذلك. إذا رأيت هذا باستخدام أحد المزودين المدعومين رسميًا من CG، فيرجى إنشاء مشكلة جديدة حتى نتمكن من حلها. السبب الأكثر شيوعًا لهذا الخطأ هو خلل في منطق اتصال الموارد الخاص بالمزود الأساسي.

  • 🚫 تعذر تخزين البيانات في Dgraph - يظهر هذا الخطأ في تقرير المسح عندما يحاول CG إدراج بعض بيانات مزود السحابة في قاعدة بيانات الرسم البياني ويفشل. لن تتمكن أي خدمات بها هذا الخطأ من الاستعلام عنها في أداة استعلام GraphQL. يحدث هذا عادةً عندما لا يتمكن CG من الحصول على البيانات المطلوبة (مثل arn) لمورد ما بسبب خطأ عند استدعاء SDK الخاص بالمزود، غالبًا بسبب نقص التفويض.

  • يتطلب المزود {name}@${version} إصدار CLI {version} ولكن إصدار CLI هو ${version} - يعني هذا التحذير أن لديك إصدارات غير متوافقة من CG والمزود الذي تحاول استخدامه. حاول تحديث CG npm install -g @cloudgraphdev/cli ووحدة المزود cg provider update حتى يصبح كلاهما في أحدث إصدار. يمكنك أيضًا التحقق من ملف pacakge.json الخاص بالمزود لمعرفة إصدارات CG التي تدعمه.

  • فشل المدير في تثبيت البرنامج الإضافي لـ {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:~
_See code: [@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]

أوامر لإدارة وحدات 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

See code: 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]