1. परिचय
खास जानकारी
Cloud Run फ़ंक्शन, डेवलपर के लिए एक आसान कंप्यूट सॉल्यूशन है. इसकी मदद से, एक ही मकसद के लिए स्टैंड-अलोन फ़ंक्शन बनाए जा सकते हैं. इन्हें एचटीटीपीएस का इस्तेमाल करके ट्रिगर किया जा सकता है या ये CloudEvents का जवाब दे सकते हैं. इसके लिए, सर्वर या रनटाइम एनवायरमेंट को मैनेज करने की ज़रूरत नहीं होती. हमारी ब्लॉग पोस्ट में, Cloud Run फ़ंक्शन के बारे में ज़्यादा जानें.
Cloud Run फ़ंक्शन के इनवॉकेशन को कंट्रोल करने के दो मुख्य तरीके हैं: पहचान के आधार पर ऐक्सेस को सुरक्षित करना और नेटवर्क के आधार पर ऐक्सेस कंट्रोल का इस्तेमाल करके ऐक्सेस को सुरक्षित करना. यह कोडलैब, पहले तरीके पर फ़ोकस करता है. साथ ही, किसी फ़ंक्शन को शुरू करने के लिए, पहचान के आधार पर ऐक्सेस को सुरक्षित करने के तीन तरीकों के बारे में बताता है:
- स्थानीय डेवलपमेंट और टेस्टिंग के लिए, किसी फ़ंक्शन को शुरू करने के लिए अपने gcloud आइडेंटिटी टोकन का इस्तेमाल करना
- स्थानीय तौर पर डेवलपमेंट और टेस्टिंग करते समय, सेवा खाते के तौर पर काम करना, ताकि प्रोडक्शन में इस्तेमाल किए गए क्रेडेंशियल का इस्तेमाल किया जा सके
- Google Cloud API के लिए पुष्टि करने की प्रोसेस को मैनेज करने के लिए, Google क्लाइंट लाइब्रेरी का इस्तेमाल करें. उदाहरण के लिए, जब किसी सेवा को फ़ंक्शन शुरू करना हो
आपको क्या सीखने को मिलेगा
- Cloud Run फ़ंक्शन पर पुष्टि करने की सुविधा को कॉन्फ़िगर करने का तरीका और यह पुष्टि करना कि पुष्टि करने की सुविधा को सही तरीके से कॉन्फ़िगर किया गया है
- gcloud आइडेंटिटी के लिए टोकन देकर, लोकल डेवलपमेंट एनवायरमेंट से पुष्टि किया गया फ़ंक्शन शुरू करना
- सेवा खाता बनाने और किसी फ़ंक्शन को शुरू करने के लिए, उसे सही भूमिका असाइन करने का तरीका
- लोकल डेवलपमेंट एनवायरमेंट से किसी सेवा के तौर पर काम करने का तरीका. इस एनवायरमेंट में, फ़ंक्शन को चालू करने के लिए ज़रूरी भूमिकाएं मौजूद हों
2. सेटअप और ज़रूरी शर्तें
ज़रूरी शर्तें
- आपने Cloud Console में लॉग इन किया हो
- आपने पहले एचटीटीपी ट्रिगर किया गया Cloud Run फ़ंक्शन डिप्लॉय किया हो. क्विकस्टार्ट का उदाहरण देखें.
- (ज़रूरी नहीं) तीसरे उदाहरण के लिए, यह कोडलैब Node.js और npm का इस्तेमाल करता है. हालांकि, Google Auth क्लाइंट लाइब्रेरी के साथ काम करने वाले किसी भी रनटाइम का इस्तेमाल किया जा सकता है.
Cloud Shell चालू करें
- Cloud Console में, Cloud Shell चालू करें
पर क्लिक करें.

अगर आपने Cloud Shell को पहली बार शुरू किया है, तो आपको एक इंटरमीडिएट स्क्रीन दिखेगी. इसमें Cloud Shell के बारे में जानकारी दी गई होगी. अगर आपको इंटरमीडिएट स्क्रीन दिखती है, तो जारी रखें पर क्लिक करें.

Cloud Shell से कनेक्ट होने में कुछ ही सेकंड लगेंगे.

इस वर्चुअल मशीन में, डेवलपमेंट के लिए ज़रूरी सभी टूल पहले से मौजूद हैं. यह 5 जीबी की होम डायरेक्ट्री उपलब्ध कराता है, जो हमेशा बनी रहती है. साथ ही, यह Google Cloud में काम करता है. इससे नेटवर्क की परफ़ॉर्मेंस और पुष्टि करने की प्रोसेस बेहतर होती है. इस कोडलैब में ज़्यादातर काम ब्राउज़र से किया जा सकता है.
Cloud Shell से कनेक्ट होने के बाद, आपको दिखेगा कि आपकी पुष्टि हो गई है और प्रोजेक्ट को आपके प्रोजेक्ट आईडी पर सेट कर दिया गया है.
- पुष्टि करें कि आपने Cloud Shell में पुष्टि कर ली है. इसके लिए, यह कमांड चलाएं:
gcloud auth list
कमांड आउटपुट
Credentialed Accounts
ACTIVE ACCOUNT
* <my_account>@<my_domain.com>
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- यह पुष्टि करने के लिए कि gcloud कमांड को आपके प्रोजेक्ट के बारे में पता है, Cloud Shell में यह कमांड चलाएं:
gcloud config list project
कमांड आउटपुट
[core] project = <PROJECT_ID>
अगर ऐसा नहीं है, तो इस कमांड का इस्तेमाल करके इसे सेट किया जा सकता है:
gcloud config set project <PROJECT_ID>
कमांड आउटपुट
Updated property [core/project].
3. पुष्टि किया गया Cloud Run फ़ंक्शन बनाना और उसकी जांच करना
पुष्टि करने की ज़रूरत होने का मतलब है कि फ़ंक्शन को कॉल करने वाले प्रिंसिपल के पास Cloud Run Invoker की भूमिका होनी चाहिए. ऐसा न होने पर, फ़ंक्शन 403 Forbidden गड़बड़ी दिखाएगा. इस कोडलैब में, किसी प्रिंसिपल को इन्वोकर की सही भूमिकाएं असाइन करने का तरीका बताया गया है.
gcloud कमांड को आसान बनाने के लिए, लोकल एनवायरमेंट वैरिएबल सेट अप करना
सबसे पहले, कुछ एनवायरमेंट वैरिएबल बनाए जाएंगे, ताकि इस कोडलैब में इस्तेमाल की गई gcloud कमांड को आसानी से पढ़ा जा सके.
REGION=us-central1 PROJECT_ID=$(gcloud config get-value project)
फ़ंक्शन के लिए सोर्स कोड बनाना
इस कोडलैब में Node.js का इस्तेमाल किया गया है. हालांकि, Google Auth की क्लाइंट लाइब्रेरी के साथ काम करने वाले किसी भी रनटाइम का इस्तेमाल किया जा सकता है.
सबसे पहले, एक डायरेक्ट्री बनाएं और उस डायरेक्ट्री में cd करें.
mkdir auth-function-codelab && cd $_
इसके बाद, package.json फ़ाइल बनाएं.
touch package.json
echo '{
"dependencies": {
"@google-cloud/functions-framework": "^3.0.0"
}
}
' > package.json
इसके बाद, index.js सोर्स फ़ाइल बनाएं.
touch index.js
echo 'const functions = require("@google-cloud/functions-framework");
functions.http("helloWorld", (req, res) => {
res.send(`Hello ${req.query.name || req.body.name || "World"}!`);
});' > index.js
पुष्टि किया गया फ़ंक्शन बनाना
nodejs20 रनटाइम के लिए पुष्टि किया गया फ़ंक्शन बनाने का तरीका यहां दिया गया है. हालांकि, Google Auth की क्लाइंट लाइब्रेरी के साथ काम करने वाले किसी भी रनटाइम का इस्तेमाल किया जा सकता है.
FUNCTION_NAME=authenticated-function-codelab ENTRY_POINT=helloWorld
Cloud Run फ़ंक्शन को सीधे Cloud Run पर डिप्लॉय करने के लिए, यह कमांड चलाएं:
gcloud beta run deploy $FUNCTION_NAME \
--source . \
--function helloWorld \
--region $REGION \
--no-allow-unauthenticated
इसके बाद, फ़ंक्शन के यूआरएल को एनवायरमेंट वैरिएबल के तौर पर सेव किया जा सकता है, ताकि बाद में इसका इस्तेमाल किया जा सके.
FUNCTION_URL="$(gcloud run services describe $FUNCTION_NAME --region $REGION --format 'value(status.url)')"
अगर आपको Cloud Functions 2nd gen के तौर पर डिप्लॉय करना है, तो इस कमांड का इस्तेमाल करें:
gcloud functions deploy nodejs-http-function \ --gen2 \ --runtime=nodejs20 \ --region=$REGION \ --source=. \ --entry-point=helloWorld \ --trigger-http \ --no-allow-unauthenticated
इसके बाद, फ़ंक्शन के यूआरएल को एनवायरमेंट वैरिएबल के तौर पर सेव किया जा सकता है, ताकि बाद में इसका इस्तेमाल किया जा सके.
FUNCTION_URL="$(gcloud functions describe $FUNCTION_NAME --gen2 --region us-central1 --format='get(serviceConfig.uri)')"
पुष्टि करें कि फ़ंक्शन के लिए पुष्टि करना ज़रूरी है. इसके लिए, पहचान ज़ाहिर किए बिना कॉल करने वाले व्यक्ति के तौर पर फ़ंक्शन को चालू करने की कोशिश करें
पुष्टि किए बिना फ़ंक्शन को कॉल करें, ताकि यह पुष्टि की जा सके कि आपको उम्मीद के मुताबिक 403 गड़बड़ी मिली है.
कमांड लाइन से, यह curl कमांड चलाएं:
curl -i $FUNCTION_URL
आपको यह नतीजा दिखेगा:
<html><head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>403 Forbidden</title> </head> <body text=#000000 bgcolor=#ffffff> <h1>Error: Forbidden</h1> <h2>Your client does not have permission to get URL <code>/</code> from this server.</h2> <h2></h2> </body></html>
अब आपके पास तीन ऐसे उदाहरण हैं जिनमें पुष्टि करके, फ़ंक्शन को चालू किया जा सकता है.
4. पहला तरीका: gcloud आइडेंटिटी टोकन का इस्तेमाल करना
डेवलपर के तौर पर, आपको फ़ंक्शन को स्थानीय तौर पर डेवलप करते समय, उसकी जांच करने का तरीका चाहिए होगा. इस सेक्शन में, आपको एक छोटा सा टेस्ट करना होगा. इससे यह पुष्टि की जा सकेगी कि फ़ंक्शन की पुष्टि, आपकी पहचान का इस्तेमाल करके सही तरीके से की गई है.
पुष्टि करें कि आपने gcloud का इस्तेमाल करके पुष्टि की है. इसके लिए, यह निर्देश चलाएं:
gcloud auth list
आपको अपनी चालू पहचान के बगल में तारांक दिखेगा. उदाहरण के लिए:
Credentialed Accounts
ACTIVE ACCOUNT
* <my_account>@<my_domain.com>
To set the active account, run:
$ gcloud config set account `ACCOUNT`
दस्तावेज़ में, gcloud init सेट अप करने और gcloud auth login के बारे में ज़्यादा जानकारी दी गई है.
इसके बाद, फ़ंक्शन को शुरू करें और उसमें अपना आइडेंटिटी टोकन पास करें.
curl $FUNCTION_URL -H "Authorization: bearer $(gcloud auth print-identity-token)"
अब आपको यह नतीजा दिखेगा:
Hello World!
समस्या का हल
अगर आपको 403 वाली गड़बड़ी का मैसेज मिलता है, तो पक्का करें कि आपकी पहचान के पास Cloud Run Invoker की भूमिका हो. किसी मुख्य खाते को दी गई भूमिकाओं की पुष्टि करने के लिए, आईएएम कंसोल का इस्तेमाल किया जा सकता है.
हालांकि, डेवलपमेंट के दौरान अपने आइडेंटिटी टोकन का इस्तेमाल करके, फ़ंक्शन को तुरंत टेस्ट किया जा सकता है. हालांकि, पुष्टि किए गए फ़ंक्शन को कॉल करने वाले व्यक्ति के पास ज़रूरी भूमिकाएं होनी चाहिए. ऐसा न होने पर, उसे 403 Forbidden गड़बड़ी का मैसेज मिलेगा.
आपको कम से कम अधिकारों के सिद्धांत का पालन करना होगा. इसके लिए, आपको उन पहचानों और सेवा खातों की संख्या सीमित करनी होगी जिनके पास फ़ंक्शन को लागू करने की भूमिकाएं हैं. अगले परिदृश्य में, आपको नया सेवा खाता बनाने और फ़ंक्शन को चालू करने के लिए, उसे ज़रूरी भूमिकाएं असाइन करने का तरीका बताया जाएगा.
5. दूसरा तरीका: सेवा खाते से मिलता-जुलता खाता बनाना
इस स्थिति में, आपको स्थानीय तौर पर फ़ंक्शन डेवलप और टेस्ट करते समय, किसी सेवा खाते की भूमिका (यानी कि उसकी अनुमतियां) निभानी होगी. किसी सेवा खाते के तौर पर काम करके, अपने फ़ंक्शन को प्रोडक्शन में इस्तेमाल किए गए क्रेडेंशियल के साथ टेस्ट किया जा सकता है.
ऐसा करने से, न सिर्फ़ भूमिकाओं की पुष्टि की जा सकेगी, बल्कि कम से कम विशेषाधिकार के सिद्धांत का भी पालन किया जा सकेगा. इसके लिए, आपको सिर्फ़ स्थानीय टेस्टिंग के मकसद से, अन्य आइडेंटिटी को Cloud Function Invoker की भूमिका देने की ज़रूरत नहीं होगी.
इस कोडलैब के लिए, आपको एक नया सेवा खाता बनाना होगा. इसमें सिर्फ़ वे भूमिकाएं होंगी जो इस कोडलैब में बनाए गए फ़ंक्शन को लागू करने के लिए ज़रूरी हैं.
नया सेवा खाता बनाना
सबसे पहले, आपको कुछ और एनवायरमेंट वैरिएबल बनाने होंगे. इनसे gcloud कमांड में इस्तेमाल किए गए सेवा खातों के बारे में पता चलेगा.
SERVICE_ACCOUNT_NAME="invoke-functions-codelab" SERVICE_ACCOUNT_ADDRESS=$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com
इसके बाद, आपको सेवा खाता बनाना होगा.
gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME \ --display-name="Cloud Run function Authentication codelab"
इसके बाद, सेवा खाते को Cloud Run invoker की भूमिका असाइन करें:
gcloud run services add-iam-policy-binding $FUNCTION_NAME \ --region=us-central1 \ --member serviceAccount:$SERVICE_ACCOUNT_ADDRESS \ --role='roles/run.invoker'
सेवा खाते से मिलता-जुलता खाता बनाकर फ़ंक्शन को कॉल करना
इसके लिए, आपको नए बनाए गए सेवा खाते के तौर पर काम करना होगा. इसके लिए, आपको उसका आईडी टोकन पाना होगा.
प्रतिरूपण के लिए ज़रूरी भूमिकाएं जोड़ना
किसी सेवा खाते के तौर पर काम करने के लिए, आपके उपयोगकर्ता खाते के पास सेवा खाता टोकन क्रिएटर (roles/iam.serviceAccountTokenCreator) की भूमिका होनी चाहिए, ताकि वह सेवा खाते के लिए आईडी टोकन जनरेट कर सके.
अपने चालू उपयोगकर्ता खाते को यह भूमिका देने के लिए, यहां दिए गए कमांड चलाएं:
ACCOUNT_EMAIL=$(gcloud auth list --filter=status:ACTIVE --format="value(account)") gcloud iam service-accounts add-iam-policy-binding $SERVICE_ACCOUNT_ADDRESS \ --member user:$ACCOUNT_EMAIL \ --role='roles/iam.serviceAccountTokenCreator'
सेवा खाते के आईडी टोकन का इस्तेमाल करना
अनुमतियां लागू होने में कुछ मिनट लग सकते हैं. अब सेवा खाते का आईडी टोकन पास करके, फ़ंक्शन को चालू किया जा सकता है.
curl $FUNCTION_URL -H "Authorization: bearer $(gcloud auth print-identity-token --impersonate-service-account $SERVICE_ACCOUNT_ADDRESS)"
इसके बाद, आपको यह जानकारी दिखेगी:
WARNING: This command is using service account impersonation. All API calls will be executed as [invoke-functions-codelab@<project-id>.iam.gserviceaccount.com]. Hello World!
6. तीसरा तरीका: Google क्लाइंट लाइब्रेरी का इस्तेमाल करना
इस कोडलैब के आखिरी हिस्से में, आपको स्थानीय तौर पर एक छोटी सेवा चलानी होगी. इससे सेवा खाते के लिए आईडी टोकन जनरेट किया जा सकेगा. इसके बाद, Google Auth क्लाइंट लाइब्रेरी और ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (एडीसी) का इस्तेमाल करके, प्रोग्राम के हिसाब से फ़ंक्शन को कॉल किया जा सकेगा. Google की क्लाइंट लाइब्रेरी के बारे में ज़्यादा जानने के लिए, दस्तावेज़ों के क्लाइंट लाइब्रेरी के बारे में जानकारी सेक्शन पढ़ें.
ADC का इस्तेमाल करना तब खास तौर पर ज़रूरी होता है, जब आपको अन्य Google Cloud संसाधनों (जैसे, Cloud Storage, Vision API वगैरह) के साथ इंटरैक्ट करते समय, अपने फ़ंक्शन को स्थानीय तौर पर (जैसे, अपने लैपटॉप पर, Cloud Shell में वगैरह) लिखना और उसकी जांच करनी हो इस उदाहरण में, आपको यह दिखेगा कि किसी सेवा को ऐसे फ़ंक्शन को कैसे शुरू करना है जिसके लिए पुष्टि करना ज़रूरी है. एडीसी और लोकल डेवलपमेंट के बारे में ज़्यादा जानने के लिए, यह ब्लॉग पोस्ट पढ़ें: How to develop and test your Cloud Functions locally | Google Cloud Blog
किसी सेवा खाते से मिलता-जुलता खाता बनाने के लिए, gcloud कमांड रन करना
एडीसी, ऐप्लिकेशन के एनवायरमेंट के आधार पर क्रेडेंशियल अपने-आप ढूंढ लेता है. साथ ही, उन क्रेडेंशियल का इस्तेमाल करके, Google Cloud API की पुष्टि करता है. –impersonate-service-account फ़्लैग की मदद से, किसी सेवा खाते की पहचान का इस्तेमाल करके, Google Cloud API के ख़िलाफ़ पुष्टि की जा सकती है.
किसी सेवा खाते से मिलता-जुलता खाता बनाने के लिए, यह कमांड चलाएं:
gcloud auth application-default login --impersonate-service-account=$SERVICE_ACCOUNT_ADDRESS
अब आपकी पहचान के बजाय, उस सेवा खाते के तौर पर gcloud कमांड चलाई जा रही हैं.
पुष्टि किए गए फ़ंक्शन को चालू करने के लिए, एक सेवा बनाएं और उसे चलाएं
हर रनटाइम की अपनी Google Auth क्लाइंट लाइब्रेरी होती है, जिसे इंस्टॉल किया जा सकता है. इस कोडलैब में, Node.js ऐप्लिकेशन को स्थानीय तौर पर बनाने और चलाने का तरीका बताया गया है.
Node.js के लिए यह तरीका अपनाएं:
- नई डायरेक्ट्री बनाना
mkdir local-dev && cd $_
- नया Node.js ऐप्लिकेशन बनाना
npm init -y
- Google Auth क्लाइंट लाइब्रेरी इंस्टॉल करना
npm install google-auth-library
index.jsफ़ाइल बनाना- अपने Cloud Run फ़ंक्शन का यूआरएल पाएं. इसे आपको अगले चरण में अपने कोड में जोड़ना होगा.
echo $FUNCTION_URL
- index.js में यह कोड जोड़ें. पक्का करें कि आपने targetAudience वैरिएबल को अपने Cloud Run फ़ंक्शन के यूआरएल में बदल दिया हो.
index.js
// Cloud Functions uses your function's url as the `targetAudience` value
const targetAudience = '<YOUR-CLOUD-RUN-FUNCTION-URL>';
// For Cloud Functions, endpoint(`url`) and `targetAudience` should be equal
const url = targetAudience;
const { GoogleAuth } = require('google-auth-library');
const auth = new GoogleAuth();
async function request() {
console.info(`request ${url} with target audience ${targetAudience}`);
// this call retrieves the ID token for the impersonated service account
const client = await auth.getIdTokenClient(targetAudience);
const res = await client.request({ url });
console.info(res.data);
}
request().catch(err => {
console.error(err.message);
process.exitCode = 1;
});
- ऐप्लिकेशन चलाएं
node index.js
इसके बाद, आपको "नमस्ते, दुनिया के लोगों!" दिखेगा
समस्या का हल
अगर आपको संसाधन पर, 'iam.serviceAccounts.getOpenIdToken' अनुमति अस्वीकार की गई है (या यह मौजूद नहीं हो सकती है) गड़बड़ी दिखती है, तो कृपया सेवा खाता टोकन क्रिएटर की भूमिका के लागू होने के लिए कुछ मिनट इंतज़ार करें.
अगर आपको इस एनवायरमेंट में आईडी टोकन नहीं पाया जा सका, GCE का इस्तेमाल करें या GOOGLE_APPLICATION_CREDENTIALS एनवायरमेंट वैरिएबल को सेवा खाते के क्रेडेंशियल वाली JSON फ़ाइल पर सेट करें, तो हो सकता है कि आपने यह कमांड न चलाई हो
gcloud auth application-default login --impersonate-service-account=$SERVICE_ACCOUNT_ADDRESS
7. बधाई हो!
कोडलैब पूरा करने के लिए बधाई!
हमारा सुझाव है कि आप Cloud Run फ़ंक्शन को सुरक्षित करने के तरीके से जुड़े दस्तावेज़ पढ़ें.
हमारा यह भी सुझाव है कि आप Cloud Run फ़ंक्शन के साथ लोकल डेवलपमेंट के बारे में यह ब्लॉग पोस्ट पढ़ें. इससे आपको अपने लोकल डेवलपर एनवायरमेंट में Cloud Run फ़ंक्शन को डेवलप और टेस्ट करने का तरीका जानने में मदद मिलेगी.
हमने क्या-क्या बताया
- Cloud Run फ़ंक्शन पर पुष्टि करने की सुविधा को कॉन्फ़िगर करने का तरीका और यह पुष्टि करना कि पुष्टि करने की सुविधा को सही तरीके से कॉन्फ़िगर किया गया है
- gcloud आइडेंटिटी के लिए टोकन देकर, लोकल डेवलपमेंट एनवायरमेंट से पुष्टि किया गया फ़ंक्शन शुरू करना
- सेवा खाता बनाने और किसी फ़ंक्शन को शुरू करने के लिए, उसे सही भूमिका असाइन करने का तरीका
- लोकल डेवलपमेंट एनवायरमेंट से किसी सेवा के तौर पर काम करने का तरीका. इस एनवायरमेंट में, फ़ंक्शन को चालू करने के लिए ज़रूरी भूमिकाएं मौजूद हों
8. व्यवस्थित करें
अनचाहे शुल्क से बचने के लिए, Cloud Function को मिटा दें. उदाहरण के लिए, अगर Cloud Function को फ़्री टियर में Cloud Run फ़ंक्शन को हर महीने कॉल करने की तय सीमा से ज़्यादा बार कॉल किया गया है, तो आपको अनचाहे शुल्क देना पड़ सकता है. इसके अलावा, चरण 2 में बनाए गए प्रोजेक्ट को भी मिटाया जा सकता है.
सेवा खाते के तौर पर काम करना बंद करने के लिए, अपनी पहचान का इस्तेमाल करके फिर से लॉग इन करें:
gcloud auth application-default login
Cloud Run फ़ंक्शन को मिटाने के लिए, Cloud Run फ़ंक्शन Cloud Console पर जाएं. इसके लिए, https://console.cloud.google.com/functions/ पर जाएं. पक्का करें कि आपने दूसरे चरण में जो प्रोजेक्ट बनाया था वही प्रोजेक्ट फ़िलहाल चुना गया हो.
पहले डिप्लॉय किए गए my-authenticated-function को चुनें. इसके बाद, मिटाएं पर क्लिक करें.
अगर आपको पूरा प्रोजेक्ट मिटाना है, तो https://console.cloud.google.com/cloud-resource-manager पर जाएं. इसके बाद, दूसरे चरण में बनाया गया प्रोजेक्ट चुनें और मिटाएं को चुनें. प्रोजेक्ट मिटाने पर, आपको Cloud SDK में प्रोजेक्ट बदलने होंगे. gcloud projects list कमांड चलाकर, सभी उपलब्ध प्रोजेक्ट की सूची देखी जा सकती है.