এই কোডল্যাব সম্পর্কে
1. ভূমিকা
ওভারভিউ
এই কোডল্যাবটি আপনাকে কীভাবে ক্লাউড রান থেকে আইডেন্টিটি-অ্যাওয়ার প্রক্সি সক্ষম করতে হয় এবং প্রমাণীকরণের জন্য আইএপি-তে রাউটিং করে একটি ক্লাউড রান পরিষেবার জন্য আবদ্ধ ট্র্যাফিককে সুরক্ষিত করতে হয় তা নিয়ে চলে। ক্লাউড রান থেকে IAP সক্ষম করে, আপনি ডিফল্ট run.app URL এবং লোড ব্যালেন্সার সহ সমস্ত প্রবেশ পথ থেকে একক ক্লিকে ট্র্যাফিক রুট করতে পারেন৷
এই কোডল্যাবে, আপনি হ্যালো কন্টেইনার পরিষেবা স্থাপন করবেন। শুধুমাত্র IAP ব্যবহার করে অনুমোদিত তালিকাভুক্ত ব্যবহারকারীদেরই এই পরিষেবার অ্যাক্সেস আছে।
অন্যান্য পরিচিত সীমাবদ্ধতার জন্য, দয়া করে ক্লাউড রান ডকুমেন্টেশনে IAP দেখুন।
আপনি কি শিখবেন
- ক্লাউড রানের জন্য কীভাবে এক-ক্লিক আইএপি সক্ষম করবেন
- IAP-এর মাধ্যমে একটি ক্লাউড রান পরিষেবাতে কীভাবে ব্যবহারকারীর পরিচয় অ্যাক্সেস দেওয়া যায়
2. আপনি শুরু করার আগে
এপিআই সক্ষম করুন
আপনি এই কোডল্যাব ব্যবহার শুরু করার আগে, চালানোর মাধ্যমে নিম্নলিখিত APIগুলি সক্ষম করুন:
gcloud services enable \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com \
iap.googleapis.com \
run.googleapis.com \
cloudresourcemanager.googleapis.com
3. পরিবেশ ভেরিয়েবল তৈরি করুন
এই কোডল্যাব জুড়ে ব্যবহার করা হবে এমন পরিবেশ ভেরিয়েবল সেট করুন
export PROJECT_ID=<YOUR_PROJECT_ID>
export REGION=<YOUR_REGION>
export SERVICE_NAME=iap-example
export SERVICE_ACCOUNT_NAME=iap-example-sa
export PROJECT_NUMBER=$(gcloud projects describe "${PROJECT_ID}" --format="value(projectNumber)")
4. IAP সক্ষম করে একটি পরিষেবা স্থাপন করুন৷
এই কমান্ডটি চালানোর মাধ্যমে পরিষেবা অ্যাকাউন্ট (ক্লাউড রান পরিষেবা পরিচয় হিসাবে ব্যবহৃত) তৈরি করুন:
gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME \
--display-name="IAP codelab CR identity"
IAP সক্ষম করে হ্যালো কন্টেইনার ইমেজ স্থাপন করুন।
gcloud beta run deploy ${SERVICE_NAME} \
--image=us-docker.pkg.dev/cloudrun/container/hello \
--region=${REGION} \
--service-account $SERVICE_ACCOUNT_NAME@${PROJECT_ID}.iam.gserviceaccount.com \
--no-allow-unauthenticated \
--iap
দ্রষ্টব্য: আপনি যদি এখন অ্যাপ্লিকেশনটি অ্যাক্সেস করার চেষ্টা করেন, আপনি দেখতে পাবেন You don't have access
ত্রুটি পৃষ্ঠা৷ পরবর্তী ধাপে, আপনি IAP এর মাধ্যমে একজন ব্যবহারকারীকে অ্যাক্সেস প্রদান করবেন।
5. IAP অ্যাক্সেস কন্ট্রোল কনফিগার করুন
IAP পরিষেবা এজেন্ট তৈরি করুন।
gcloud beta services identity create --service=iap.googleapis.com --project=${PROJECT_ID}
IAP পরিষেবা অ্যাকাউন্টে ক্লাউড রান ইনভোকারের ভূমিকা বরাদ্দ করুন
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
--member="serviceAccount:service-${PROJECT_NUMBER}@gcp-sa-iap.iam.gserviceaccount.com" \
--role="roles/run.invoker"
IAP এর মাধ্যমে নির্দিষ্ট ব্যবহারকারী বা গোষ্ঠীকে অনুমতি দিয়ে একজন ব্যবহারকারীকে অ্যাক্সেস দিন
EMAIL_ADDRESS=<YOUR_EMAIL>
gcloud beta iap web add-iam-policy-binding \
--resource-type=cloud-run \
--service=${SERVICE_NAME} \
--region=${REGION} \
--member=user:${EMAIL_ADDRESS} \
--role=roles/iap.httpsResourceAccessor \
--condition=None
দ্রষ্টব্য: আপনি যদি পছন্দ করেন তবে সদস্য প্যারামিটারে group:your-group@example.com ব্যবহার করতে পারেন।
6. আবেদন পরীক্ষা করুন
অ্যাপে অ্যাক্সেস যাচাই করুন
ক্লাউড রান পরিষেবার উদাহরণের জন্য URL পান।
gcloud run services describe ${SERVICE_NAME} --region ${REGION} --format 'value(status.url)'
আপনার ব্রাউজারে URLটি খুলুন এবং আপনি দেখতে পাবেন "এটি চলছে! অভিনন্দন, আপনি সফলভাবে ক্লাউড রানে একটি কন্টেইনার ইমেজ স্থাপন করেছেন"
অ্যাপে অ্যাক্সেস সরানো যাচাই করুন
আপনি নিম্নলিখিত কমান্ডটি চালিয়ে অ্যাপে আপনার অ্যাক্সেস সরাতে পারেন।
gcloud beta iap web remove-iam-policy-binding \
--resource-type=cloud-run \
--service=${SERVICE_NAME} \
--region=${REGION} \
--member=user:${EMAIL_ADDRESS} \
--role=roles/iap.httpsResourceAccessor
IAM নীতি প্রচারের জন্য কয়েক মিনিট অপেক্ষা করুন। এখন আপনার ব্রাউজারে URLটি খোলার চেষ্টা করুন এবং আপনি দেখতে পাবেন You don't have access
৷
7. অভিনন্দন!
কোডল্যাব সম্পূর্ণ করার জন্য অভিনন্দন!
আমরা ক্লাউড রান আইএপি ডকুমেন্টেশন পর্যালোচনা করার পরামর্শ দিই।
আমরা কভার করেছি কি
- ক্লাউড রানের জন্য 1-ক্লিক IAP কীভাবে সক্ষম করবেন
- IAP-এর মাধ্যমে একটি ক্লাউড রান পরিষেবাতে কীভাবে ব্যবহারকারীর পরিচয় অ্যাক্সেস দেওয়া যায়
8. পরিষ্কার করুন
অসাবধানতাবশত চার্জ এড়ানোর জন্য, উদাহরণস্বরূপ, যদি ক্লাউড রান পরিষেবাগুলি আপনার মাসিক ক্লাউড রান ইনভোকমেন্ট বরাদ্দের চেয়ে বিনামূল্যের স্তরে আরও বেশি বার আহ্বান করা হয়, তাহলে আপনি ক্লাউড রান পরিষেবাটি মুছে ফেলতে পারেন iap-example
আপনি ধাপ 6 এ তৈরি করেছেন৷
ক্লাউড রান পরিষেবাটি মুছে ফেলতে, https://console.cloud.google.com/run-এ ক্লাউড রান ক্লাউড কনসোলে যান এবং iap-example
পরিষেবাটি মুছুন৷
সম্পূর্ণ প্রকল্প মুছে ফেলতে, সম্পদ পরিচালনা করুন- এ যান, আপনার প্রকল্প নির্বাচন করুন এবং মুছুন নির্বাচন করুন। আপনি যদি প্রকল্পটি মুছে ফেলেন, তাহলে আপনাকে আপনার ক্লাউড SDK-এ প্রকল্পগুলি পরিবর্তন করতে হবে৷ আপনি gcloud projects list
চালিয়ে সমস্ত উপলব্ধ প্রকল্পের তালিকা দেখতে পারেন।