ভিপিসি সার্ভিস কন্ট্রোল বেসিক টিউটোরিয়াল I

১. ভূমিকা

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

এই টিউটোরিয়ালের উদ্দেশ্যগুলো হলো:

  • VPC সার্ভিস কন্ট্রোলের মূল বিষয়গুলো বুঝুন
  • একটি VPC পরিষেবা পরিধি তৈরি করুন
  • VPC সার্ভিস কন্ট্রোলের মাধ্যমে একটি প্রজেক্ট সুরক্ষিত করুন
  • একটি VPC সার্ভিস কন্ট্রোলস ইনগ্রেস ভায়োলেশন ট্রাবলশুট করুন

২. সেটআপ এবং প্রয়োজনীয়তা

এই টিউটোরিয়ালটির জন্য আমাদের নিম্নলিখিত পূর্বশর্তগুলো প্রয়োজন:

  • একটি GCP সংস্থা।
  • সংস্থার অধীনে একটি ফোল্ডার।
  • একই সংস্থার অন্তর্গত ২টি GCP প্রজেক্ট একটি ফোল্ডারের অধীনে রাখা হয়েছে।
  • সংস্থা পর্যায়ে প্রয়োজনীয় অনুমতিসমূহ
  • উভয় প্রকল্পের জন্য বিলিং অ্যাকাউন্ট।

1a62ebea85d6d4fc.png

রিসোর্স সেটআপ

  1. গুগল ক্লাউড কনসোলে , অর্গানাইজেশনের অধীনে একটি ফোল্ডার এবং দুটি নতুন প্রজেক্ট তৈরি করুন। ( আপনি বিদ্যমান প্রজেক্টগুলোও পুনরায় ব্যবহার করতে পারেন )।

(যদি আপনার আগে থেকে কোনো Google Workspace/Cloud Identity অ্যাকাউন্ট না থাকে, তবে আপনাকে অবশ্যই একটি অ্যাকাউন্ট তৈরি করতে হবে, কারণ এই টিউটোরিয়ালটির জন্য আপনার একটি Organization থাকা প্রয়োজন হবে)।

  1. সাংগঠনিক পর্যায়ে এই টিউটোরিয়ালটির জন্য আপনার সঠিক অনুমতি আছে কিনা তা যাচাই করুন।
  1. নিশ্চিত করুন যে উভয় প্রজেক্টই ফোল্ডারটির অধীনে রয়েছে, কারণ আমাদের ফোল্ডার লেভেলে একটি স্কোপড পলিসি তৈরি করতে হবে। একটি প্রজেক্টকে ফোল্ডারে সরানোর বিষয়ে জানুন।

f7c75ab82028cb15.png

খরচ

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

একমাত্র ভিএম ইনস্ট্যান্সটির জন্যই খরচ হবে। আনুমানিক খরচ প্রাইসিং ক্যালকুলেটরে পাওয়া যাবে

৩. একটি পরিধি তৈরি করুন

এই পরীক্ষাগারে আমরা নিম্নলিখিত ধাপগুলো সম্পাদন করব:

  1. গুগল কনসোলে, আপনার সংস্থা নির্বাচন করুন এবং VPC পরিষেবা নিয়ন্ত্রণগুলিতে অ্যাক্সেস করুন । অনুগ্রহ করে নিশ্চিত করুন যে আপনি সংস্থা স্তরে আছেন।

43d5af2d5f084bb4.png

  1. 'Codelab' ফোল্ডারের জন্য একটি নতুন অ্যাক্সেস পলিসি তৈরি করতে 'Manage Policies'-এ ক্লিক করুন।

9f75d949ca9992c4.png

  1. এনফোর্সড মোডে একটি নতুন পেরিমিটার তৈরি করুন । এই টিউটোরিয়ালের জন্য এর নাম দেওয়া যাক "সুপারপ্রোটেকশন"।
  • সীমানা তৈরি করার সময়, প্রয়োগ করার জন্য প্রজেক্টটিকে ProjectZ হিসেবে নির্বাচন করুন।
  • পরিধির ধরণ হিসেবে 'নিয়মিত' নির্বাচন করুন।
  • "সীমাবদ্ধ করার জন্য পরিষেবা নির্দিষ্ট করুন" ডায়ালগে, সীমাবদ্ধ করার জন্য পরিষেবা হিসেবে "কম্পিউট ইঞ্জিন" নির্বাচন করুন।

পরিধির বিন্যাসটি দেখতে এইরকম হওয়া উচিত:

914d603103cb21.png

৪. পরিধিটি কার্যকর করা হয়েছে কিনা তা যাচাই করুন।

  1. ProjectX-এ প্রবেশ করুন এবং VM Instances হোম পেজে গিয়ে Compute Engine API অ্যাক্সেস করতে পারছেন কিনা তা যাচাই করুন। আপনার তা করতে পারার কথা, কারণ ProjectX তৈরি করা VPC SC পেরিমিটার দ্বারা সুরক্ষিত নয়।
  2. ProjectZ অ্যাক্সেস করুন এবং Compute Engine অ্যাক্সেস করতে পারছেন কিনা তা যাচাই করুন। আপনি দেখতে পাবেন যে VPC Service Controls দ্বারা অনুরোধটি নিষিদ্ধ করা হয়েছে, কারণ SuperProtection নামক সার্ভিস পেরিমিটারটি ProjectZ এবং Compute Engine API-কে সুরক্ষিত রাখে।

d5073543f783e9c7.png

৫. অস্বীকৃতির সমস্যা সমাধান

এর সমাধান কীভাবে করা যায় তা নির্ধারণ করার জন্য, প্রথমে আমাদের আসল সমস্যাটি চিহ্নিত করতে হবে।

  1. VPC সার্ভিস কন্ট্রোলস লগগুলিতে সুরক্ষিত রিসোর্সগুলির জন্য করা অনুরোধ এবং VPC সার্ভিস কন্ট্রোলস কেন অনুরোধটি প্রত্যাখ্যান করেছে তার কারণ সম্পর্কে বিস্তারিত তথ্য থাকে। চলুন, লগস এক্সপ্লোরারে নিম্নলিখিত কোয়েরিটি ব্যবহার করে ProjectZ অডিট লগ থেকে VPC সার্ভিস কন্ট্রোলস ইউনিক আইডিটি খুঁজে বের করি:
resource.type="audited_resource"
protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"

এটি সমস্ত VPC সার্ভিস কন্ট্রোলস অডিট লগ দেখাবে। আমরা সর্বশেষ এরর লগটি খুঁজব।

  1. VPC Service Controls হেডারে ক্লিক করুন এবং "Troubleshoot denial" নির্বাচন করুন, যা VPC Service Controls Troubleshooter খুলবে।

এই এপিআইটি একটি ব্যবহার-বান্ধব ইউজার ইন্টারফেসে আমাদেরকে লঙ্ঘনের কারণ দেখাবে এবং অন্যান্য দরকারি তথ্যের পাশাপাশি এটি প্রবেশজনিত নাকি নির্গমনজনিত লঙ্ঘন ছিল, সেটাও জানাবে।

এই অনুশীলনীর জন্য আমরা নিম্নলিখিত বিষয়গুলো খুঁজব:

"principalEmail": "user@domain"
"callerIp": "PUBLIC_IP_ADDRESS"
"serviceName": "compute.googleapis.com"
"servicePerimeterName":
"accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection
"ingressViolations": [
        {
"targetResource": "projects/[PROJECT_NUMBER]",
"servicePerimeter": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection"
        }
      ],
"violationReason": "NO_MATCHING_ACCESS_LEVEL",
"resourceNames": "[PROJECT_ID]"

ProjectZ-এ এই অস্বীকৃতিটি সমাধান করার জন্য আমাদের কাছে দুটি বিকল্প আছে।

  • আমার সিস্টেম আইপি-তে অ্যাক্সেস দেওয়ার মাধ্যমে পেরিমিটারের ভেতরে প্রজেক্টে প্রবেশের অনুমতি দেওয়ার জন্য একটি অ্যাক্সেস লেভেল তৈরি করা হচ্ছে।
  • সার্ভিস পরিধির বাইরে থেকে কোনো এপিআই ক্লায়েন্টকে সার্ভিস পরিধির ভেতরের রিসোর্সসমূহে অ্যাক্সেসের অনুমতি দেওয়ার জন্য একটি ইনগ্রেস রুল তৈরি করা।

এই টিউটোরিয়ালে আমরা একটি অ্যাক্সেস লেভেল তৈরি করার মাধ্যমে ট্রাবলশুট করব।

  1. ফোল্ডার (কোডল্যাব) স্কোপে থাকা অ্যাক্সেস কনটেক্সট ম্যানেজারে যান এবং একটি নতুন অ্যাক্সেস লেভেল তৈরি করুন।
  2. ‘বেসিক মোড’ ব্যবহার করুন এবং আইপি সাবনেটওয়ার্ক ও ভৌগোলিক অবস্থান পূরণ হলে আমরা অ্যাক্সেসের অনুমতি দেব।

678f0f9d7bac921d.png

  1. অর্গানাইজেশন স্কোপের অধীনে VPC সার্ভিস কন্ট্রোলস-এ যান। এই কোডল্যাবের জন্য আপনার অ্যাক্সেস পলিসি নির্বাচন করুন এবং আমাদের পূর্বে তৈরি করা পেরিমিটারটি সম্পাদনা করুন।
  2. ফোল্ডার স্কোপে তৈরি করা অ্যাক্সেস লেভেলটি যোগ করুন এবং সেভ করুন।

c0af5691dfe9dd75.png

৬. পরীক্ষার ফলাফল।

নিশ্চিত করুন যে আমাদের Compute Engine-এ অ্যাক্সেস আছে এবং আমরা একটি VM ইনস্ট্যান্স তৈরি করতে সক্ষম। এখন যেহেতু আমরা অ্যাক্সেস লেভেল তৈরি করে ফেলেছি, চলুন ProjectZ-এ Compute Engine অ্যাক্সেস করে একটি VM ইনস্ট্যান্স তৈরি করার চেষ্টা করি।

  1. কম্পিউট ইঞ্জিনে যান এবং ক্রিয়েট ইনস্ট্যান্স-এ ক্লিক করুন।

c1206aaf18497ec1.png

  1. সবকিছু ডিফল্ট অবস্থায় রেখে একটি স্বল্প খরচের ভিএম ইনস্ট্যান্স তৈরি করার চেষ্টা করুন।

প্রায় এক মিনিট পর, আপনি ভিএম ইনস্ট্যান্সটি তৈরি হতে দেখবেন এবং যাচাই করে দেখতে পারবেন যে পেরিমিটারের ভেতরে সুরক্ষিত কম্পিউট ইঞ্জিনে আপনার সম্পূর্ণ অ্যাক্সেস রয়েছে।

5b2ded02f669b2ef.png

৭. পরিচ্ছন্নতা

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

  1. আপনার ভিএম ইনস্ট্যান্সটি ডিলিট করতে, ভিএম ইনস্ট্যান্স নামের বাম পাশের চেকবক্সটি সিলেক্ট করুন এবং তারপর ডিলিট বাটনে ক্লিক করুন।

da0abf0894fe03cd.png

  1. পরিধিটি মুছে ফেলার জন্য, নিম্নলিখিত ধাপগুলি সম্পন্ন করুন:
  • গুগল ক্লাউড কনসোলে, সিকিউরিটি (Security) -তে ক্লিক করুন এবং তারপরে অর্গানাইজেশন (Organization) স্কোপে থাকা ভিপিসি সার্ভিস কন্ট্রোলস (VPC Service Controls) -এ ক্লিক করুন।
  • VPC সার্ভিস কন্ট্রোলস পেজে, আপনি যে পেরিমিটারটি মুছে ফেলতে চান তার সংশ্লিষ্ট টেবিলের সারিতে, "ডিলিট আইকন"-এ ক্লিক করুন।
  1. অ্যাক্সেস লেভেলটি মুছে ফেলার জন্য, নিম্নলিখিত ধাপগুলো সম্পন্ন করুন:
  • গুগল ক্লাউড কনসোলে, ফোল্ডার স্কোপের অধীনে অ্যাক্সেস কনটেক্সট ম্যানেজার পেজটি খুলুন।
  • গ্রিডে, আপনি যে অ্যাক্সেস লেভেলটি মুছতে চান তার সারিতে, "ডিলিট আইকন"-এ ক্লিক করুন এবং তারপরে ডিলিট-এ ক্লিক করুন।
  1. আপনার প্রজেক্টগুলো বন্ধ করতে, নিম্নলিখিত ধাপগুলো সম্পন্ন করুন:
  • গুগল ক্লাউড কনসোলে, আপনি যে প্রজেক্টটি মুছে ফেলতে চান তার IAM ও অ্যাডমিন সেটিংস পৃষ্ঠায় যান।
  • IAM ও অ্যাডমিন সেটিংস পেজে, শাটডাউন-এ ক্লিক করুন।
  • প্রজেক্ট আইডি প্রবেশ করান এবং 'Shutdown anyway'-তে ক্লিক করুন।

৮. অভিনন্দন!

এই কোডল্যাবে আপনি একটি ভিপিসি সার্ভিস কন্ট্রোলস পেরিমিটার তৈরি করেছেন, সেটি প্রয়োগ করেছেন এবং এর সমস্যা সমাধান করেছেন।

আরও জানুন

লাইসেন্স

এই কাজটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন ২.০ জেনেরিক লাইসেন্সের অধীনে লাইসেন্সকৃত।