একটি ডকার পাত্রে গোপনীয় বিষয়গুলি পাস করা


26

আমার একটি বেস ডকার ইমেজ রয়েছে যা চিত্র বিশ্লেষণ সফ্টওয়্যার চালাতে ব্যবহৃত হয়। চিত্র থেকে তৈরি প্রতিটি ধারকের জন্য, কনফিগারেশন সেটিংসের একটি সেট রয়েছে যার মধ্যে কিছু গোপনীয়তা (এনক্রিপশন কী, গ্রাহক সম্পর্কিত তথ্য ইত্যাদি) যা সফ্টওয়্যার দ্বারা প্রক্রিয়াজাত চিত্রগুলি বিশ্লেষণ এবং বিতরণ করতে ব্যবহৃত হয়। আমি কীভাবে নিরাপদে এই গোপনীয়াগুলি একটি ধারককে দিতে পারি?


হ্যাশিকর্প ভল্ট
030

উত্তর:


23

ডকার পাত্রে থাকা কোনও অ্যাপে গোপনীয়তা অর্জনের জন্য আপনার কাছে 3 টি পদ্ধতি রয়েছে। প্রথম 2 ডকার কনফিগারেশন জড়িত। সর্বশেষটি হ'ল আপনার অ্যাপ্লিকেশনগুলিতে কোনও গোপন স্টোর থেকে সরাসরি গোপনীয়তা আনতে হবে।

1 - পরিবেশ পরিবর্তনশীল

মতে "12 ফ্যাক্টর অ্যাপ" নির্দেশিকা গোপন নিছক কনফিগ, এবং তারা সবসময় পরিবেশে নির্ধারণ করা উচিত। ডকার চালানোর সময় আপনি আপনার গোপনীয়তাগুলিকে পরিবেশের পরিবর্তনশীল হিসাবে সেট করতে পারেন এবং আপনার অ্যাপটি সেখান থেকে সেগুলিতে অ্যাক্সেস করে।

2 - মাউন্ট ভলিউম

আপনার গোপনীয়তাগুলি একটি নির্দিষ্ট কনফিগারেশন / সিক্রেটস ফাইলের মধ্যে থাকতে পারে, তারপরে এটি একটি মাউন্ট ভলিউম হিসাবে আপনার উদাহরণে মাউন্ট করতে পারেন ।

3 - গোপন স্টোর থেকে আনুন

@ 030 হিসাবে উল্লিখিত হিসাবে, আপনি হ্যাশিকর্প ভল্ট (বা "অ্যামাজন সিক্রেটস ম্যানেজার", বা এর মতো কোনও পরিষেবা) ব্যবহার করতে পারেন।
আপনার অ্যাপ্লিকেশন, বা একটি সিডিকার অ্যাপ্লিকেশন ডকারের ধারকটিতে কোনও কনফিগারেশন না নিয়েই সরাসরি এটির গোপনীয়তা আনতে পারে। এই পদ্ধতিটি আপনাকে ডাইনামিক্যালি তৈরি করা গোপনীয়তা (যেমন সিস্টেমগুলির একটি খুব আকর্ষণীয় বৈশিষ্ট্য) ব্যবহার করার অনুমতি দেয় এবং ফাইল সিস্টেম থেকে গোপনীয়তাগুলি দেখার জন্য বা ডকারের ধারকটির এনভির ভেরিয়েবলগুলি পরীক্ষা না করে চিন্তা না করে।

ব্যক্তিগত মতামত

আমি বিশ্বাস করি এনভ ভেরিয়েবলগুলি চলার উপায়। এটি পরিচালনা করা সহজ, এবং আপনি এখনও হ্যাশিকর্প ভল্টের মতো কোনও গোপন স্টোর থেকে টানতে পারেন, যদি আপনার কাছে সিআই বিল্ড সিস্টেম থাকে তবে বিল্ড চলাকালীন গোপনীয়তাগুলি টানতে এবং সেটেল স্থাপন করার সময় সেগুলি সেট করে। আপনি উভয় দুনিয়ার সেরা এবং আপনার বিকাশকারীদের গোপনীয়তা আনার জন্য অ্যাপ্লিকেশন কোড লেখার প্রয়োজন নেই এমন অতিরিক্ত বেনিফিট পাবেন। ডেভসগুলি তাদের কোড কার্যকারিতাটিতে ফোকাস করা উচিত, এবং পাসওয়ার্ড আনার মতো প্রশাসনিক কাজগুলিতে ডিল না করা।

আপনার অ্যাপ্লিকেশনটির কোডটি নিজস্ব অ্যাপের কার্যকারিতা নিজেই ফোকাস করা উচিত, এবং পাসওয়ার্ড আনার মতো ব্যাকএন্ড কাজগুলি না করে। 12 টি ফ্যাক্টর অ্যাপের মতোই।

সম্পাদনা করুন: বিকাশকারী বনাম সিসএডমিন সাইলো-ইনগের প্রভাব ফেলতে শেষ বাক্যটি পরিবর্তন করা হয়েছে। কার্যগুলি কোনও কোডের দৃষ্টিকোণ থেকে পৃথক হওয়া উচিত, তবে ডিভোপস একই ব্যক্তি উভয়কে মাথায় রেখেই সীমাবদ্ধ নয় about

ব্যক্তিগত মতামত (আপডেট)

পি @ ডির্কের দুর্দান্ত মন্তব্য ( কোনও ডকারের ধারকের কাছে গোপনীয় বিষয়গুলি পাঠানো ), এএনভি ভার্সনের উপর কোনও গোপন স্টোরকে অগ্রাহ্য করার পক্ষে খুব দৃ strong় যুক্তি রয়েছে, সেগুলি ফাঁস না করার কারণে।


2
এটি সিলোকে উত্সাহ দেয়। ডিভসগুলি প্রাচীরের উপরে জিনিস ফেলে দেওয়ার পরিবর্তে একসাথে জিনিসগুলি করছে।
030

2
কোডটি অবকাঠামোগত উপাদানগুলি থেকে সিলোড করা উচিত । প্রকৃত লোকেরা অবকাঠামো অটোমেশন এবং অ্যাপ কোড বেস উভয়কেই কোড করতে পারে তবে তাদের নিজস্ব কাজগুলি পৃথক হওয়া উচিত। আমি দেখতে পাচ্ছি আমার আসল উত্তরের শেষ বাক্যটি ছিল দেবগণ, লোকদের কাছ থেকে সিলো-ইনগ। যে হয় ভুল। আমি এটিকে আরও পরিষ্কার করে সম্পাদনা করব।
বুমশ্যাডো

7
পরিবেশের ভেরিয়েবলগুলিতে গোপনীয়তা স্থাপন তাদের ফাঁস হওয়ার বিভিন্ন সম্ভাবনা সরবরাহ করে। কয়েকটি উদাহরণ: কনটেইনারটি চালিত মেশিনে ডকার ডিমনটিতে অ্যাক্সেস থাকা প্রত্যেকে তাদের আদেশ inspectবা execআদেশ ব্যবহার করে দেখতে পাবে । পরিবেশের ভেরিয়েবলগুলি stdoutকিছু ডিবাগ মোডে চলাকালীন প্রায়শই লগফাইলে বা ডগলে যায়। সমস্ত প্রসারিত শিশু প্রক্রিয়াগুলি এগুলি পড়তে এবং প্রকাশ করতে পারে যা আপনার নিয়ন্ত্রণের বাইরে চলে যেতে পারে। আরও তথ্য যেমন: ডায়োগোমোনিকা ডটকম
ডার্ক

1
আমিও এই প্রশ্নে জড়িয়ে পড়ছি। আমি যে জিনিসটি বুঝতে পারি না তা হ'ল আপনি যদি নিজের গোপনীয়তা সুরক্ষিত করার জন্য কোনও শংসাপত্রের ভল্টটি ব্যবহার করেন, তবুও আপনাকে সেই ভল্টটিতে অ্যাক্সেস পাওয়ার জন্য প্রমাণীকরণ করতে হবে এবং সম্ভবত এটি কোনও গোপনীয়তার প্রয়োজন। একই উদ্বেগটি পাসওয়ার্ড-সুরক্ষিত কীস্টোর ফাইলটি ব্যবহার করার ক্ষেত্রে প্রযোজ্য। আমরা কি সর্বদা পরিবেশে কমপক্ষে "মেটা শংসাপত্র" পাস করার সাথে আটকে থাকি?
হুইজিল

1
@ উইজিল একটি মেটা শংসাপত্র অনেকগুলি নির্দিষ্ট শংসাপত্রের চেয়ে সুরক্ষিত করা সহজ। আপনি ঘন ঘন এবং স্বয়ংক্রিয়ভাবে মেটা শংসাপত্রটি ঘোরান। মেটা শংসাপত্রটি একটি সুরক্ষিত হোস্টে থাকা একটি ভল্টে যেতে পারে এবং আইপি শ্বেত তালিকাভুক্ত করার মতো জিনিস থাকতে পারে যাতে এটি কেবল আপনার প্রোডাকশন সাবনেট থেকে সংযোগ গ্রহণ করে। আপনি এটিও নিশ্চিত করতে পারেন যে ভল্টটি বিশ্রামে এনক্রিপশন ব্যবহার করে এবং ফ্লাইট এবং মিউচুয়াল টিএসএল এবং শংসাপত্র পিনিং এবং অন্যান্য সমস্ত সেরা অনুশীলন যা জিনিসগুলিকে আরও সুরক্ষিত করে তা এনক্রিপশন ব্যবহার করে।
simbo1905

1

কেবল পাইপ ব্যবহার করে অন্য একটি বিকল্প রয়েছে:

docker run -d -i --name $n alpine sh -c 'read A; echo "[$A]"; exec some-server'
docker exec -i $n sh -c 'cat > /proc/1/fd/0' <<< _a_secret_

প্রথমে ডকার ডেমনটি তৈরি করুন -i, কমান্ডটি ইনপুটটির read Aজন্য অপেক্ষা করবে /proc/1/fd/0; তারপরে দ্বিতীয় ডকার কমান্ডটি চালান, স্টিডিন থেকে গোপনীয়তা পড়ুন এবং শেষ হ্যাংিং প্রক্রিয়াতে পুনর্নির্দেশ করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.