
AWS, Azure, GCP, K8s और Tencent के लिए सार्वभौमिक GraphQL API और CSPM उपकरण।
CloudGraph एक मुफ्त ओपन-सोर्स सार्वभौमिक GraphQL API और क्लाउड सुरक्षा मुद्रा प्रबंधन (CSPM) टूल है जो AWS, Azure, GCP और K8s के लिए है। CloudGraph के साथ आपको मिलते हैं:
Cloud Graph आपको अपने क्लाउड को जानने में 5 मिनट का समय देता है। ❤️ AutoCloud ❤️ टीम द्वारा प्यार से निर्मित और अनुरक्षित।
🌐 वेबसाइट
💰 CloudGraph प्रदाता बनाने के लिए भुगतान प्राप्त करें
** उपयोग का अर्थ समर्थन नहीं है
AWS, Azure और GCP ने ऐसे समाधान बनाने का अद्भुत काम किया है जो हमारे जैसे इंजीनियरों को हमारी तेजी से परस्पर जुड़ती दुनिया को शक्ति प्रदान करने वाली प्रणालियाँ बनाने की अनुमति देते हैं। पिछले 15 वर्षों में, EC2, S3, RDS और Lambda जैसे उत्पादों ने मौलिक रूप से बदल दिया है कि हम कंप्यूटिंग, स्टोरेज और डेटाबेसिंग के बारे में कैसे सोचते हैं।
पिछले लगभग 5 वर्षों में Kubernetes और सर्वरलेस के प्रसार के साथ, क्लाउड सेवाएं भौतिक सर्वरों के रैक के ऊपर तेजी से अमूर्त हो गई हैं। अंतिम-उपयोगकर्ताओं के लिए, क्लाउड पर सब कुछ सिर्फ एक API है, इसलिए हमें जरूरी नहीं कि यह जानना हो कि Lambda Functions या EKS अंडर द हुड कैसे काम करते हैं ताकि हम उन्हें एप्लिकेशन बनाने के लिए उपयोग कर सकें। थोड़े से दस्तावेज़ीकरण, API या कंसोल एक्सेस और एक ट्यूटोरियल के साथ कोई भी लगभग कुछ भी बना सकता है जिसकी उन्हें आवश्यकता है।
इन अमूर्तताओं ने CSP सेवा प्रस्तावों की समग्र सुविधा और दायरे में बड़े पैमाने पर सुधार किए हैं। जो एक बार नए सर्वर, डेटाबेस या फाइलसिस्टम प्रावधान करने की एक श्रमसाध्य, समय लेने वाली और त्रुटि-प्रवण प्रक्रिया थी, वह अब सेकंड में एक बटन क्लिक या IAC की तैनाती से की जा सकती है। चूंकि सब कुछ सिर्फ एक API अमूर्तता है, जब एक CAP एक नया "उत्पाद" पेश करने के लिए तैयार होता है तो उन्हें बस एक नया API उजागर करने की आवश्यकता होती है - हाँ, मैं निश्चित रूप से थोड़ा सरलीकरण कर रहा हूं :)
CSPs से परिचित कोई भी व्यक्ति जानता है कि सेवा APIs लगभग हमेशा मॉड्यूलर नामस्थानों में विभाजित होती हैं जिनमें दर्जनों, यदि सैकड़ों नहीं, तो एकल संसाधनों के लिए अलग-अलग API विधियाँ होती हैं। उदाहरण के लिए, AWS EC2 सेवा में 500 से अधिक विभिन्न API विधियाँ हैं, जिनमें कभी-कभी नए जोड़े जाते हैं। कोई भी कंपनी जो किसी CSP पर बड़ी प्रणालियाँ बना रही है, संभवतः कई, कई अलग-अलग सेवाओं का उपयोग कर रही है।
डेटासेंटर आर्किटेक्चर की एक उत्कृष्ट कृति होने के बावजूद, सैकड़ों सेवाओं और कॉन्फ़िगरेशन विकल्पों के इस चयन ने इन सेवाओं का सही उपयोग करने के ज्ञान का बोझ हम इंजीनियरों पर डाल दिया है। परिणामस्वरूप, हम खुद को लगातार अपडेट रहने और सभी सेवा प्रस्तावों या नए बदलावों के बारे में सीखने के लिए मजबूर पाते हैं। इसमें काफी समय और मानसिक ऊर्जा लगती है। डेवलपर्स के रूप में, उदाहरण के लिए, AWS ECS क्लस्टर, इसकी सेवाओं, टास्क डेफिनिशन, टास्क, कंटेनर डेफिनिशन आदि का वर्णन करने के लिए AWS CLI का उपयोग करके 5 अलग-अलग API कॉल करना कठिन, समय लेने वाला और निराशाजनक हो सकता है। हम अक्सर खुद को दस्तावेज़ीकरण में खोया हुआ पाते हैं और "इस VPC में वास्तव में क्या चल रहा है?" जैसे सवालों के जवाब पाने के लिए आधा दर्जन APIs का उपयोग करना पड़ता है।
इसका मतलब है कि AWS, Azure और GCP अनुभवी क्लाउड आर्किटेक्ट्स के लिए भी जल्दी से भारी लग सकते हैं। जबकि CSPs हमारे व्यवसायों को संचालित करने वाली वास्तविक सेवाओं के निर्माण में उत्कृष्ट हैं, लेकिन इन सैकड़ों सेवाओं को समझदारी से क्वेरी करने के दिन-प्रतिदिन के UX को सरल बनाने में अधिक प्रगति नहीं हुई है।
AWS के लिए Cloud Control API जैसे नए समाधानों ने कई प्रकार के AWS संसाधनों को क्वेरी करने के लिए एक मानकीकृत इंटरफ़ेस बनाने का प्रयास किया है। दुर्भाग्य से, Cloud Control API का उपयोग गंभीर रूप से सीमित है, और उपयोगकर्ताओं को अभी भी यह जानने की आवश्यकता है कि उनके डेटा को सही तरीके से कैसे क्वेरी किया जाए। इसका मतलब है दस्तावेज़ीकरण पढ़ने और यह समझने में अधिक समय बिताना कि सेवाएं कैसे काम करती हैं और एक-दूसरे से कैसे संबंधित हैं।
जबकि CSP APIs की मॉड्यूलरिटी एक अच्छी तार्किक संगठन प्रणाली है और समझ में आती है, यह संज्ञानात्मक ओवरहेड और सीखने की अवस्था के संदर्भ में अंतिम-उपयोगकर्ताओं पर एक बोझ है। यह याद रखना कि सैकड़ों लगातार बदलती सेवाएं कैसे काम करती हैं और जुड़ी हुई हैं, कैफीन की लत और जासूसी खेलने में समय बर्बाद करने की ओर ले जाता है।
क्या यह अच्छा नहीं होगा यदि हम DevOps/क्लाउड इंजीनियरों के पास AWS, Azure, GCP और अन्य से हमारा डेटा निकालने का एक सरल तरीका हो? जो किसी भी खाते में किसी भी सेवा के बारे में किसी भी डेटा को बिना दस्तावेज़ों या स्टैक ओवरफ्लो पर घंटों बिताए आसानी से क्वेरी करने की हमारी आवश्यकता को दर्शाता हो?
यह उन्हीं कारणों से है कि हमने CloudGraph बनाया, जो सब कुछ क्लाउड के लिए GraphQL API है। CloudGraph आपके क्लाउड डेटा को निकालता है, सामान्यीकृत करता है, प्रोसेस करता है और समृद्ध करता है, जिससे आपको कई प्रदाताओं में सहजता से गहन अंतर्दृष्टि प्राप्त करने की अनुमति मिलती है। और अधिक जानने के लिए हमारा ब्लॉग पोस्ट The GraphQL API for everything देखें।
ध्यान दें कि CloudGraph को चलाने के लिए केवल पढ़ने की अनुमति की आवश्यकता होती है और इस प्रकार यह आपके वास्तविक क्लाउड बुनियादी ढांचे को कभी भी बदल नहीं सकता है। इसके अतिरिक्त, आपके क्लाउड वातावरण की कोई भी जानकारी कभी भी CloudGraph, AutoCloud या किसी अन्य तृतीय पक्ष को नहीं भेजी या साझा नहीं की जाती है।
हुड के नीचे, CloudGraph आपके क्लाउड प्रदाता(ों) तक पहुंचता है, सभी कॉन्फ़िगरेशन डेटा को चूसता है, उसे प्रोसेस करता है, और आपके लिए Dgraph में इस डेटा की एक प्रति संग्रहीत करता है। फिर यह http://localhost:8997 पर एक एंडपॉइंट प्रदान करता है जो आपको अपने संग्रहीत डेटा के विरुद्ध GraphQL क्वेरी लिखने की अनुमति देता है। ये क्वेरी न केवल आपको वह सब कुछ करने की अनुमति देती हैं जो आप AWS SDK/CLI के साथ करेंगे, बल्कि वे आपको अधिक शक्तिशाली क्वेरी चलाने की भी अनुमति देती हैं। CloudGraph पूर्व-पैक्ड GraphQL क्वेरी उपकरणों जैसे GraphQL Playground और Altair के साथ आता है, लेकिन आप अपने स्वयं के उपकरणों का उपयोग करने के लिए भी स्वतंत्र हैं। इसमें Voyager नामक एक स्कीमा विज़ुअलाइज़ेशन टूल भी शामिल है ताकि आप संस्थाओं के बीच संबंधों को समझ सकें।
CloudGraph वर्तमान में AWS, Azure, GCP, K8s और Tencent का समर्थन करता है (कई अन्य जल्द ही आ रहे हैं)। CloudGraph को आपके डेटा को इन्जेस्ट करने के लिए पढ़ने की अनुमतियाँ चाहिए। चीजों को आसान रखने के लिए आप उन्हीं अनुमतियों का उपयोग कर सकते हैं जिनका हम आंतरिक रूप से उपयोग करते हैं जब हम AutoCloud को संचालित करने के लिए CloudGraph चलाते हैं। यहां प्रत्येक प्रदाता के लिए क्रेडेंशियल उत्पन्न करने के तरीके के बारे में ऑथ गाइड और विवरण दिए गए हैं (AutoCloud विशिष्ट कॉन्फ़िगरेशन को छोड़ने के लिए स्वतंत्र महसूस करें):
सिस्टम आवश्यकताएँ
CloudGraph CLI स्थापित करने के 2 तरीके हैं
आप निम्नलिखित कमांड के साथ Homebrew का उपयोग करके CloudGraph स्थापित कर सकते हैं:
brew install cloudgraphdev/tap/cg
CloudGraph को नवीनतम संस्करण में स्थापित और अद्यतन करने के लिए इस कमांड का उपयोग करें।```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/>
फिर आप अपने इच्छित प्रदाताओं को जोड़ सकते हैं (प्रदाता रेपो के लिंक: [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
और तत्काल सुरक्षा अंतर्दृष्टि के साथ अपने डेटा को पूरक करने के लिए अनुपालन नीति पैक जोड़ें:```bash
cg policy add gcp-cis-1.2.0
cg policy add azure-cis-1.3.1
cg policy add aws-cis-1.2.0
cg policy add aws-cis-1.3.0
cg policy add aws-cis-1.2.0
cg policy add aws-pci-dss-3.2.1
cg policy add aws-nist-800-53-rev4
आप वर्तमान में समर्थित पॉलिसी पैक की सूची Policy Packs repo में पा सकते हैं।
आप तीन सरल कमांड के साथ शुरू कर सकते हैं:
cg init
यह 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
ध्यान दें कि यदि आप इस कमांड का उपयोग नहीं करना चाहते हैं, उदाहरण के लिए, यदि आप Dgraph कंटेनर को इंटरैक्टिव मोड में लॉन्च करना चाहते हैं, तो आप नीचे दिए गए डॉकर कमांड का उपयोग कर सकते हैं।```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 कमांड चलने के दौरान चेतावनियाँ और त्रुटियाँ देखना पूरी तरह से सामान्य है, ये आमतौर पर अनुमति संबंधी समस्याओं के कारण होती हैं। ऐसा कहने के बाद, यदि आपको CloudGraph चलाते समय कोई समस्यात्मक त्रुटि आती है, तो आप अपने कमांड की शुरुआत में CG_DEBUG=5 जोड़ सकते हैं, जैसे CG_DEBUG=5 cg scan। यह अधिक जानकारी के साथ वर्बोज़ लॉग प्रिंट करेगा और आउटपुट को cg-debug.log में सहेजेगा। कृपया अपने लॉग हमारे साथ साझा करें या तो GitHub पर एक इश्यू खोलकर या हमारे Slack Workspace में बताकर।बस इतना ही, आप क्वेरी करना शुरू करने के लिए तैयार हैं! cg init कमांड के दौरान आपके द्वारा चुना गया क्वेरी टूल आपके पसंदीदा ब्राउज़र में खुल जाएगा ताकि आप अपने सभी क्लाउड इंफ्रास्ट्रक्चर पर क्वेरी, म्यूटेशन और विज़ुअलाइज़ेशन चला सकें! ध्यान दें कि यदि आपने कोई पॉलिसी पैक, जैसे AWS CIS 1.2, इंस्टॉल किया है, तो पॉलिसी पैक इनसाइट डेटा स्वचालित रूप से आपके क्लाउड डेटा में जोड़ दिया जाएगा!
ध्यान दें कि आप http://localhost:8997/graphql से कनेक्ट करके अपनी पसंद का कोई भी GraphQL क्वेरी टूल उपयोग कर सकते हैं।
Dgraph इंस्टेंस को रोकने (dgraph कंटेनर को रोकने) के लिए चलाएँ:
```bash
cg teardown
<br />
इसके अतिरिक्त, यदि आप कंटेनर को रोकने के बाद हटाना चाहते हैं, तो चलाएँ:
<br />```bash
cg teardown --delete-image
CloudGraph आपके डेटा के उतने पिछले संस्करण संग्रहीत करता है जितने आपने cg init कमांड में कॉन्फ़िगर किए हैं। अपने डेटा के किसी पिछले संस्करण को लोड और क्वेरी करने के लिए बस cg load कमांड चलाएँ और उस डेटा के संस्करण का चयन करें जिसे आप देखना चाहते हैं:
आप प्रत्येक प्रदाता के लिए वर्तमान में समर्थित सेवाओं की सूची निम्नलिखित प्रदाता रिपॉजिटरी में पा सकते हैं:
पूर्ण दस्तावेज़ीकरण का लिंक: https://docs.cloudgraph.dev/overview.
CloudGraph का उपयोग करने के लिए, आपको GraphQL से परिचित होना होगा। इस अनुभाग में कुछ उदाहरण क्वेरीज़ शामिल हैं जो आपको शुरू करने में मदद करेंगी, लेकिन यह संपूर्ण नहीं है। यदि आप इसकी कल्पना कर सकते हैं, तो आप इसे क्वेरी कर सकते हैं! ध्यान दें कि आप दस्तावेज़ीकरण में सैकड़ों अतिरिक्त उदाहरण क्वेरीज़ पा सकते हैं।
नोट: यह अनुभाग AWS पर ध्यान केंद्रित करेगा, लेकिन यही विचार Azure और GCP जैसे अन्य प्रदाताओं पर भी लागू होते हैं
CloudGraph कैसे काम करता है यह समझाने के लिए, निम्नलिखित क्वेरी पर विचार करें जिसे आप एकल EC2 instance का ID और ARN प्राप्त करने के लिए चला सकते हैं। ध्यान दें कि इन उदाहरणों के उद्देश्य के लिए हम संक्षिप्त रखने के लिए केवल AWS संसाधनों के IDs और ARNs का अनुरोध करेंगे, लेकिन आप जो भी विशेषताएँ चाहें क्वेरी कर सकते हैं:
```graphql
query {
getawsEc2(
arn: "arn:aws:ec2:us-east-1:123445678997:instance/i-12345567889012234"
) {
id
arn
}
}
<br />
यह क्वेरी एक `JSON` पेलोड लौटाएगी जो इस प्रकार दिखता है। निम्नलिखित सभी उदाहरण इसी प्रकार होंगे:
<br />```json
{
"data": {
"getawsEc2": {
"id": "i-12345567889012234",
"arn": "arn:aws:ec2:us-east-1:123445678997:instance/i-12345567889012234"
}
},
"extensions": {
"touched_uids": 4
}
}
प्रत्येक EC2 का ID और ARN प्राप्त करें सभी AWS खातों में जिन्हें आपने स्कैन किया:```graphql
query {
queryawsEc2 {
id
arn
}
}
<br />
अपने AWS खातों में से **एक** में सभी `EC2` इंस्टेंस का `ID` और `ARN` प्राप्त करें accountId को फ़िल्टर करके:```graphql
query {
queryawsEc2(filter: { accountId: { eq: "123456" } }) {
id
arn
}
}
हर EC2 का ID और ARN "us-east-1" में प्राप्त करें, ARN को खोजने के लिए regex का उपयोग करते हुए:```graphql
query {
queryawsEc2(filter: { arn: { regexp: "/.us-east-1./" } }) {
id
arn
}
}
<br />
वही काम करें लेकिन यह देखने के लिए कि `region` `"us-east-1"` के बराबर है, रेगेक्स का उपयोग करने के बजाय:```graphql
query {
queryawsEc2(filter: { region: { eq: "us-east-1" } }) {
id
arn
}
}
वही कार्य करें लेकिन यह जाँचने के लिए कि region नाम में "us-east-1" शामिल है, eq का उपयोग करने के बजाय:```graphql
query {
queryawsEc2(filter: { region: { in: "us-east-1" } }) {
id
arn
}
}
<br />
प्रत्येक `M5` श्रृंखला के `EC2 instance` का `ID` और `ARN` `"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
}
}
<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
}
}
}
वही कार्य करें, लेकिन प्रत्येक EC2 के लिए SGs और ALBs को भी शामिल करें। ALBs के लिए, उनसे जुड़े EC2s को प्राप्त करें, साथ ही प्रत्येक पाए गए EC2 instance की ID और ARN भी प्राप्त करें (अर्थात एक चक्रीय क्वेरी)।```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 />
प्रत्येक `VPC`, उस `VPC` में `ALBs` और `Lambdas` प्राप्त करें, और फिर बहुत सारा नेस्टेड उप-डेटा भी। इसके अलावा `us-east-1` में प्रत्येक `S3 Bucket` प्राप्त करें। साथ ही, `ARN` `arn:aws:sqs:us-east-1:8499274828484:autocloud.fifo` वाली `SQS` कतार प्राप्त करें और `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
}
}
CloudGraph Policy Packs किसी दिए गए क्लाउड प्रदाता के लिए मौजूदा बुनियादी ढांचे में अनुपालन की गारंटी देते हैं। पैक्स सुरक्षा संगठनों जैसे कि सेंटर फॉर इंटरनेट सिक्योरिटी द्वारा प्रदान किए गए नियमों/बेंचमार्क के सेट पर आधारित होते हैं, जिसका उद्देश्य आपके बुनियादी ढांचे को उद्योग सुरक्षा मानकों के अनुरूप बनाए रखना है। एक बार जब आप cg policy add कमांड (जैसे cg policy add aws-cis-1.2.0) का उपयोग करके कोई पॉलिसी पैक जोड़ लेते हैं, तो हर बार जब आप स्कैन चलाते हैं, CloudGraph स्वचालित रूप से आपके कॉन्फ़िगर किए गए पॉलिसीज़ को निष्पादित करेगा। वे परिणाम Dgraph पर संग्रहीत किए जाएंगे और आपके मौजूदा संसाधनों से जुड़े होंगे, जिससे आपके संसाधनों के साथ-साथ अपने अनुपालन परिणामों को क्वेरी करना आसान हो जाएगा।
वर्तमान में उपलब्ध पॉलिसी पैक के बारे में अधिक जानकारी के लिए कृपया हमारे Policy Packs रिपॉजिटरी पर जाएँ।
AWS CIS 1.2 के लिए CloudGraph Policy Pack का उपयोग करके अपने सभी AWS खातों के लिए अपने सभी CIS निष्कर्षों को क्वेरी करें:```graphql query { queryawsCISFindings { id resourceId result rule { id description severity } } }
<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 } } }
<br />
यदि आप किसी विशेष IAM उपयोगकर्ता पर लागू होने वाले CIS नियमों को समझना चाहते हैं, तो आप निम्नलिखित क्वेरी का उपयोग कर सकते हैं:```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
}
}
<br />
सभी सार्वजनिक `S3 Buckets` खोजें:```graphql
query {
queryawsS3(filter: { access: { eq: "Public" } }) {
id
arn
access
}
}
उन सभी S3 Buckets को खोजें जो स्वयं सार्वजनिक हैं या जिनमें ऑब्जेक्ट सार्वजनिक हो सकते हैं:```graphql
query {
queryawsS3(filter: { not: { access: { eq: "Private" } } }) {
id
arn
access
}
}
<br />
`"us-east-1"` में सभी `KMS` कुंजियाँ खोजें:```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
}
}
<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
}
}
}
<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
}
}
}
<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 खाते में Cost Explorer API सक्षम होना चाहिए। आप यहाँ देख सकते हैं कि यह कैसे करें
अपने AWS खाते का पिछले 30 दिनों का कुल खर्च, महीने-से-आज तक का कुल खर्च, पिछले 30 दिनों के लिए प्रत्येक सेवा और उसके खर्च का विवरण, और महीने-से-आज तक प्रत्येक सेवा और उसके खर्च का विवरण प्राप्त करें, साथ ही मासिक और महीने-से-आज तक औसत खर्च भी प्राप्त करें।```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 />
यह क्वेरी एक `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
}
}
अपने AWS खाते में प्रत्येक EC2 instance और उसकी दैनिक लागत प्राप्त करें:```graphql
query {
queryawsEc2 {
arn
dailyCost {
cost
currency
formattedCost
}
}
}
<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
}
}
अपने AWS खाते में प्रत्येक NAT Gateway को इसकी दैनिक लागत के साथ प्राप्त करें:```graphql
query {
queryawsNatGateway {
arn
dailyCost {
cost
currency
formattedCost
}
}
}
<br />
## AWS CloudWatch उदाहरण:
CloudGraph आपके CloudWatch मीट्रिक डेटा को इन्जेस्ट करता है और चुनिंदा AWS सेवाओं के साथ संग्रहीत करता है। यह सुविधा वर्तमान में बीटा में है और केवल EC2 के लिए काम करेगी:```graphql
query {
queryawsEc2 {
arn
cloudWatchMetricData {
lastWeek {
cpuUtilizationAverage
networkInAverage
networkOutAverage
networkPacketsInAverage
networkPacketsOutAverage
statusCheckFailedSum
statusCheckFailedInstanceSum
statusCheckFailedSystemSum
diskReadOpsAverage
diskWriteOpsAverage
diskReadBytesAverage
diskWriteBytesAverage
}
lastMonth {
cpuUtilizationAverage
networkInAverage
networkOutAverage
networkPacketsInAverage
networkPacketsOutAverage
statusCheckFailedSum
statusCheckFailedInstanceSum
statusCheckFailedSystemSum
diskReadOpsAverage
diskWriteOpsAverage
diskReadBytesAverage
diskWriteBytesAverage
}
last6Hours {
cpuUtilizationAverage
networkInAverage
networkOutAverage
networkPacketsInAverage
networkPacketsOutAverage
statusCheckFailedSum
statusCheckFailedInstanceSum
statusCheckFailedSystemSum
diskReadOpsAverage
diskWriteOpsAverage
diskReadBytesAverage
diskWriteBytesAverage
}
last24Hours {
cpuUtilizationAverage
networkInAverage
networkOutAverage
networkPacketsInAverage
networkPacketsOutAverage
statusCheckFailedSum
statusCheckFailedInstanceSum
statusCheckFailedSystemSum
diskReadOpsAverage
diskWriteOpsAverage
diskReadBytesAverage
diskWriteBytesAverage
}
}
}
}
जब आप 'ग्राफ के संदर्भ में' सोचते हैं, तो आप CloudGraph के साथ लगभग कुछ भी कर सकते हैं। उदाहरण के लिए, मान लीजिए कि आप जानना चाहते हैं कि कौन से Lambda फ़ंक्शन किसी VPC से संबंधित नहीं हैं (अर्थात वे VPC नेटवर्किंग का लाभ नहीं उठाते)। क्योंकि CloudGraph उन सभी संसाधनों को जोड़ता है जिनके बीच संबंध हैं, जैसे VPC माता-पिता और उनके Lambda बच्चे, आप इस प्रश्न का उत्तर आसानी से दे सकते हैं। बस यह जांचें कि VPC किन Lambda फ़ंक्शनों से 'जुड़ा' है, और उनकी तुलना सभी Lambda फ़ंक्शनों की सूची से इस प्रकार करें:```graphql query { queryawsVpc { id arn lambda { id arn } } queryawsLambda { id arn } }
<br />
## सीमाएँ
<br />
आज, CloudGraph और हमारी क्वेरी क्षमताओं की सबसे बड़ी सीमा यह है कि हम चाइल्ड विशेषताओं (attributes) के आधार पर नेस्टेड फ़िल्टरिंग का समर्थन नहीं करते। उदाहरण के लिए, जितना अच्छा यह होगा कि हम निम्नलिखित कर सकें, यह अभी तक संभव नहीं है:
<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 2 शानदार क्वेरी उपकरणों और एक GraphQL स्कीमा एक्सप्लोरर के साथ आता है। याद रखें, यदि आप कोई अन्य विकल्प पसंद करते हैं तो आप कोई भी GraphQL क्वेरी उपकरण उपयोग कर सकते हैं, बस इसे अपने खुले /graphql एंडपॉइंट से कनेक्ट करें!
GraphQL playground में एक सहज और आकर्षक UX है जो GraphQL स्कीमा को जल्दी और सरलता से क्वेरी करने के लिए बहुत अच्छा है। इसमें स्वचालित रूप से उत्पन्न दस्तावेज़ीकरण और टाइप करते समय ऑटो-पूर्णता शामिल है। playground तक पहुँचने के लिए, init कमांड में इसे अपने पसंदीदा क्वेरी उपकरण के रूप में चुनें या सर्वर CG द्वारा चलाए जाने पर /playground पर जाएँ।
Altair एक और शानदार GraphQL क्वेरी उपकरण है जो पावर उपयोगकर्ताओं के लिए ढेर सारी सुविधाएँ प्रदान करता है। ऑटोकम्प्लीट क्वेरी, गतिशील रूप से टुकड़े जोड़ना, और क्वेरी संग्रह निर्यात/आयात जैसी चीज़ें करें। Altair तक पहुँचने के लिए, init कमांड में इसे अपने पसंदीदा क्वेरी उपकरण के रूप में चुनें या सर्वर CG द्वारा चलाए जाने पर /altair पर जाएँ।
GraphQL Voyager आपके CG प्रदाताओं के स्कीमा का अन्वेषण करने का एक शानदार तरीका है। यह आपको आपके सभी प्रकारों और क्वेरीज़ वाला एक बेहतरीन द्विदिश चार्ट प्रदान करता है। आप कनेक्शन खोजने, कुछ विशिष्ट खोजने और अपने स्कीमा की गहरी समझ प्राप्त करने के लिए संस्थाओं या तीरों पर क्लिक कर सकते हैं। voyager तक पहुँचने के लिए, सर्वर CG द्वारा चलाए जाने पर /voyager पर जाएँ।
टिप्पणियाँ, प्रश्न या प्रतिक्रिया? कृपया हमारे Slack कार्यक्षेत्र में शामिल हों हमें आपसे सुनकर खुशी होगी।
यदि आप CloudGraph में योगदान देने में रुचि रखते हैं तो कृपया हमारे योगदान दिशानिर्देश देखें।
आप CloudGraph को स्थानीय रूप से चला सकते हैं, या इसे अपने पसंदीदा क्लाउड प्रदाता पर तैनात कर सकते हैं। क्लाउड तैनाती के लिए Terraform मॉड्यूल और गाइड जल्द ही आ रहे हैं!
पूरी तरह से प्रबंधित SaaS/स्व-होस्टेड संस्करण में रुचि है जिसमें अंतर्निहित 3D विज़ुअलाइज़ेशन क्षमताएँ, स्वचालित स्कैन और सैकड़ों अतिरिक्त अनुपालन जाँचें हैं? अधिक जानकारी के लिए AutoCloud देखें।
यदि आप CloudGraph चलाते समय कोई त्रुटि आती है, तो आप अपने कमांड की शुरुआत में CG_DEBUG=5 जोड़ सकते हैं, जैसे CG_DEBUG=5 cg scan। यह अधिक जानकारी के साथ विस्तृत लॉग प्रिंट करेगा जिसका उपयोग आप GitHub पर एक issue खोलने या हमारे Slack कार्यक्षेत्र में हमें बताने के लिए कर सकते हैं।
कुछ सामान्य त्रुटियाँ हैं जो आप CloudGraph चलाते समय देख सकते हैं जो आमतौर पर अनुमतियों या कनेक्शन समस्याओं से संबंधित होती हैं।
⚠️ कुछ कनेक्शन बनाने में असमर्थ - यह चेतावनी स्कैन रिपोर्ट में तब दिखाई देती है जब CG दो संसाधनों के बीच कनेक्शन स्थापित करने का प्रयास करता है और ऐसा करने में असमर्थ होता है। यदि आप CG के आधिकारिक रूप से समर्थित प्रदाताओं में से किसी एक का उपयोग करते हुए यह देखते हैं, तो कृपया एक नया issue बनाएँ ताकि हम इसे हल कर सकें। इस त्रुटि का सबसे सामान्य कारण अंतर्निहित प्रदाता के संसाधन कनेक्शन तर्क में एक बग है।
🚫 Dgraph में डेटा संग्रहीत करने में असमर्थ - यह त्रुटि स्कैन रिपोर्ट में तब दिखाई देती है जब CG कुछ क्लाउड प्रदाता डेटा को ग्राफ डीबी में सम्मिलित करने का प्रयास करता है और विफल हो जाता है। इस त्रुटि वाली कोई भी सेवा GraphQL क्वेरी उपकरण में क्वेरी करने में असमर्थ होगी। यह आमतौर पर तब होता है जब CG प्रदाता SDK को कॉल करने में त्रुटि के कारण किसी संसाधन के लिए आवश्यक डेटा (जैसे arn) प्राप्त करने में असमर्थ होता है, आमतौर पर प्राधिकरण की कमी के कारण।
Provider {name}@${version} requires cli version {version} but cli version is ${version} - इस चेतावनी का अर्थ है कि आपके पास CG और जिस प्रदाता का उपयोग करने का प्रयास कर रहे हैं, उनके असंगत संस्करण हैं। CG को अपडेट करने का प्रयास करें npm install -g @cloudgraphdev/cli और प्रदाता मॉड्यूल cg provider update ताकि दोनों नवीनतम संस्करण पर हों। आप प्रदाता के pacakge.json को भी जाँच सकते हैं कि CG के कौन से संस्करण इसका समर्थन करते हैं।
Manager failed to install plugin for {provider} - यह त्रुटि तब होती है जब CG का प्लगइन प्रबंधक आपके द्वारा उपयोग किए जाने वाले प्रदाता मॉड्यूल को नहीं ढूँढ पाता। प्रबंधक सार्वजनिक NPM रजिस्ट्री में प्रदाता मॉड्यूल की खोज करता है। आधिकारिक रूप से समर्थित प्रदाताओं के लिए, बस प्रदाता नाम पास करें CG init aws। समुदाय द्वारा समर्थित प्रदाताओं के लिए, आपको नेमस्पेस भी पास करना होगा CG init @{providerNamespace}/{provider}
cg help [COMMAND]cg init [PROVIDER]cg launch [PROVIDER]cg load [PROVIDER]cg policy [PROVIDER]cg policy add [PROVIDER]cg policy install [PROVIDER]cg policy list [PROVIDER]cg policy remove [PROVIDER]cg policy update [PROVIDER]cg provider [PROVIDER]cg 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]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.
_कोड देखें: [@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
_कोड देखें: [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.
_कोड देखें: [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]लॉक फ़ाइल के आधार पर policy packs स्थापित करें``` 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]`
वर्तमान में स्थापित नीति पैक और संस्करणों की सूची बनाएं```
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
## `cg policy update [PROVIDER]`
वर्तमान में स्थापित पॉलिसी पैक्स को अपडेट करें```
USAGE
$ cg policy update [PROVIDER] [--no-save] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p
<value>] [-q playground|altair] [-l <value>] [--use-roles] [-P <value>]
FLAGS
-P, --policies=<value> Policy Packs to execute during scan
-d, --dgraph=<value> Set where dgraph is running (default localhost:8997)
-l, --version-limit=<value> Limit the amount of version folders stored on the filesystem (default 10)
-p, --port=<value> Set port to serve query engine
-q, --query-engine=<option> Query engine to launch
<options: playground|altair>
-s, --storage=<option> Select a storage engine to use. Currently only supports Dgraph
<options: dgraph>
--dev Turn on developer mode
--directory=<value> Set the folder where CloudGraph will store data. (default cg)
--no-save Set to not alter lock file, just delete plugin
--no-serve Set to not serve a query engine
--use-roles Set to true to use roleARNs instead of profiles for AWS credentials
DESCRIPTION
Update currently installed policy packs
EXAMPLES
$ cg policy update
$ cg policy update aws-cis-1.2.0
$ cg policy update [email protected]
cg provider [PROVIDER]प्रदाता मॉड्यूल प्रबंधित करने के लिए कमांड, अधिक जानकारी के लिए $ cg provider चलाएं।``` USAGE $ cg provider [PROVIDER] [--dev] [-d ] [-s dgraph] [--directory ] [--no-serve] [-p ] [-q playground|altair] [-l ] [--use-roles] [-P ]
FLAGS -P, --policies= Policy Packs to execute during scan -d, --dgraph= Set where dgraph is running (default localhost:8997) -l, --version-limit= Limit the amount of version folders stored on the filesystem (default 10) -p, --port= Set port to serve query engine -q, --query-engine= Query engine to launch <options: playground|altair> -s, --storage= Select a storage engine to use. Currently only supports Dgraph <options: dgraph> --dev Turn on developer mode --directory= Set the folder where CloudGraph will store data. (default cg) --no-serve Set to not serve a query engine --use-roles Set to true to use roleARNs instead of profiles for AWS credentials
DESCRIPTION Commands to manage provider modules, run $ cg provider for more info.
_कोड देखें: [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
## `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
## `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]
_कोड देखें: [src/commands/scan.ts](https://github.com/cloudgraphdev/cli/blob/v0.25.1/src/commands/scan.ts)_
## `cg serve [PROVIDER]`
अपने CloudGraph डेटा को क्वेरी करने के लिए एक GraphQL क्वेरी टूल प्रस्तुत करें।```
USAGE
$ cg serve [PROVIDER] [--dev] [-d <value>] [-s dgraph] [--directory <value>] [--no-serve] [-p <value>]
[-q playground|altair] [-l <value>] [--use-roles] [-P <value>]
FLAGS
-P, --policies=<value> Policy Packs to execute during scan
-d, --dgraph=<value> Set where dgraph is running (default localhost:8997)
-l, --version-limit=<value> Limit the amount of version folders stored on the filesystem (default 10)
-p, --port=<value> Set port to serve query engine
-q, --query-engine=<option> Query engine to launch
<options: playground|altair>
-s, --storage=<option> Select a storage engine to use. Currently only supports Dgraph
<options: dgraph>
--dev Turn on developer mode
--directory=<value> Set the folder where CloudGraph will store data. (default cg)
--no-serve Set to not serve a query engine
--use-roles Set to true to use roleARNs instead of profiles for AWS credentials
DESCRIPTION
Serve a GraphQL query tool to query your CloudGraph data.
EXAMPLES
$ cg serve
कोड देखें: src/commands/serve.ts
cg teardown [PROVIDER]Dgraph Docker कंटेनर को रोकता है।``` 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
_कोड देखें: [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