> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/datasets/hi/create-and-upload/adding-data/datasource-credentials/gcs.md).

# Google Cloud Storage क्रेडेंशियल्स

GCS डेटा स्रोतों के लिए Google Cloud क्रेडेंशियल्स सुरक्षित रूप से बनाएं।

इस पृष्ठ का उपयोग तब करें जब आप चाहते हैं कि Roboflow Google Cloud Storage बकेट को के माध्यम से मिरर करे [डेटासोर्स](/datasets/hi/create-and-upload/adding-data/datasources.md).

{% hint style="warning" %}
Google Cloud Storage के लिए, जब भी आपको निरंतर सिंक, दोहराए गए इम्पोर्ट, या मेटाडेटा साइडकार समर्थन की आवश्यकता हो, Datasources और Bucket Mirror का उपयोग करें। इस उपयोग-केस के लिए signed URL या स्थानीय डाउनलोड वर्कफ़्लो न बनाएं।
{% endhint %}

## एक क्रेडेंशियल प्रकार चुनें

GCS Datasources के लिए Roboflow तीन Google Cloud एक्सेस पैटर्न का समर्थन करता है:

1. [**इम्पर्सोनेशन**](#use-service-account-impersonation): अनुशंसित: कोई कुंजी नहीं, Roboflow अल्पकालिक टोकन का उपयोग करता है
2. [**प्रत्यक्ष अनुदान**](#use-a-direct-bucket-grant): बकेट पर सीधे Roboflow के सेवा खाते को पढ़ने की पहुँच दें
3. [**JSON कुंजी**](#use-a-service-account-json-key): लेगेसी: एक निर्यातित सेवा-खाता कुंजी, बैकवर्ड कम्पैटिबिलिटी के लिए रखी गई

[इम्पर्सोनेशन](#use-service-account-impersonation) और [प्रत्यक्ष अनुदान](#use-a-direct-bucket-grant) कुंजी-रहित हैं: कोई रहस्य कभी भी आपके Google Cloud प्रोजेक्ट से बाहर नहीं जाता। Google [निर्यात योग्य कुंजियों को हतोत्साहित करता है](https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys) (और कई संगठन नीति द्वारा उन्हें ब्लॉक करते हैं), इसलिए कुंजी-रहित विकल्पों को प्राथमिकता दें।

### सुरक्षा दिशानिर्देश

किसी भी क्रेडेंशियल को बनाने से पहले:

1. Roboflow के लिए एक समर्पित सेवा खाता उपयोग करें।
2. केवल **Storage Object Viewer** (`roles/storage.objectViewer`), विशिष्ट बकेट तक सीमित करें।
3. को प्राथमिकता दें [इम्पर्सोनेशन](#use-service-account-impersonation) या [प्रत्यक्ष अनुदान](#use-a-direct-bucket-grant) पर [निर्यातित JSON कुंजी](#use-a-service-account-json-key).
4. क्रेडेंशियल केवल Roboflow Workspace [क्रेडेंशियल्स](https://app.roboflow.com/settings/thirdpartykeys) या अपने secret manager में संग्रहीत करें।
5. आप IAM grant हटाकर किसी भी समय Roboflow की पहुँच रद्द कर सकते हैं।

दोनों keyless मोड grant को आपके workspace से एक **workspace token** के माध्यम से जोड़ते हैं, जो Create Credential modal में दिखाया जाता है (Google Cloud में AWS-शैली का External ID नहीं है)। जिस credential को आप बना रहे हैं, उसके साथ token रखें।

### Service Account Impersonation का उपयोग करें

**अनुशंसित. कोई कुंजियाँ एक्सचेंज नहीं होतीं।** Roboflow उपयोग करता है [service account impersonation](https://cloud.google.com/iam/docs/service-account-impersonation) आपके बकेट को अल्पकालिक टोकन से पढ़ने के लिए।

1. Roboflow में, खोलें [एक Google Cloud (इम्पर्सोनेशन) credential जोड़ें](https://app.roboflow.com/settings/thirdpartykeys#create/gcsImpersonation). मॉडल दिखाता है **आवश्यक सेवा खाता नाम** (`rf-datasource-<token>`) और **Roboflow सेवा खाता**. इसे खुला रखें, आपको दोनों मानों की आवश्यकता होगी।
2. अपने प्रोजेक्ट में उसी सटीक नाम के साथ सेवा खाता बनाएं (नाम में आपका workspace token अंतर्निहित है, जो grant को आपके workspace से जोड़ता है):

   * खोलें [सेवा खाते कंसोल](https://console.cloud.google.com/iam-admin/serviceaccounts/create).
   * सेट करें **सेवा खाता ID** (के पहले वाला भाग `@`) को बिल्कुल `rf-datasource-<token>` मॉडल से, फिर क्लिक करें **बनाएँ और जारी रखें** → **पूर्ण**.

   CLI को प्राथमिकता देते हैं?

   ```sh
   gcloud iam service-accounts create rf-datasource-<token> --project YOUR_PROJECT
   ```
3. अनुदान दें **उस नए सेवा खाते को** अपने बकेट तक पढ़ने की पहुँच दें:

   * खोलें [Cloud Storage ब्राउज़र](https://console.cloud.google.com/storage/browser) → आपका बकेट → **अनुमतियाँ** → **पहुंच दें**.
   * नए principals = `rf-datasource-<token>@…` सेवा खाता, भूमिका = **Storage Object Viewer** → **सहेजें**.

   CLI को प्राथमिकता देते हैं?

   ```sh
   gsutil iam ch "serviceAccount:rf-datasource-<token>@YOUR_PROJECT.iam.gserviceaccount.com:roles/storage.objectViewer" gs://YOUR_BUCKET
   ```
4. अनुदान दें **Roboflow सेवा खाता** उस **Service Account Token Creator** भूमिका **उस सेवा खाते पर जिसे आपने अभी बनाया है**. यह Roboflow को उसे impersonate करने देता है:

   * में [सेवा खाते](https://console.cloud.google.com/iam-admin/serviceaccounts)अपने पर क्लिक करें `rf-datasource-<token>` सेवा खाता → **अनुमतियाँ** टैब → **पहुंच दें**.
   * नए principals = मॉडल में दिखाया गया Roboflow सेवा खाता, भूमिका = **Service Account Token Creator** → **सहेजें**.

   CLI को प्राथमिकता देते हैं?

   ```sh
   gcloud iam service-accounts add-iam-policy-binding rf-datasource-<token>@YOUR_PROJECT.iam.gserviceaccount.com \

     --member="serviceAccount:ROBOFLOW_SERVICE_ACCOUNT" \

     --role="roles/iam.serviceAccountTokenCreator" --project YOUR_PROJECT
   ```
5. मॉडल में वापस, सेवा खाता ईमेल दर्ज करें और सहेजें। इसके साथ जारी रखें [Roboflow में Credential बनाएँ](#create-the-credential-in-roboflow).

workspace token आपके workspace और credential type से जुड़ा है, इसलिए modal को फिर से खोलने पर वही आवश्यक service account name दिखाई देता है।

### Direct Bucket Grant का उपयोग करें

**कोई कुंजियाँ एक्सचेंज नहीं होतीं।** बकेट पर सीधे Roboflow के सेवा खाते को पढ़ने की पहुँच दें, फिर एक marker object के साथ साबित करें कि बकेट आपके workspace का है।

1. Roboflow में, खोलें [एक Google Cloud (Direct Grant) credential जोड़ें](https://app.roboflow.com/settings/thirdpartykeys#create/gcsDirectAccess). मॉडल दिखाता है **Roboflow सेवा खाता** और आपका **workspace token**.
2. Roboflow सेवा खाते को अपने बकेट तक पढ़ने की पहुँच दें:

   * खोलें [Cloud Storage ब्राउज़र](https://console.cloud.google.com/storage/browser) → आपका बकेट → **अनुमतियाँ** → **पहुंच दें**.
   * नए principals = modal से Roboflow सेवा खाता, भूमिका = **Storage Object Viewer** → **सहेजें**.

   CLI को प्राथमिकता देते हैं?

   ```sh
   gsutil iam ch "serviceAccount:ROBOFLOW_SERVICE_ACCOUNT:roles/storage.objectViewer" gs://YOUR_BUCKET
   ```
3. पर एक marker object अपलोड करें **`.roboflow/workspace-token`** जिसकी सामग्री में workspace token शामिल हो (यह बकेट को आपके workspace से जोड़ता है):

   * में [Cloud Storage ब्राउज़र](https://console.cloud.google.com/storage/browser), अपना बकेट खोलें, **फ़ोल्डर बनाएँ** `.roboflow`, फिर **अपलोड करें** नाम की एक छोटी फ़ाइल `workspace-token` जिसकी सामग्री टोकन है।

   CLI को प्राथमिकता देते हैं?

   ```sh
   printf 'YOUR_WORKSPACE_TOKEN' | gsutil cp - gs://YOUR_BUCKET/.roboflow/workspace-token
   ```
4. Roboflow में credential सहेजें, फिर जारी रखें [Roboflow में Credential बनाएँ](#create-the-credential-in-roboflow).

Roboflow पढ़ता है `.roboflow/workspace-token` Datasource validation के दौरान marker, और इसके बिना विफल हो जाता है।

### एक Service Account JSON Key का उपयोग करें

**लेगेसी. केवल तभी उपयोग करें जब keyless विकल्प संभव न हों।** Google [निर्यात योग्य कुंजियों को हतोत्साहित करता है](https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys)और कई संगठन नीति द्वारा उनकी रचना को ब्लॉक करते हैं। keyless [इम्पर्सोनेशन](#use-service-account-impersonation) या [प्रत्यक्ष अनुदान](#use-a-direct-bucket-grant) विकल्पों को प्राथमिकता दें।

1. एक समर्पित सेवा खाता बनाएँ और उसे **Storage Object Viewer** अपने बकेट पर अनुदान दें (जैसा कि [इम्पर्सोनेशन](#use-service-account-impersonation)के चरण 2-3 में), लेकिन नाम कुछ भी हो सकता है).
2. इसके लिए एक JSON key बनाएँ:

   * में [सेवा खाते](https://console.cloud.google.com/iam-admin/serviceaccounts)में, अपने सेवा खाते → **कुंजियाँ** टैब → **कुंजी जोड़ें** → **नई कुंजी बनाएँ** → **JSON** → **बनाएँ**. आपका ब्राउज़र key file डाउनलोड करता है।
   * यदि **नई कुंजी बनाएँ** अक्षम है, तो संगठन नीति key export को ब्लॉक कर रही है। उपयोग करें [इम्पर्सोनेशन](#use-service-account-impersonation) या [प्रत्यक्ष अनुदान](#use-a-direct-bucket-grant) इसके बजाय।

   CLI को प्राथमिकता देते हैं?

   ```sh
   gcloud iam service-accounts keys create key.json --iam-account SA_EMAIL
   ```
3. Roboflow में, खोलें [एक Google Cloud Storage (JSON Key) credential जोड़ें](https://app.roboflow.com/settings/thirdpartykeys#create/gcs), अपना project ID दर्ज करें, JSON key पेस्ट करें, और सहेजें।

## Roboflow में Credential बनाएँ

Google Cloud-साइड access सेट करने के बाद:

1. पर जाएँ [क्रेडेंशियल्स](https://app.roboflow.com/settings/thirdpartykeys#create) Workspace settings में.
2. क्लिक करें **क्रेडेंशियल जोड़ें** (या प्रकार-विशिष्ट लिंक का उपयोग करें: [इम्पर्सोनेशन](https://app.roboflow.com/settings/thirdpartykeys#create/gcsImpersonation), [प्रत्यक्ष अनुदान](https://app.roboflow.com/settings/thirdpartykeys#create/gcsDirectAccess), [JSON कुंजी](https://app.roboflow.com/settings/thirdpartykeys#create/gcs)).
3. अपने सेट किए गए Google Cloud Storage credential type को चुनें।
4. service account email दर्ज करें ([इम्पर्सोनेशन](#use-service-account-impersonation)), workspace token marker ([प्रत्यक्ष अनुदान](#use-a-direct-bucket-grant)), या project ID + JSON key ([JSON कुंजी](#use-a-service-account-json-key)).
5. credential सहेजें।
6. जब आप बनाएँ तब उस credential को चुनें [डेटासोर्स](https://app.roboflow.com/settings/datasources#create).

## अगला चरण

credential सहेजे जाने के बाद, जारी रखें [डेटासोर्स](/datasets/hi/create-and-upload/adding-data/datasources.md) से बकेट mirroring कॉन्फ़िगर करने के लिए।
