> 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/aws-s3.md).

# AWS S3 क्रेडेंशियल्स

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

इस पेज का उपयोग तब करें जब आप चाहते हों कि Roboflow किसी AWS S3 bucket को इसके माध्यम से मिरर करे [डेटा स्रोत](/datasets/hi/create-and-upload/adding-data/datasources.md).

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

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

Roboflow S3 Datasources के लिए तीन AWS एक्सेस पैटर्न सपोर्ट करता है: [IAM क्रेडेंशियल](#use-iam-access-keys), [रोल अपनाएँ](#use-assume-role), और [बकेट पॉलिसी एक्सेस](#use-a-bucket-policy-grant).

1. [**IAM क्रेडेंशियल**](#use-iam-access-keys): सबसे सरल सेटअप पथ
2. [**रोल अपनाएँ**](#use-assume-role): अधिकांश टीमों के लिए अनुशंसित
3. [**बकेट पॉलिसी एक्सेस**](#use-a-bucket-policy-grant): इसका उपयोग करें यदि आपकी टीम बकेट पर सीधे एक्सेस देना चाहती है

Assume Role सबसे सुरक्षित डिफ़ॉल्ट है क्योंकि यह लंबे समय तक मान्य रहने वाले AWS सीक्रेट्स से बचाता है।

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

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

1. Roboflow के लिए एक समर्पित role या IAM identity का उपयोग करें।
2. AWS account root user का उपयोग न करें।
3. जब भी संभव हो, एक्सेस को विशिष्ट bucket तक सीमित रखें।
4. को प्राथमिकता दें [रोल अपनाएँ](/datasets/hi/create-and-upload/adding-data/datasource-policy-examples.md#assume-role-trust-policy) लंबे समय तक मान्य access keys की तुलना में।
5. क्रेडेंशियल्स केवल Roboflow Workspace [क्रेडेंशियल्स](https://app.roboflow.com/settings/thirdpartykeys) में या अपने स्वयं के secret manager में ही संग्रहीत करें।
6. यदि आप access keys का उपयोग करते हैं, तो उन्हें rotate करें, और अप्रयुक्त keys हटा दें।

### Assume Role का उपयोग करें

**Amazon द्वारा अनुशंसित**। लंबे समय तक मान्य access keys की आवश्यकता नहीं होती। इसके बजाय, अपने AWS account में एक IAM Role बनाएं जिसे Roboflow आपके bucket को पढ़ने के लिए assume करेगा।

1. खोलें [IAM Roles कंसोल](https://console.aws.amazon.com/iam/home#/roles).
2. अपने AWS account में एक नया role बनाएं।
3. Roboflow में, खोलें [क्रेडेंशियल्स](https://app.roboflow.com/settings/thirdpartykeys), क्लिक करें [क्रेडेंशियल जोड़ें](https://app.roboflow.com/settings/thirdpartykeys#create), और "AWS Assume Role" क्रेडेंशियल प्रकार चुनें।
4. Create Credential modal में दिखाए गए Roboflow AWS principal ARN और External ID को कॉपी करें।
5. से trust policy जोड़ें [डेटास्रोत पॉलिसी उदाहरण](/datasets/hi/create-and-upload/adding-data/datasource-policy-examples.md#assume-role-trust-policy) role में, modal के मानों के साथ placeholders को बदलते हुए।
6. से bucket-scoped read policy संलग्न करें [डेटास्रोत पॉलिसी उदाहरण](/datasets/hi/create-and-upload/adding-data/datasource-policy-examples.md#custom-iam-policy), या समान least-privilege policy।
7. role ARN कॉपी करें।
8. role ARN को Roboflow credential form में पेस्ट करें और क्रेडेंशियल सहेजें।

External ID आपके workspace और credential type से जुड़ा होता है, इसलिए modal को फिर से खोलने पर वही मान दिखाई देता है। उस मान का उपयोग trust policy और credential form में करें। Roboflow उस External ID को अस्वीकार करता है जिसे उसने जारी नहीं किया हो।

### IAM Access Keys का उपयोग करें

यह सबसे सरल सेटअप पथ है, लेकिन Amazon द्वारा अनुशंसित नहीं है।

1. खोलें [IAM Users कंसोल](https://console.aws.amazon.com/iam/home#/users).
2. Roboflow के लिए एक समर्पित IAM user बनाएं।
3. AWS-managed policy संलग्न करें `AmazonS3ReadOnlyAccess`, या बेहतर होगा कि [डेटास्रोत पॉलिसी उदाहरण](/datasets/hi/create-and-upload/adding-data/datasource-policy-examples.md#custom-iam-policy).
4. में bucket-scoped policy संलग्न करें
5. उस user के लिए वर्तमान AWS console flow के माध्यम से एक access key बनाएं।
6. Roboflow में, खोलें [क्रेडेंशियल्स](https://app.roboflow.com/settings/thirdpartykeys), क्लिक करें [क्रेडेंशियल जोड़ें](https://app.roboflow.com/settings/thirdpartykeys#create), और "AWS IAM" क्रेडेंशियल प्रकार चुनें।
7. access key और secret key दर्ज करें, और क्रेडेंशियल सहेजें।

`AmazonS3ReadOnlyAccess` account में सभी buckets के लिए read access देता है। यदि आप least-privilege access चाहते हैं, तो [डेटास्रोत पॉलिसी उदाहरण](/datasets/hi/create-and-upload/adding-data/datasource-policy-examples.md#custom-iam-policy).

### बकेट पॉलिसी अनुदान का उपयोग करें

**केवल Enterprise ग्राहकों के लिए**। IAM क्रेडेंशियल्स की आवश्यकता नहीं है। इसके बजाय, एक bucket policy जोड़ें जो Roboflow के AWS role को सीधे read access देती हो।

1. अपने Roboflow प्रतिनिधि से Roboflow AWS role ARN प्राप्त करें।
2. AWS में target S3 bucket policy खोलें।
3. का उदाहरण इसमें मर्ज करें [डेटास्रोत पॉलिसी उदाहरण](/datasets/hi/create-and-upload/adding-data/datasource-policy-examples.md#bucket-policy).
4. पुष्टि करें कि policy केवल bucket के लिए आवश्यक न्यूनतम read access ही देती है।
5. यदि आपके workspace flow में इसकी आवश्यकता हो, तो Roboflow में संबंधित credential बनाएं।

सही role ARN के लिए अपने Roboflow प्रतिनिधि से संपर्क करें, और यदि आपके पास पहले से कोई bucket policy है, तो उदाहरण को उसमें मर्ज करें।

## Roboflow में क्रेडेंशियल बनाएं

AWS-side access बनाने के बाद:

1. पर जाएं [क्रेडेंशियल्स](https://app.roboflow.com/settings/thirdpartykeys#create) वर्कस्पेस सेटिंग्स में।
2. क्लिक करें [क्रेडेंशियल जोड़ें](https://app.roboflow.com/settings/thirdpartykeys#create).
3. AWS S3 Datasource क्रेडेंशियल प्रकार चुनें।
4. आपने जो तरीका चुना है उसके अनुसार role ARN या access key विवरण दर्ज करें।
5. क्रेडेंशियल सहेजें।
6. जब आप [डेटा स्रोत](https://app.roboflow.com/settings/datasources#create).

## अगला चरण

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