# DO - Basic Information {{#include ../../banners/hacktricks-training.md}} ## Basic Information DigitalOcean एक **क्लाउड कंप्यूटिंग प्लेटफॉर्म है जो उपयोगकर्ताओं को विभिन्न सेवाएँ प्रदान करता है**, जिसमें वर्चुअल प्राइवेट सर्वर (VPS) और अनुप्रयोगों के निर्माण, तैनाती और प्रबंधन के लिए अन्य संसाधन शामिल हैं। **DigitalOcean की सेवाएँ सरल और उपयोग में आसान होने के लिए डिज़ाइन की गई हैं**, जिससे ये **डेवलपर्स और छोटे व्यवसायों के बीच लोकप्रिय हैं**। DigitalOcean की कुछ प्रमुख विशेषताएँ हैं: - **वर्चुअल प्राइवेट सर्वर (VPS)**: DigitalOcean VPS प्रदान करता है जिसका उपयोग वेबसाइटों और अनुप्रयोगों को होस्ट करने के लिए किया जा सकता है। ये VPS अपनी सरलता और उपयोग में आसानी के लिए जाने जाते हैं, और इन्हें विभिन्न पूर्व-निर्मित "ड्रॉपलेट्स" या कस्टम कॉन्फ़िगरेशन का उपयोग करके जल्दी और आसानी से तैनात किया जा सकता है। - **स्टोरेज**: DigitalOcean विभिन्न स्टोरेज विकल्प प्रदान करता है, जिसमें ऑब्जेक्ट स्टोरेज, ब्लॉक स्टोरेज, और प्रबंधित डेटाबेस शामिल हैं, जिन्हें वेबसाइटों और अनुप्रयोगों के लिए डेटा संग्रहीत और प्रबंधित करने के लिए उपयोग किया जा सकता है। - **विकास और तैनाती उपकरण**: DigitalOcean विभिन्न उपकरण प्रदान करता है जिनका उपयोग अनुप्रयोगों के निर्माण, तैनाती और प्रबंधन के लिए किया जा सकता है, जिसमें APIs और पूर्व-निर्मित ड्रॉपलेट्स शामिल हैं। - **सुरक्षा**: DigitalOcean सुरक्षा पर जोर देता है, और उपयोगकर्ताओं को उनके डेटा और अनुप्रयोगों को सुरक्षित रखने में मदद करने के लिए विभिन्न उपकरण और सुविधाएँ प्रदान करता है। इसमें एन्क्रिप्शन, बैकअप, और अन्य सुरक्षा उपाय शामिल हैं। कुल मिलाकर, DigitalOcean एक क्लाउड कंप्यूटिंग प्लेटफॉर्म है जो उपयोगकर्ताओं को क्लाउड में अनुप्रयोगों के निर्माण, तैनाती और प्रबंधन के लिए आवश्यक उपकरण और संसाधन प्रदान करता है। इसकी सेवाएँ सरल और उपयोग में आसान होने के लिए डिज़ाइन की गई हैं, जिससे ये डेवलपर्स और छोटे व्यवसायों के बीच लोकप्रिय हैं। ### Main Differences from AWS DigitalOcean और AWS के बीच एक मुख्य अंतर है **वे सेवाएँ जो वे प्रदान करते हैं**। **DigitalOcean सरल** और उपयोग में आसान वर्चुअल प्राइवेट सर्वर (VPS), स्टोरेज, और विकास और तैनाती उपकरण प्रदान करने पर ध्यान केंद्रित करता है। **AWS**, दूसरी ओर, **बहुत व्यापक सेवाओं की रेंज** प्रदान करता है, जिसमें VPS, स्टोरेज, डेटाबेस, मशीन लर्निंग, एनालिटिक्स, और कई अन्य सेवाएँ शामिल हैं। इसका मतलब है कि AWS जटिल, एंटरप्राइज-स्तरीय अनुप्रयोगों के लिए अधिक उपयुक्त है, जबकि DigitalOcean छोटे व्यवसायों और डेवलपर्स के लिए अधिक उपयुक्त है। दोनों प्लेटफार्मों के बीच एक और प्रमुख अंतर है **मूल्य निर्धारण संरचना**। **DigitalOcean की मूल्य निर्धारण सामान्यतः अधिक सीधी और समझने में आसान** होती है, जिसमें ड्रॉपलेट्स और अन्य संसाधनों की संख्या के आधार पर विभिन्न मूल्य निर्धारण योजनाएँ होती हैं। AWS, दूसरी ओर, एक अधिक जटिल मूल्य निर्धारण संरचना है जो विभिन्न कारकों के आधार पर होती है, जिसमें उपयोग किए गए संसाधनों का प्रकार और मात्रा शामिल है। इससे AWS का उपयोग करते समय लागत का अनुमान लगाना अधिक कठिन हो सकता है। ## Hierarchy ### User एक उपयोगकर्ता वही है जो आप अपेक्षित करते हैं, एक उपयोगकर्ता। वह **टीम बना सकता है** और **विभिन्न टीमों का सदस्य हो सकता है।** ### **Team** एक टीम **उपयोगकर्ताओं** का एक समूह है। जब एक उपयोगकर्ता एक टीम बनाता है, तो उसके पास उस टीम पर **स्वामी की भूमिका** होती है और वह प्रारंभ में **बिलिंग जानकारी सेट करता है**। **अन्य** उपयोगकर्ता फिर टीम में **निमंत्रित** किए जा सकते हैं। टीम के अंदर कई **परियोजनाएँ** हो सकती हैं। एक परियोजना बस एक **सेवाओं का सेट है जो चल रहा है**। इसका उपयोग विभिन्न इन्फ्रा चरणों को **अलग करने** के लिए किया जा सकता है, जैसे प्रोड, स्टेजिंग, डेवलप... ### Project जैसा कि समझाया गया है, एक परियोजना बस सभी **सेवाओं** (ड्रॉपलेट्स, स्पेस, डेटाबेस, कुबेरनेट्स...) का एक कंटेनर है जो **इसके अंदर एक साथ चल रही हैं**।\ एक Digital Ocean परियोजना GCP परियोजना के समान है जिसमें IAM नहीं है। ## Permissions ### Team बुनियादी रूप से टीम के सभी सदस्यों के पास **टीम के भीतर बनाए गए सभी परियोजनाओं में DO संसाधनों तक पहुँच होती है (अधिक या कम विशेषाधिकार के साथ)।** ### Roles टीम के भीतर प्रत्येक **उपयोगकर्ता** में से **एक** निम्नलिखित तीन **भूमिकाओं** में से एक हो सकती है: | Role | Shared Resources | Billing Information | Team Settings | | ---------- | ---------------- | ------------------- | ------------- | | **Owner** | Full access | Full access | Full access | | **Biller** | No access | Full access | No access | | **Member** | Full access | No access | No access | **Owner** और **member उपयोगकर्ताओं की सूची बना सकते हैं** और उनकी **भूमिकाएँ** देख सकते हैं (biller नहीं कर सकता)। ## Access ### Username + password (MFA) ज्यादातर प्लेटफार्मों की तरह, GUI तक पहुँचने के लिए आप **मान्य उपयोगकर्ता नाम और पासवर्ड** का एक सेट उपयोग कर सकते हैं ताकि **क्लाउड** **संसाधनों** तक पहुँच सकें। एक बार लॉग इन करने के बाद, आप देख सकते हैं **सभी टीमें जिनका आप हिस्सा हैं** [https://cloud.digitalocean.com/account/profile](https://cloud.digitalocean.com/account/profile)।\ और आप अपनी सभी गतिविधियाँ देख सकते हैं [https://cloud.digitalocean.com/account/activity](https://cloud.digitalocean.com/account/activity)। **MFA** को एक उपयोगकर्ता में **सक्षम** किया जा सकता है और **टीम** में सभी उपयोगकर्ताओं के लिए **अनिवार्य** किया जा सकता है। ### API keys API का उपयोग करने के लिए, उपयोगकर्ता **API कुंजी उत्पन्न कर सकते हैं**। ये हमेशा पढ़ने की अनुमति के साथ आती हैं लेकिन **लिखने की अनुमति वैकल्पिक** होती है।\ API कुंजी इस तरह दिखती हैं: ``` dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836 ``` CLI टूल [**doctl**](https://github.com/digitalocean/doctl#installing-doctl) है। इसे प्रारंभ करें (आपको एक टोकन की आवश्यकता है) के साथ: ```bash doctl auth init # Asks for the token doctl auth init --context my-context # Login with a different token doctl auth list # List accounts ``` डिफ़ॉल्ट रूप से, यह टोकन मैक में `/Users//Library/Application Support/doctl/config.yaml` में स्पष्ट पाठ में लिखा जाएगा। ### Spaces एक्सेस कुंजी ये कुंजी **Spaces तक पहुँच** देती हैं (जैसे AWS में S3 या GCP में Storage)। ये एक **नाम**, एक **keyid** और एक **secret** से मिलकर बनी होती हैं। एक उदाहरण हो सकता है: ``` Name: key-example Keyid: DO00ZW4FABSGZHAABGFX Secret: 2JJ0CcQZ56qeFzAJ5GFUeeR4Dckarsh6EQSLm87MKlM ``` ### OAuth Application OAuth अनुप्रयोगों को **Digital Ocean पर पहुंच** दी जा सकती है। यह संभव है कि आप [https://cloud.digitalocean.com/account/api/applications](https://cloud.digitalocean.com/account/api/applications) में **OAuth अनुप्रयोगों** को **बनाएं** और [https://cloud.digitalocean.com/account/api/access](https://cloud.digitalocean.com/account/api/access) में सभी **अनुमत OAuth अनुप्रयोगों** की जांच करें। ### SSH Keys यह संभव है कि आप [https://cloud.digitalocean.com/account/security](https://cloud.digitalocean.com/account/security) में **कंसोल** से **Digital Ocean टीम** में **SSH कुंजी** जोड़ें। इस तरह, यदि आप एक **नया ड्रॉपलेट बनाते हैं, तो SSH कुंजी उस पर सेट की जाएगी** और आप बिना पासवर्ड के **SSH के माध्यम से लॉगिन** कर सकेंगे (ध्यान दें कि नए [अपलोड किए गए SSH कुंजी पहले से मौजूद ड्रॉपलेट में सुरक्षा कारणों से सेट नहीं होते हैं](https://docs.digitalocean.com/products/droplets/how-to/add-ssh-keys/to-existing-droplet/))। ### Functions Authentication Token **REST API के माध्यम से एक फ़ंक्शन को ट्रिगर करने का तरीका** (हमेशा सक्षम, यह वह विधि है जिसका उपयोग cli करता है) एक **प्रमाणीकरण टोकन** के साथ अनुरोध को ट्रिगर करके है जैसे: ```bash curl -X POST "https://faas-lon1-129376a7.doserverless.co/api/v1/namespaces/fn-c100c012-65bf-4040-1230-2183764b7c23/actions/functionname?blocking=true&result=true" \ -H "Content-Type: application/json" \ -H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg=" ``` ## Logs ### User logs **उपयोगकर्ता के लॉग** [**https://cloud.digitalocean.com/account/activity**](https://cloud.digitalocean.com/account/activity) में पाए जा सकते हैं। ### Team logs **टीम के लॉग** [**https://cloud.digitalocean.com/account/security**](https://cloud.digitalocean.com/account/security) में पाए जा सकते हैं। ## References - [https://docs.digitalocean.com/products/teams/how-to/manage-membership/](https://docs.digitalocean.com/products/teams/how-to/manage-membership/) {{#include ../../banners/hacktricks-training.md}}