Translated ['src/pentesting-cloud/aws-security/aws-basic-information/REA

This commit is contained in:
Translator
2025-04-07 01:15:26 +00:00
parent 0b9f1cdd94
commit 1cb1f6214b

View File

@@ -8,9 +8,9 @@
### Accounts
AWS में, एक **root account** है, जो आपके **organization** के लिए सभी खातों का **parent container** है। हालाकि, आपको संसाधनों को तैनात करने के लिए उस खाते का उपयोग करने की आवश्यकता नहीं है, आप **अलग-अलग AWS** बुनियादी ढांचे को अलग करने के लिए **अन्य खाते बना सकते हैं**
AWS में, एक **root account** है, जो आपके **organization** के लिए सभी खातों का **parent container** है। हालाकि, आपको संसाधनों को तैनात करने के लिए उस खाते का उपयोग करने की आवश्यकता नहीं है, आप **विभिन्न AWS** अवसंरचनाओं को अलग करने के लिए **अन्य खाते बना सकते हैं**
यह **सुरक्षा** के दृष्टिकोण से बहुत दिलचस्प है, क्योंकि **एक खाता अन्य खाते के संसाधनों तक पहुँच नहीं सकेगा** (जब तक कि पुल विशेष रूप से बनाए नहीं गए हों), इसलिए इस तरह आप तैनात के बीच सीमाएँ बना सकते हैं।
यह **सुरक्षा** के दृष्टिकोण से बहुत दिलचस्प है, क्योंकि **एक खाता अन्य खाते के संसाधनों तक पहुँच नहीं पाएगा** (जब तक कि पुल विशेष रूप से बनाए नहीं गए हों), इसलिए इस तरह आप तैनातियों के बीच सीमाएँ बना सकते हैं।
इसलिए, एक संगठन में **दो प्रकार के खाते** होते हैं (हम AWS खातों की बात कर रहे हैं, उपयोगकर्ता खातों की नहीं): एकल खाता जिसे प्रबंधन खाता के रूप में नामित किया गया है, और एक या अधिक सदस्य खाते।
@@ -33,26 +33,26 @@ aws organizations create-account --account-name testingaccount --email testingac
```
### **Organization Units**
खातों को **Organization Units (OU)** में समूहित किया जा सकत है। इस तरह, आप उस Organization Unit के लिए **नीतियाँ** बना सकते हैं जो **सभी बच्चों के खातों पर लागू होंगी**। ध्यान दें कि एक OU के पास अन्य OUs भी हो सकते हैं।
Accounts can be grouped in **Organization Units (OU)**. इस तरह, आप **नीतियाँ** बना सकत हैं जो Organization Unit के लिए हैं जो **सभी बच्चों के खातों पर लागू होंगी**। ध्यान दें कि एक OU के पास अन्य OUs भी हो सकते हैं।
```bash
# You can get the root id from aws organizations list-roots
aws organizations create-organizational-unit --parent-id r-lalala --name TestOU
```
### Service Control Policy (SCP)
एक **service control policy (SCP)** एक नीति है जो उन सेवाओं और क्रियाओं को निर्दिष्ट करती है जिन्हें उपयोगकर्ता और भूमिकाएँ उन खातों में उपयोग कर सकते हैं जिन पर SCP प्रभाव डालत है। SCPs **IAM** अनुमतियों की नीतियों के समान हैं, सिवाय इसके कि वे **कोई अनुमतियाँ नहीं देतीं**। इसके बजाय, SCPs एक संगठन, संगठनात्मक इकाई (OU), या खाते के लिए **अधिकतम अनुमतियों** को निर्दिष्ट करती हैं। जब आप अपने संगठन की जड़ या एक OU पर SCP संलग्न करते हैं, तो **SCP सदस्य खातों में संस्थाओं के लिए अनुमतियों को सीमित करत है**
A **service control policy (SCP)** एक नीति है जो उन सेवाओं और क्रियाओं को निर्दिष्ट करती है जिन्हें उपयोगकर्ता और भूमिकाएँ उन खातों में उपयोग कर सकते हैं जिन पर SCP प्रभाव डालत है। SCPs **IAM** अनुमतियों नीतियों के समान हैं सिवाय इसके कि वे **कोई अनुमतियाँ नहीं देतीं**। इसके बजाय, SCPs एक संगठन, संगठनात्मक इकाई (OU), या खाते के लिए **अधिकतम अनुमतियाँ** निर्दिष्ट करती हैं। जब आप अपने संगठन की जड़ या एक OU पर SCP संलग्न करते हैं, तो **SCP सदस्य खातों में संस्थाओं के लिए अनुमतियों को सीमित करत है**
यह **एकमात्र तरीका है कि** **रूट उपयोगकर्ता को कुछ करने से रोका जा सकता है**। उदाहरण के लिए, इसका उपयोग उपयोगकर्ताओं को CloudTrail को निष्क्रिय करने या बैकअप हटाने से रोकने के लिए किया जा सकता है।\
इससे बचने का एकमात्र तरीका यह है कि **मास्टर खाता** भी समझौता किया जाए जो SCPs को कॉन्फ़िगर करता है (मास्टर खाता को अवरुद्ध नहीं किया जा सकता)।
यह **एकमात्र तरीका है कि** **यहाँ तक कि रूट उपयोगकर्ता को भी कुछ करने से रोका जा सकता है**। उदाहरण के लिए, इसका उपयोग उपयोगकर्ताओं को CloudTrail को निष्क्रिय करने या बैकअप को हटाने से रोकने के लिए किया जा सकता है।\
इससे बचने का एकमात्र तरीका यह है कि **मास्टर खाता** भी समझौता किया जाए जो SCPs को कॉन्फ़िगर करता है (मास्टर खाता अवरुद्ध नहीं किया जा सकता)।
> [!WARNING]
> ध्यान दें कि **SCPs केवल खाते में प्रिंसिपल को प्रतिबंधित करती हैं**, इसलिए अन्य खाते प्रभावित नहीं होते। इसका मतलब है कि यदि SCP `s3:GetObject` को अस्वीकार करती है, तो यह लोगों को आपके खाते में **एक सार्वजनिक S3 बकेट** तक पहुँचने से नहीं रोकेगी
> ध्यान दें कि **SCPs केवल खाते में प्रिंसिपल को प्रतिबंधित करती हैं**, इसलिए अन्य खाते प्रभावित नहीं होते। इसका मतलब है कि SCP द्वारा `s3:GetObject` को अस्वीकार करने से लोगों को **आपके खाते में एक सार्वजनिक S3 बकेट तक पहुँचने से नहीं रोका जाएगा**
SCP उदाहरण:
- रूट खाते को पूरी तरह से अस्वीकार करें
- केवल विशिष्ट क्षेत्रों की अनुमति दें
- केवल श्वेत-पत्रित सेवाओं की अनुमति दें
- केवल श्वेत-सूचीबद्ध सेवाओं की अनुमति दें
- GuardDuty, CloudTrail, और S3 सार्वजनिक ब्लॉक एक्सेस को निष्क्रिय करने से रोकें
- सुरक्षा/घटना प्रतिक्रिया भूमिकाओं को हटाने या
@@ -66,30 +66,30 @@ SCP उदाहरण:
### Resource Control Policy (RCP)
एक **resource control policy (RCP)** एक नीति है जो आपके AWS संगठन के भीतर **संसाधनों के लिए अधिकतम अनुमतियों** को परिभाषित करती है। RCPs वाक्यविन्यास में IAM नीतियों के समान हैं लेकिन **अनुमतियाँ नहीं देतीं**—वे केवल उन अनुमतियों को सीमित करती हैं जो अन्य नीतियों द्वारा संसाधनों पर लागू की जा सकती हैं। जब आप अपने संगठन की जड़, एक संगठनात्मक इकाई (OU), या एक खाते पर RCP संलग्न करते हैं, तो RCP प्रभावित दायरे में सभी संसाधनों पर संसाधन अनुमतियों को सीमित करत है।
A **resource control policy (RCP)** एक नीति है जो आपके AWS संगठन के भीतर **संसाधनों के लिए अधिकतम अनुमतियों** को परिभाषित करती है। RCPs वाक्यविन्यास में IAM नीतियों के समान हैं लेकिन **अनुमतियाँ नहीं देतीं**—वे केवल उन अनुमतियों को सीमित करती हैं जो अन्य नीतियों द्वारा संसाधनों पर लागू की जा सकती हैं। जब आप अपने संगठन की जड़, एक संगठनात्मक इकाई (OU), या एक खाते पर RCP संलग्न करते हैं, तो RCP प्रभावित दायरे में सभी संसाधनों पर संसाधन अनुमतियों को सीमित करत है।
यह **एकमात्र तरीका है यह सुनिश्चित करने क कि** **संसाधन पूर्वनिर्धारित पहुँच स्तरों से अधिक नहीं हो सकते**—यहा तक कि यदि पहचान-आधारित या संसाधन-आधारित नीति बहुत अधिक अनुमति देती है। इन सीमाओं को बायपास करने का एकमात्र तरीका यह है कि आपके संगठन के प्रबंधन खाते द्वारा कॉन्फ़िगर की गई RCP को भी संशोधित किया जाए।
यह **एकमात्र तरीका है यह सुनिश्चित करने के लिए कि** **संसाधन पूर्वनिर्धारित पहुँच स्तरों से अधिक नहीं हो सकते**—यहा तक कि यदि पहचान-आधारित या संसाधन-आधारित नीति बहुत अधिक अनुमति देती है। इन सीमाओं को बायपास करने का एकमात्र तरीका यह है कि आपके संगठन के प्रबंधन खाते द्वारा कॉन्फ़िगर की गई RCP को भी संशोधित किया जाए।
> [!WARNING]
> RCPs केवल उन अनुमतियों को प्रतिबंधित करती हैं जो संसाधनों के पास हो सकती हैं। वे सीधे यह नियंत्रित नहीं करतीं कि प्रिंसिपल क्या कर सकते हैं। उदाहरण के लिए, यदि एक RCP एक S3 बकेट के लिए बाहरी पहुँच को अस्वीकार करत है, तो यह सुनिश्चित करत है कि बकेट की अनुमतियाँ कभी भी सेट सीमा से परे क्रियाओं की अनुमति नहीं देतीं—यहा तक कि यदि एक संसाधन-आधारित नीति गलत कॉन्फ़िगर की गई है।
> RCPs केवल उन अनुमतियों को प्रतिबंधित करती हैं जो संसाधनों के पास हो सकती हैं। वे सीधे यह नियंत्रित नहीं करतीं कि प्रिंसिपल क्या कर सकते हैं। उदाहरण के लिए, यदि एक RCP एक S3 बकेट के लिए बाहरी पहुँच को अस्वीकार करत है, तो यह सुनिश्चित करत है कि बकेट की अनुमतियाँ कभी भी सेट सीमा से परे क्रियाएँ करने की अनुमति नहीं देतीं—यहा तक कि यदि एक संसाधन-आधारित नीति गलत कॉन्फ़िगर की गई है।
RCP उदाहरण:
- S3 बकेट को इस तरह से प्रतिबंधित करें कि वे केवल आपके संगठन के भीतर के प्रिंसिपल द्वारा पहुँचा जा सके
- S3 बकेट को इस तरह से प्रतिबंधित करें कि वे केवल आपके संगठन के भीतर के प्रिंसिपल द्वारा पहुँचा जा सके
- KMS कुंजी के उपयोग को केवल विश्वसनीय संगठनात्मक खातों से संचालन की अनुमति देने के लिए सीमित करें
- SQS कतारों पर अनुमतियों को सीमित करें ताकि अनधिकृत संशोधनों को रोका जा सके
- संवेदनशील डेटा की सुरक्षा के लिए Secrets Manager रहस्यों पर पहुँच सीमाएँ लागू करें
उदाहरण [AWS Organizations Resource Control Policies दस्तावेज़](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) में खोजें
उदाहरण [AWS Organizations Resource Control Policies documentation](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) में खोजें
### ARN
**Amazon Resource Name** वह **विशिष्ट नाम** है जो AWS के भीतर हर संसाधन के पास होता है, यह इस तरह से बना होता है:
**Amazon Resource Name** वह **विशिष्ट नाम** है जो AWS के भीतर हर संसाधन क होता है, यह इस तरह से बना होता है:
```
arn:partition:service:region:account-id:resource-type/resource-id
arn:aws:elasticbeanstalk:us-west-1:123456789098:environment/App/Env
```
नोट करें कि AWS में 4 विभाजन हैं लेकिन उन्हें कॉल करने के केवल 3 तरीके हैं:
ध्यान दें कि AWS में 4 विभाजन हैं लेकिन उन्हें कॉल करने के केवल 3 तरीके हैं:
- AWS Standard: `aws`
- AWS China: `aws-cn`
@@ -101,8 +101,8 @@ arn:aws:elasticbeanstalk:us-west-1:123456789098:environment/App/Env
IAM वह सेवा है जो आपको अपने AWS खाते के भीतर **प्रमाणीकरण**, **अधिकार** और **पहुंच नियंत्रण** प्रबंधित करने की अनुमति देती है।
- **प्रमाणीकरण** - एक पहचान को परिभाषित करने और उस पहचान के सत्यापन की प्रक्रिया। इस प्रक्रिया को पहचान और सत्यापन में विभाजित किया जा सकता है।
- **अधिकार** - यह निर्धारित करता है कि एक पहचान एक प्रणाली के भीतर क्या एक्सेस कर सकती है जब इसे इसके लिए प्रमाणित किया गया हो।
- **पहुंच नियंत्रण** - सुरक्षित संसाधन तक पहुंच कैसे दी जाती है, इसकी विधि और प्रक्रिया।
- **अधिकार** - यह निर्धारित करता है कि एक पहचान एक प्रणाली के भीतर क्या एक्सेस कर सकती है जब इसे प्रमाणित किया गया हो।
- **पहुंच नियंत्रण** - यह सुरक्षित संसाधन तक पहुंच कैसे दी जाती है, इसकी विधि और प्रक्रिया।
IAM को इसकी क्षमता द्वारा परिभाषित किया जा सकता है कि यह आपके AWS खाते के भीतर पहचान के प्रमाणीकरण, अधिकार और पहुंच नियंत्रण तंत्रों का प्रबंधन, नियंत्रण और शासन कर सकता है।
@@ -110,7 +110,7 @@ IAM को इसकी क्षमता द्वारा परिभाष
जब आप पहली बार एक Amazon Web Services (AWS) खाता बनाते हैं, तो आप एक सिंगल साइन-इन पहचान के साथ शुरू करते हैं जिसके पास खाते में सभी AWS सेवाओं और संसाधनों तक **पूर्ण पहुंच** होती है। यह AWS खाता _**रूट उपयोगकर्ता**_ है और इसे **उस ईमेल पते और पासवर्ड के साथ साइन इन करके एक्सेस किया जाता है जिसका उपयोग आपने खाता बनाने के लिए किया था**
नोट करें कि एक नया **व्यवस्थापक उपयोगकर्ता** के पास **रूट उपयोगकर्ता की तुलना में कम अनुमतियाँ होंगी**
ध्यान दें कि एक नया **व्यवस्थापक उपयोगकर्ता** के पास **रूट उपयोगकर्ता की तुलना में कम अनुमतियाँ होंगी**
सुरक्षा के दृष्टिकोण से, अन्य उपयोगकर्ताओं को बनाना और इस एक का उपयोग करने से बचना अनुशंसित है।
@@ -142,7 +142,7 @@ MFA शर्तों वाली नीतियाँ निम्नलि
- एक IAM भूमिका की ट्रस्ट नीति जिसे एक उपयोगकर्ता द्वारा ग्रहण किया जा सकता है
यदि आप **CLI के माध्यम से** एक संसाधन तक पहुँच प्राप्त करना चाहते हैं जो **MFA की जांच करता है** तो आपको **`GetSessionToken`** कॉल करना होगा। यह आपको MFA के बारे में जानकारी के साथ एक टोकन देगा।\
नोट करें कि **`AssumeRole` क्रेडेंशियल्स में यह जानकारी शामिल नहीं होती है**।
ध्यान दें कि **`AssumeRole` क्रेडेंशियल्स में यह जानकारी नहीं होती**।
```bash
aws sts get-session-token --serial-number <arn_device> --token-code <code>
```
@@ -152,28 +152,28 @@ As [**यहां बताया गया है**](https://docs.aws.amazon.c
एक IAM [उपयोगकर्ता समूह](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) एक ऐसा तरीका है जिससे **एक समय में कई उपयोगकर्ताओं के लिए नीतियों को संलग्न किया जा सकता है**, जिससे उन उपयोगकर्ताओं के लिए अनुमतियों का प्रबंधन करना आसान हो सकता है। **भूमिकाएँ और समूह समूह का हिस्सा नहीं हो सकते**
आप एक **पहचान-आधारित नीति को एक उपयोगकर्ता समूह में संलग्न कर सकते हैं** ताकि उपयोगकर्ता समूह में सभी **उपयोगकर्ताओं को नीति की अनुमतियाँ प्राप्त हों**। आप **एक उपयोगकर्ता समूह** को **`Principal`** के रूप में **नीति** (जैसे संसाधन-आधारित नीति) में पहचान नहीं सकते क्योंकि समूह अनुमतियों से संबंधित होते हैं, प्रमाणीकरण से नहीं, और प्रिंसिपल प्रमाणीकरण किए गए IAM संस्थाएँ होत हैं।
आप एक **पहचान-आधारित नीति को एक उपयोगकर्ता समूह में संलग्न कर सकते हैं** ताकि उपयोगकर्ता समूह में सभी **उपयोगकर्ताओं को नीति की अनुमतियाँ प्राप्त हों**। आप **एक उपयोगकर्ता समूह** को **`Principal`** के रूप में **नीति** (जैसे संसाधन-आधारित नीति) में पहचान नहीं सकते क्योंकि समूह अनुमतियों से संबंधित होते हैं, प्रमाणीकरण से नहीं, और प्रिंसिपल प्रमाणीकरण किए गए IAM संस्थाएँ होत हैं।
उपयोगकर्ता समूह की कुछ महत्वपूर्ण विशेषताएँ हैं:
यहां उपयोगकर्ता समूह की कुछ महत्वपूर्ण विशेषताएँ हैं:
- एक उपयोगकर्ता **समूह** में **कई उपयोगकर्ता** हो सकते हैं, और एक **उपयोगकर्ता** **कई समूहों** का **भाग हो सकता है**
- **उपयोगकर्ता समूहों को नेस्ट नहीं किया जा सकता**; वे केवल उपयोगकर्ताओं को शामिल कर सकते हैं, अन्य उपयोगकर्ता समूहों को नहीं।
- **AWS खाते में सभी उपयोगकर्ताओं को स्वचालित रूप से शामिल करने वाला कोई डिफ़ॉल्ट उपयोगकर्ता समूह नहीं है**। यदि आप ऐसा उपयोगकर्ता समूह रखना चाहते हैं, तो आपको इसे बनाना होगा और प्रत्येक नए उपयोगकर्ता को इसमें असाइन करना होगा।
- AWS खाते में सभी उपयोगकर्ताओं को स्वचालित रूप से शामिल करने वाला **कोई डिफ़ॉल्ट उपयोगकर्ता समूह नहीं है**। यदि आप ऐसा उपयोगकर्ता समूह चाहते हैं, तो आपको इसे बनाना होगा और प्रत्येक नए उपयोगकर्ता को इसमें असाइन करना होगा।
- AWS खाते में IAM संसाधनों की संख्या और आकार, जैसे समूहों की संख्या, और एक उपयोगकर्ता जिस समूह का सदस्य हो सकता है, सीमित हैं। अधिक जानकारी के लिए, [IAM और AWS STS कोटा](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) देखें।
### [IAM भूमिकाएँ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) <a href="#id_iam-roles" id="id_iam-roles"></a>
एक IAM **भूमिका** एक **उपयोगकर्ता** के समान है, क्योंकि यह एक **पहचान है जिसमें अनुमति नीतियाँ होती हैं जो यह निर्धारित करती हैं कि** यह AWS में क्या कर सकता है और क्या नहीं। हालाँकि, एक भूमिका के साथ कोई **क्रेडेंशियल्स** (पासवर्ड या एक्सेस कुंजी) नहीं होत। एक व्यक्ति के साथ विशेष रूप से जुड़े होने के बजाय, एक भूमिका को **किसी भी व्यक्ति द्वारा अपनाने के लिए डिज़ाइन किया गया है जिसे इसकी आवश्यकता है (और जिसके पास पर्याप्त अनुमतियाँ हैं)**। एक **IAM उपयोगकर्ता एक भूमिका को अस्थायी रूप से** एक विशिष्ट कार्य के लिए विभिन्न अनुमतियाँ लेने के लिए अपना सकता है। एक भूमिका को एक [**संघीय उपयोगकर्ता**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) को असाइन किया जा सकता है जो IAM के बजाय एक बाहरी पहचान प्रदाता का उपयोग करके साइन इन करता है।
एक IAM **भूमिका** एक **उपयोगकर्ता** के समान है, क्योंकि यह एक **पहचान है जिसमें अनुमति नीतियाँ होती हैं जो यह निर्धारित करती हैं कि** यह AWS में क्या कर सकता है और क्या नहीं। हालाँकि, एक भूमिका के साथ **कोई प्रमाण-पत्र** (पासवर्ड या एक्सेस कुंजी) नहीं होता है। एक व्यक्ति के साथ विशेष रूप से जुड़ने के बजाय, एक भूमिका को **किसी भी व्यक्ति द्वारा ग्रहण किया जा सकता है जिसे इसकी आवश्यकता है (और जिसके पास पर्याप्त अनुमतियाँ हैं)**। एक **IAM उपयोगकर्ता एक भूमिका ग्रहण कर सकता है ताकि वह अस्थायी रूप से** किसी विशेष कार्य के लिए विभिन्न अनुमतियाँ ले सके। एक भूमिका को एक [**संघीय उपयोगकर्ता**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) को असाइन किया जा सकता है जो IAM के बजाय एक बाहरी पहचान प्रदाता का उपयोग करके साइन इन करता है।
एक IAM भूमिका में **दो प्रकार की नीतियाँ** होती हैं: एक **विश्वास नीति**, जो खाली नहीं हो सकती, यह परिभाषित करती है कि **कौन भूमिका को अपनाने** का अधिकार रखता है, और एक **अनुमति नीति**, जो खाली नहीं हो सकती, यह परिभाषित करती है कि **यह क्या एक्सेस कर सकता है**
एक IAM भूमिका में **दो प्रकार की नीतियाँ** होती हैं: एक **विश्वास नीति**, जो खाली नहीं हो सकती, यह परिभाषित करती है कि **कौन भूमिका ग्रहण कर सकता है**, और एक **अनुमति नीति**, जो खाली नहीं हो सकती, यह परिभाषित करती है कि **यह क्या एक्सेस कर सकता है**
#### AWS सुरक्षा टोकन सेवा (STS)
AWS सुरक्षा टोकन सेवा (STS) एक वेब सेवा है जो **अस्थायी, सीमित-विशेषाधिकार ्रेडेंशियल्स** के **जारी करने** की सुविधा प्रदान करती है। यह विशेष रूप से निम्नलिखित के लिए तैयार की गई है:
AWS सुरक्षा टोकन सेवा (STS) एक वेब सेवा है जो **अस्थायी, सीमित-विशेषाधिकार ्रमाण-पत्रों** के **जारी करने** की सुविधा प्रदान करती है। यह विशेष रूप से निम्नलिखित के लिए तैयार की गई है:
### [IAM में अस्थायी ्रेडेंशियल्स](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) <a href="#id_temp-creds" id="id_temp-creds"></a>
### [IAM में अस्थायी ्रमाण-पत्र](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) <a href="#id_temp-creds" id="id_temp-creds"></a>
**अस्थायी ्रेडेंशियल्स मुख्य रूप से IAM भूमिकाओं के साथ उपयोग किए जाते हैं**, लेकिन इसके अन्य उपयोग भी हैं। आप अस्थायी ्रेडेंशियल्स का अनुरोध कर सकते हैं जिनमें आपके मानक IAM उपयोगकर्ता की तुलना में अधिक सीमित अनुमतियों का सेट होता है। यह **आपको** **अनुमत नहीं होने वाले कार्यों को गलती से करने से रोकता है**। अस्थायी क्रेडेंशियल्स का एक लाभ यह है कि वे एक निर्धारित समय के बाद स्वचालित रूप से समाप्त हो जाते हैं। आपके पास यह नियंत्रित करने की क्षमता है कि ्रेडेंशियल्स कितने समय तक मान्य हैं।
**अस्थायी ्रमाण-पत्र मुख्य रूप से IAM भूमिकाओं के साथ उपयोग किए जाते हैं**, लेकिन इसके अन्य उपयोग भी हैं। आप अस्थायी ्रमाण-पत्रों के लिए अनुरोध कर सकते हैं जिनमें आपके मानक IAM उपयोगकर्ता की तुलना में अधिक सीमित अनुमतियों का सेट होता है। यह **आपको** **अनजाने में उन कार्यों को करने से रोकता है जो अधिक सीमित प्रमाण-पत्रों द्वारा अनुमति नहीं दी गई हैं**। अस्थायी प्रमाण-पत्रों का एक लाभ यह है कि वे एक निर्धारित समय के बाद स्वचालित रूप से समाप्त हो जाते हैं। आपके पास यह नियंत्रित करने की क्षमता है कि ्रमाण-पत्र कितने समय तक मान्य हैं।
### नीतियाँ
@@ -181,11 +181,11 @@ AWS सुरक्षा टोकन सेवा (STS) एक वेब स
अनुमतियों को असाइन करने के लिए उपयोग की जाती हैं। 2 प्रकार हैं:
- AWS प्रबंधित नीतियाँ (AWS द्वारा पूर्व-कॉन्फ़िगर की गई)
- AWS प्रबंधित नीतियाँ (AWS द्वारा पूर्व-निर्धारित)
- ग्राहक प्रबंधित नीतियाँ: आपके द्वारा कॉन्फ़िगर की गई। आप AWS प्रबंधित नीतियों के आधार पर नीतियाँ बना सकते हैं (उनमें से एक को संशोधित करके और अपनी खुद की बनाकर), नीति जनरेटर का उपयोग करके (एक GUI दृश्य जो आपको अनुमतियाँ देने और अस्वीकार करने में मदद करता है) या अपनी खुद की लिखकर।
**डिफ़ॉल्ट रूप से पहुँच** **अस्वीकृत** है, पहुँच तब दी जाएगी जब एक स्पष्ट भूमिका निर्दिष्ट की गई हो।\
यदि **एकल "Deny" मौजूद है, तो यह "Allow" को ओवरराइड करेगा**, सिवाय उन अनुरोधों के जो AWS खाते क रूट सुरक्षा ्रेडेंशियल्स का उपयोग करते हैं (जो डिफ़ॉल्ट रूप से अनुमति दी जाती हैं)।
यदि **एकल "Deny" मौजूद है, तो यह "Allow" को ओवरराइड करेगा**, सिवाय उन अनुरोधों के जो AWS खाते क रूट सुरक्षा ्रमाण-पत्रों का उपयोग करते हैं (जो डिफ़ॉल्ट रूप से अनुमति दी जाती हैं)।
```javascript
{
"Version": "2012-10-17", //Version of the policy
@@ -209,7 +209,7 @@ AWS सुरक्षा टोकन सेवा (STS) एक वेब स
}
```
[ग्लोबल फ़ील्ड जो किसी भी सेवा में शर्तों के लिए उपयोग किए जा सकते हैं, यहाँ दस्तावेज़ित हैं](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount).\
[विशिष्ट फ़ील्ड जो प्रत्येक सेवा के लिए शर्तों के लिए उपयोग किए जा सकते हैं, यहाँ दस्तावेज़ित हैं](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html).
[विशिष्ट फ़ील्ड जो सेवा के अनुसार शर्तों के लिए उपयोग किए जा सकते हैं, यहाँ दस्तावेज़ित हैं](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html).
#### इनलाइन नीतियाँ
@@ -224,17 +224,17 @@ AWS सुरक्षा टोकन सेवा (STS) एक वेब स
### IAM सीमाएँ
IAM सीमाएँ **एक उपयोगकर्ता या भूमिका को पहुँच की अनुमतियों को सीमित करने** के लिए उपयोग की जा सकती हैं। इस तरह, भले ही उपयोगकर्ता को **विभिन्न नीति** द्वारा अनुमतियों का एक अलग सेट दिया गया हो, यदि वह उनका उपयोग करने की कोशिश करता है तो संचालन **विफल** हो जाएगा।
IAM सीमाएँ **एक उपयोगकर्ता या भूमिका को पहुँच की अनुमतियों को सीमित करने के लिए** उपयोग की जा सकती हैं। इस तरह, भले ही उपयोगकर्ता को **विभिन्न नीति** द्वारा अनुमतियों का एक अलग सेट दिया गया हो, यदि वह उनका उपयोग करने की कोशिश करता है तो संचालन **विफल** हो जाएगा।
एक सीमा बस एक नीति है जो एक उपयोगकर्ता से जुड़ी होती है जो **यह संकेत करती है कि उपयोगकर्ता या भूमिका के पास अधिकतम अनुमतियों क स्तर क्या हो सकता है**तो, **भले ही उपयोगकर्ता के पास व्यवस्थापक पहुँच हो**, यदि सीमा यह संकेत करती है कि वह केवल S· बाल्टियों को पढ़ सकता है, तो यही अधिकतम है जो वह कर सकता है।
एक सीमा बस एक नीति है जो एक उपयोगकर्ता से जुड़ी होती है जो **उपयोगकर्ता या भूमिका के पास अधिकतम अनुमतियों क स्तर को इंगित करती है**इसलिए, **भले ही उपयोगकर्ता के पास व्यवस्थापक पहुँच हो**, यदि सीमा इंगित करती है कि वह केवल S· बाल्टियों को पढ़ सकता है, तो यही अधिकतम है जो वह कर सकता है।
**यह**, **SCPs** और **कम से कम विशेषाधिकार** सिद्धांत का पालन करना उन तरीकों में से हैं जिनसे यह नियंत्रित किया जा सकता है कि उपयोगकर्ताओं के पास उनकी आवश्यकता से अधिक अनुमतियाँ नहीं हैं।
### सत्र नीतियाँ
एक सत्र नीति एक **नीति है जो तब सेट की जाती है जब किसी भूमिका को अपनाया जाता है**। यह उस सत्र के लिए एक **IAM सीमा** की तरह होगी: इसका मतलब है कि सत्र नीति अनुमतियाँ नहीं देती है बल्कि **उन्हें नीति में निर्दिष्ट अनुमतियों तक सीमित करती है** (अधिकतम अनुमतियाँ वही होती हैं जो भूमिका के पास होती हैं)।
एक सत्र नीति एक **नीति है जो तब सेट की जाती है जब किसी भूमिका को किसी तरह से ग्रहण किया जाता है**। यह उस सत्र के लिए एक **IAM सीमा** की तरह होगी: इसका मतलब है कि सत्र नीति अनुमतियाँ नहीं देती है बल्कि **उन्हें नीति में निर्दिष्ट अनुमतियों तक सीमित करती है** (अधिकतम अनुमतियाँ वही होती हैं जो भूमिका के पास होती हैं)।
यह **सुरक्षा उपायों** के लिए उपयोगी है: जब एक व्यवस्थापक एक बहुत विशेषाधिकार प्राप्त भूमिका को अपनाने जा रहा है, तो वह सत्र नीति में निर्दिष्ट अनुमतियों तक पहुँच को केवल सीमित कर सकता है यदि सत्र से समझौता किया जाता है।
यह **सुरक्षा उपायों** के लिए उपयोगी है: जब एक व्यवस्थापक एक बहुत विशेषाधिकार प्राप्त भूमिका ग्रहण करने जा रहा है, तो वह सत्र नीति में निर्दिष्ट अनुमतियों तक पहुँच को केवल सीमित कर सकता है यदि सत्र से समझौता किया जाता है।
```bash
aws sts assume-role \
--role-arn <value> \
@@ -242,14 +242,14 @@ aws sts assume-role \
[--policy-arns <arn_custom_policy1> <arn_custom_policy2>]
[--policy <file://policy.json>]
```
नोट करें कि डिफ़ॉल्ट रूप से **AWS सत्रों में सत्र नीतियाँ जोड़ सकता है** जो तीसरे कारणों के कारण उत्पन्न होने वाले हैं। उदाहरण के लिए, [अप्रमाणित कॉग्निटो द्वारा मान्य भूमिकाएँ](../aws-services/aws-cognito-enum/cognito-identity-pools.md#accessing-iam-roles) में डिफ़ॉल्ट रूप से (सुधारित प्रमाणीकरण का उपयोग करते हुए), AWS **एक सत्र नीति के साथ सत्र क्रेडेंशियल्स उत्पन्न करेगा** जो उस सत्र को पहुँचने वाली सेवाओं को सीमित करता है [**निम्नलिखित सूची**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services)।
नोट करें कि डिफ़ॉल्ट रूप से **AWS सत्रों में सत्र नीतियाँ जोड़ सकता है** जो तीसरे कारणों के कारण उत्पन्न होने वाले हैं। उदाहरण के लिए, [अप्रमाणित कॉग्निटो द्वारा मान्य भूमिकाएँ](../aws-services/aws-cognito-enum/cognito-identity-pools.md#accessing-iam-roles) में डिफ़ॉल्ट रूप से (उन्नत प्रमाणीकरण का उपयोग करते हुए), AWS **एक सत्र नीति के साथ सत्र क्रेडेंशियल्स** उत्पन्न करेगा जो उस सत्र को पहुँचने वाली सेवाओं को सीमित करता है [**निम्नलिखित सूची**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services)।
इसलिए, यदि किसी बिंदु पर आप त्रुटि का सामना करते हैं "... क्योंकि कोई सत्र नीति अनुमति नहीं देती है ...", और भूमिका को क्रिया करने की अनुमति है, तो इसका मतलब है कि **एक सत्र नीति इसे रोक रही है**
### पहचान संघ
पहचान संघ **बाहरी पहचान प्रदाताओं से उपयोगकर्ताओं को AWS संसाधनों तक सुरक्षित रूप से पहुँचने की अनुमति देता है** बिना AWS उपयोगकर्ता क्रेडेंशियल्स प्रदान किए।\
एक पहचान प्रदाता का उदाहरण आपक अपन कॉर्पोरेट **Microsoft Active Directory** (द्वारा **SAML**) या **OpenID** सेवाएँ (जैसे **Google**) हो सकता है। संघीय पहुँच फिर उपयोगकर्ताओं को AWS तक पहुँचने की अनुमति देगी।
एक पहचान प्रदाता का उदाहरण आपक अपन कॉर्पोरेट **Microsoft Active Directory** (द्वारा **SAML**) या **OpenID** सेवाएँ (जैसे **Google**) हो सकता है। संघीय पहुँच फिर उपयोगकर्ताओं को AWS तक पहुँचने की अनुमति देगी।
इस विश्वास को कॉन्फ़िगर करने के लिए, एक **IAM पहचान प्रदाता उत्पन्न किया जाता है (SAML या OAuth)** जो **अन्य प्लेटफ़ॉर्म** पर **विश्वास करेगा**। फिर, कम से कम एक **IAM भूमिका (विश्वास करने वाली) पहचान प्रदाता को सौंपा जाता है**। यदि विश्वसनीय प्लेटफ़ॉर्म से कोई उपयोगकर्ता AWS तक पहुँचता है, तो वह उल्लेखित भूमिका के रूप में पहुँच रहा होगा।
@@ -277,7 +277,7 @@ AWS IAM पहचान केंद्र (AWS सिंगल साइन-ऑ
#### AwsSSOInlinePolicy
यह संभव है कि **IAM पहचान केंद्र के माध्यम से बनाई गई भूमिकाओं को इनलाइन नीतियों के माध्यम से अनुमति दी जाए**। जिन भूमिकाओं को दिए गए खातों में **AWS पहचान केंद्र में इनलाइन नीतियाँ** होंगी, उनके पास **`AwsSSOInlinePolicy`** नामक इनलाइन नीति में ये अनुमतियाँ होंगी।
यह संभव है कि **IAM पहचान केंद्र के माध्यम से बनाई गई भूमिकाओं को इनलाइन नीतियों के माध्यम से अनुमतियाँ दी जाए**। जिन भूमिकाओं को दिए गए खातों में **AWS पहचान केंद्र में इनलाइन नीतियाँ** होंगी, उनके पास **`AwsSSOInlinePolicy`** नामक इनलाइन नीति में ये अनुमतियाँ होंगी।
इसलिए, भले ही आप **`AwsSSOInlinePolicy`** नामक इनलाइन नीति के साथ 2 भूमिकाएँ देखें, यह **मतलब नहीं है कि इसके पास समान अनुमतियाँ हैं**
@@ -375,8 +375,25 @@ sts_regional_endpoints = regional
```
aws --profile acc2 ...
```
यदि आप इसके लिए कुछ **समान** ढूंढ रहे हैं लेकिन **ब्राउज़र** के लिए, तो आप **विस्तार** [**AWS Extend Switch Roles**](https://chrome.google.com/webstore/detail/aws-extend-switch-roles/jpmkfafbacpgapdghgdpembnojdlgkdl?hl=en) देख सकते हैं।
यदि आप इसके लिए कुछ **समान** खोज रहे हैं लेकिन **ब्राउज़र** के लिए, तो आप **विस्तार** [**AWS Extend Switch Roles**](https://chrome.google.com/webstore/detail/aws-extend-switch-roles/jpmkfafbacpgapdghgdpembnojdlgkdl?hl=en) देख सकते हैं।
#### अस्थायी क्रेडेंशियल्स को स्वचालित करना
यदि आप एक ऐसे एप्लिकेशन का शोषण कर रहे हैं जो अस्थायी क्रेडेंशियल्स उत्पन्न करता है, तो हर कुछ मिनटों में जब वे समाप्त होते हैं, तो उन्हें अपने टर्मिनल में अपडेट करना थकाऊ हो सकता है। इसे कॉन्फ़िग फ़ाइल में `credential_process` निर्देश का उपयोग करके ठीक किया जा सकता है। उदाहरण के लिए, यदि आपके पास कुछ कमजोर वेबऐप है, तो आप कर सकते हैं:
```toml
[victim]
credential_process = curl -d 'PAYLOAD' https://some-site.com
```
ध्यान दें कि क्रेडेंशियल्स को निम्नलिखित प्रारूप में STDOUT पर लौटाया जाना _चाहिए_:
```json
{
"Version": 1,
"AccessKeyId": "an AWS access key",
"SecretAccessKey": "your AWS secret access key",
"SessionToken": "the AWS session token for temporary credentials",
"Expiration": "ISO8601 timestamp when the credentials expire"
}
```
## संदर्भ
- [https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html)