इस कोडलैब (कोड बनाना सीखने के लिए ट्यूटोरियल) के बारे में जानकारी
1. परिचय
खास जानकारी
इस कोडलैब में, Cloud Run से Identity-Aware Proxy को चालू करने का तरीका बताया गया है. साथ ही, पुष्टि करने के लिए IAP पर रूट करके, Cloud Run सेवा के लिए आने वाले ट्रैफ़िक को सुरक्षित करने का तरीका भी बताया गया है. Cloud Run में IAP चालू करके, सभी इनग्रेस पाथ से एक क्लिक में ट्रैफ़िक को रूट किया जा सकता है. इनमें डिफ़ॉल्ट run.app यूआरएल और लोड बैलेंसर भी शामिल हैं.
इस कोडलैब में, आपको hello कंटेनर सेवा को डिप्लॉय करना होगा. सिर्फ़ वे उपयोगकर्ता इस सेवा का ऐक्सेस पा सकते हैं जिन्हें IAP का इस्तेमाल करके अनुमति दी गई है.
अन्य सीमाओं के बारे में जानने के लिए, कृपया Cloud Run पर IAP का दस्तावेज़ देखें.
आपको क्या सीखने को मिलेगा
- Cloud Run के लिए, एक क्लिक में आईएपी चालू करने का तरीका
- IAP की मदद से, किसी उपयोगकर्ता की पहचान को Cloud Run सेवा का ऐक्सेस देने का तरीका
2. शुरू करने से पहले
एपीआई चालू करें
इस कोडलैब का इस्तेमाल शुरू करने से पहले, इन एपीआई को चालू करें:
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 की सुविधा चालू करके सेवा को डिप्लॉय करना
यह कमांड चलाकर, सेवा खाता बनाएं. इसका इस्तेमाल Cloud Run की सेवा पहचान के तौर पर किया जाता है:
gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME \
--display-name="IAP codelab CR identity"
IAP की सुविधा चालू करके, hello कंटेनर इमेज को डिप्लॉय करें.
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 सेवा एजेंट बनाएं.
gcloud beta services identity create --service=iap.googleapis.com --project=${PROJECT_ID}
IAP सेवा खाते को Cloud Run Invoker की भूमिका असाइन करना
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. ऐप्लिकेशन की जांच करना
ऐप्लिकेशन के ऐक्सेस की पुष्टि करना
Cloud Run सेवा के उदाहरण का यूआरएल पाएं.
gcloud run services describe ${SERVICE_NAME} --region ${REGION} --format 'value(status.url)'
अपने ब्राउज़र में यूआरएल खोलें. आपको "यह चल रहा है! बधाई हो, आपने Cloud Run में कंटेनर इमेज को डिप्लॉय कर दिया है"
ऐप्लिकेशन का ऐक्सेस हटाने की पुष्टि करना
नीचे दिया गया निर्देश चलाकर, ऐप्लिकेशन से अपना ऐक्सेस हटाया जा सकता है.
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 नीति के लागू होने में कुछ मिनट लग सकते हैं. अब अपने ब्राउज़र में यूआरएल खोलें. आपको You don't have access
गड़बड़ी वाला पेज दिखेगा.
7. बधाई हो!
कोडलैब पूरा करने के लिए बधाई!
हमारा सुझाव है कि आप Cloud Run IAP के दस्तावेज़ देखें.
हमने क्या-क्या कवर किया है
- Cloud Run के लिए, एक-क्लिक वाले आईएपी को चालू करने का तरीका
- IAP की मदद से, Cloud Run सेवा को उपयोगकर्ता की पहचान का ऐक्सेस देने का तरीका
8. व्यवस्थित करें
अनजाने में लगने वाले शुल्कों से बचने के लिए, छठे चरण में बनाई गई Cloud Run सेवा iap-example
को मिटाया जा सकता है. उदाहरण के लिए, अगर Cloud Run सेवाओं को मुफ़्त टीयर में, हर महीने Cloud Run को इस्तेमाल करने के लिए तय किए गए कोटे से ज़्यादा बार इस्तेमाल किया जाता है, तो ऐसा किया जा सकता है.
Cloud Run सेवा मिटाने के लिए, https://console.cloud.google.com/run पर Cloud Run Cloud Console पर जाएं और iap-example
सेवा मिटाएं.
पूरा प्रोजेक्ट मिटाने के लिए, संसाधन मैनेज करें पर जाएं. इसके बाद, अपना प्रोजेक्ट चुनें और 'मिटाएं' को चुनें. प्रोजेक्ट मिटाने पर, आपको अपने Cloud SDK में प्रोजेक्ट बदलने होंगे. gcloud projects list
चलाकर, सभी उपलब्ध प्रोजेक्ट की सूची देखी जा सकती है.