क्या AWS उपयोगकर्ताओं / खातों को किसी विशिष्ट क्षेत्र में प्रतिबंधित करना संभव है?


24

हम यूरोप-पश्चिम -1 क्षेत्र में कई एडब्ल्यूएस सेवाएं चलाते हैं। दुर्भाग्य से ऐसा लगता है कि हमारे कई डेवलपर्स और अन्य कर्मचारी जिन्हें अस्थायी संसाधन बनाने की आवश्यकता है, वे एडब्ल्यूएस के इस पहलू के बारे में भूल जाते हैं और ईसी 2 इंस्टेंसेस लॉन्च करने से पहले इस क्षेत्र का चयन नहीं करते हैं, एस 3 बकेट्स बनाते हैं, आदि परिणामस्वरूप वे अक्सर समाप्त होते हैं। us-east-1 क्षेत्र चूंकि वह डिफ़ॉल्ट है जो AWS हमेशा उपयोग करता है।

क्या आईएएम (या किसी अन्य तरीके) के माध्यम से उपयोगकर्ता खातों को केवल एक विशिष्ट क्षेत्र में लॉन्च करने / बनाने के लिए प्रतिबंधित करने का कोई तरीका है?

जवाबों:


25

दुर्भाग्य से आप विश्व स्तर पर ऐसा नहीं कर सकते। हालाँकि, प्रत्येक AWS उत्पाद जो इसका समर्थन करता है, के लिए आप आम तौर पर एक निश्चित क्षेत्र तक पहुँच को सीमित कर सकते हैं

उदाहरण के लिए, EC2 के लिए, आप निम्नलिखित कार्य कर सकते हैं:

{
  "Statement":[{
    "Effect":"allow",
    "Action":"RunInstances",
    "Resource":"*",
    "Condition":{
      "StringEquals":{
        "ec2:Region":"us-west-1"
        }
      }
    }
  ]
}

बेशक, आपको एक denyनियम जारी करने की आवश्यकता होगी जहां उपयुक्त हो।

यहाँ ऊपर के लिए प्रलेखन है।


उत्तम। यह वैसा ही दिखता है जैसा मुझे चाहिए। धन्यवाद!
ब्रूस पी

5
इसके बजाय "Condition": { "condition": {} }राज्य करना चाहिए"Condition": { "StringEquals": {} }
जैसी - अर्नोल्ड डेनियल

S3 जैसी अन्य सेवाओं के बारे में क्या?
यवेस एम।

7

कुछ इस तरह का उपयोग करें। यह उदाहरण दो AWS क्षेत्रों तक पहुँच को प्रतिबंधित करता है। आवश्यकतानुसार संशोधित करें।

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Deny",
    "Action": "*",
    "Resource": "*",
    "Condition": {
      "StringNotEquals": {
        "aws:RequestedRegion": [
          "eu-central-1",
          "eu-west-1"
        ]
      }
    }
  }]
}

3
नए को aws:RequestedRegion
समझें

1
धन्यवाद, इस नीति के साथ आप डिफ़ॉल्ट AWS उपलब्ध नीतियों का उपयोग कर सकते हैं और केवल इस एक इनलाइन को संलग्न कर सकते हैं और आप प्रभावी रूप से किसी भी सेवा को प्रतिबंधित कर सकते हैं।
lkraider

7

25 अप्रैल 2018 से, AWS के पास एक वैश्विक संसाधन aws है: अनुरोधित क्षेत्र जिसका उपयोग आप उन क्षेत्रों को सीमित करने के लिए कर सकते हैं जो उपयोगकर्ता अनुरोध भेज सकते हैं। यह सेवा क्षेत्रीय होने या न होने से स्वतंत्र है, इसलिए आप इसे सभी सेवाओं पर लागू कर सकते हैं।

AWS सिक्योरिटी ब्लॉग

दुर्भाग्यवश आप इसे किसी संगठन की सेवा नियंत्रण नीति में विश्व स्तर पर किसी खाते में लागू करने के लिए उपयोग नहीं कर सकते हैं, और आपको हर एक प्रिंसिपल और ऑडिट के लिए पॉलिसी संलग्न करनी होगी, यदि आप कुछ क्षेत्रों में खाता लॉक करना चाहते हैं।


4

इस सूत्र पर स्वीकृत उत्तर दिया गया Syntax Error on Policy। नीचे मेरे लिए काम किया:

{
"Statement": [
    {
        "Sid": "Stmt1375943389569",
        "Action": "ec2:*",
        "Effect": "Allow",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "ec2:Region": "eu-central-1"
            }
        }
    }
]

}


3

यदि आप केवल EC2 कार्यों के लिए पूछते हैं, तो हाँ, आप इसे अन्य प्रतिक्रियाओं के अनुसार सीमित कर सकते हैं। यदि यह अन्य सेवाएं हैं, तो मुझे यकीन नहीं है कि आप यह कर सकते हैं ... उदाहरण के लिए AWS लैंबडा में ऐसा प्रतीत नहीं होता है कि lambda:regionआप किसी शर्त में जोड़ सकते हैं।


0

AWS IAM के लिए अक्सर पूछे जाने वाले प्रश्न से :

प्रश्न: क्या उपयोगकर्ताओं को क्षेत्रीय रूप से परिभाषित किया जा सकता है? शुरू में नहीं। उपयोगकर्ता वैश्विक संस्थाएं हैं, जैसे AWS खाता आज है। उपयोगकर्ता अनुमतियों को परिभाषित करते समय किसी भी क्षेत्र को निर्दिष्ट करने की आवश्यकता नहीं है। उपयोगकर्ता किसी भी भौगोलिक क्षेत्र में AWS सेवाओं का उपयोग करने में सक्षम हैं।


3
वाह। अमेज़ॅन से खराब लिखित उत्तर क्या है। "शुरू में नहीं।" क्या इसका मतलब यह है कि यह खाता बनने के बाद किया जा सकता है? क्या इसका मतलब यह है कि एडब्ल्यूएस पहली बार लॉन्च नहीं किया गया था, लेकिन अब यह हो सकता है? "उपयोगकर्ता अनुमतियों को परिभाषित करते समय किसी भी क्षेत्र को निर्दिष्ट करने की आवश्यकता नहीं है।" अगर यह आवश्यक था तो मैंने नहीं पूछा। मैंने पूछा कि क्या ऐसा करना संभव था। "उपयोगकर्ता किसी भी भौगोलिक क्षेत्र में AWS सेवाओं का उपयोग करने में सक्षम हैं।" जाहिर है कि EEAA ने जो कुछ भी पोस्ट किया है, उसके आधार पर कोई और अधिक नहीं। IAM में "स्थिति" स्टेटमेंट आपको कुछ सेवाओं को क्षेत्र द्वारा प्रतिबंधित करने देता है। सिर्फ एक ही धन्यवाद।
ब्रूस पी

1
@ ब्रूस - यह एक गरीब जवाब नहीं है। यह पूरी तरह से ठीक है। उपयोगकर्ता वैश्विक हैं। उपयोगकर्ता विशेषाधिकारों को प्रतिबंधित किया जा सकता है।
ईईएए

0

मैंने इसे बेहतर तरीके से काम करने के लिए पाया (उपयोगकर्ता को केवल एक क्षेत्र के लिए पूर्ण EC2 पहुंच प्रदान करने के लिए लॉन्च / रोक / समाप्त / समाप्त करने की अनुमति देता है) - हर दूसरे क्षेत्र में किसी भी प्रयास के दौरान त्रुटि दिखाई देती है।

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": "*",
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:Region": "us-east-1"
                }
            }
        }
    ]
}

0

यह मेरे लिए काम करता है, मैंने स्वीकार किए गए उत्तर के रूप में उल्लेखित जोंस के साथ नीति बनाने की कोशिश की लेकिन यह मेरे लिए काम नहीं करता है।

{
    "Version": "2012-10-17",
    "Statement": [{
        "Action": "ec2:*",
        "Effect": "Allow",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "ec2:Region": [
                    "us-east-1"
                ]
            }
        }
    }]
}

0

यह वर्तमान समाधान है - "यूरोप-पश्चिम -1" का उपयोग करके:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect"    : "Allow",
            "Action"    : "*",
            "Resource"  : "*",
            "Condition": 
            {
                "StringEquals": {
                    "aws:RequestedRegion": "eu-west-1"
                }
            }
        }
    ]
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.