मैं अपनी निजी परियोजना में अमेज़ॅन वेब सेवाओं का उपयोग करने के साथ खेल रहा हूं। मैंने .NET के लिए अपने एडब्ल्यूएस एसडीके को पकड़ लिया है और मैं इसका उपयोग कर रहा हूं, लेकिन मैं थोड़ा उलझन में हूं।अमेज़ॅन वेब सेवाओं के साथ एक गुप्त कुंजी रहस्य रखना
वेब सेवा तक पहुंच (इस मामले, SimpleDB में है, हालांकि मुझे लगता है कि वास्तव में सवाल करने के लिए सामग्री है नहीं लगता है) एक निजी/सार्वजनिक कुंजी युग्म के माध्यम से अधिकृत है।
AWSClientFactory.CreateAmazonSimpleDBClient(publicKey, privateKey);
यह एक क्लाइंट अनुप्रयोग है, इसलिए कोड ग्राहक पर पूरी तरह से चलाना होगा:
एडब्ल्यूएस एसडीके नेट एक ग्राहक वस्तु बनाने के लिए इस्तेमाल एपीआई के लिए निजी कुंजी की आवश्यकता है।
यह सुझाव देते हुए कि क्लाइंट को सरल डीबी तक पहुंचने के लिए मेरी निजी कुंजी तक पहुंच की आवश्यकता होगी। लेकिन अमेज़ॅन बार-बार और जोरदार रूप से बताता है कि मेरी निजी कुंजी को मेरा नियंत्रण नहीं छोड़ना चाहिए।
यह मुझे समझ में नहीं आता है, इसलिए मुझे लगता है कि मुझे कुछ याद आना चाहिए।
क्या क्लाइंट-साइड सामान्य रूप से अमेज़ॅन वेब सेवाओं के लिए गलत मॉडल है, .NET के लिए अपने एडब्ल्यूएस एसडीके का उपयोग करने के लिए, या क्या मुझे ऐसा कुछ याद आ रहा है जो क्लाइंट एप्लिकेशन को पूरी तरह से उचित बनाता है? क्या मेरे पास प्रॉक्सी सेवा बनाने के बिना इस पर काम करने का कोई अच्छा तरीका है जो ग्राहकों को प्रमाणीकृत करेगा और उनके अनुरोध को SimpleDB पर अग्रेषित करेगा?
मैं उत्तर की सराहना करता हूं। मैं मुख्य रूप से डेस्कटॉप दुनिया में काम करता हूं, इसलिए हस्ताक्षरित यूआरएल और हेडर प्रदान करने और प्रदान करने की संभावना कभी भी मेरे दिमाग में प्रवेश नहीं करती है। –
यदि आप इस मार्ग पर जाते हैं, तो क्या कोई अभी भी .NET API का उपयोग कर सकता है? –
मेरे अपने प्रश्न का उत्तर "नहीं" है - आपको AWSSDKUtils.HMACSign कॉल को दूरस्थ करने के लिए कोड को संशोधित करना होगा। –