OpenAI

OpenAI / AWS EKM इंटीग्रेशन निर्देश

AWS को प्रोविज़न करने और EKM को सक्रिय करने के लिए स्टेप-बाय-स्टेप निर्देश

अपडेट किया गया: 3 days ago

अवलोकन

एंटरप्राइज़ की मैनेजमेंट (EKM) OpenAI को आपके नियंत्रण में मास्टर की का उपयोग करके डेटा एन्क्रिप्ट करने की अनुमति देता है. यह दस्तावेज़ बताता है कि अपने KMS पर OpenAI को सीमित परमिशन देने के लिए अपना AWS अकाउंट कैसे सेटअप करें.

AWS EKM integration flow between OpenAI EKM Service, your STS, your KMS, and your master KEK

चरण

1. नई KMS कुंजी बनाएं

  1. KMS -> ग्राहक प्रबंधित कुंजियाँ पर जाएँ, फिर कुंजी बनाएँ पर क्लिक करें.

  2. एक सिमेट्रिक एन्क्रिप्शन एल्गोरिदम चुनें.

  3. आपकी कुंजी बन जाने के बाद, उसका ARN नोट कर लें. समर्थित फ़ॉर्मैट में शामिल हैं arn:aws:kms:<region>:<account_number>:key/<uuid>, ...:key/mrk-*, या ...:alias/<alias_name>.

AWS KMS customer managed key details page with key ID and ARN for test-kms

2. KMS कुंजी तक सीमित पहुँच के लिए एक कस्टम नीति बनाएं.

  1. IAM -> नीतियाँ पर जाएँ, फिर नीति बनाएँ पर क्लिक करें.

  2. अनुमतियां निर्दिष्ट करें चरण में, JSON चुनें और पॉलिसी को KMS एक्सेस एक्शन देने के लिए निम्नलिखित दर्ज करें. यह सुनिश्चित करें कि आप YOUR_KMS_ARN को आपने बनाई गई Key के ARN से बदल दें.

AWS IAM Create policy page with Specify permissions open and the JSON policy editor selected
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowEncryptDecrypt",
            "Effect": "Allow",
            "Action": [

                "kms:Decrypt",
                "kms:Encrypt"

            ],
            "Resource": <YOUR_KMS_ARN>
        }
    ]
}

3. OpenAI के अस्यूम करने के लिए एक IAM Role बनाएँ, और उसे आपके KMS तक सीमित एक्सेस वाली पॉलिसी को असाइन करें

OpenAI अपने स्वामित्व वाले AWS अकाउंट से AssumeRole को कॉल करेगा. यह चरण OpenAI के AWS प्रिंसिपल को आपके KMS तक पहुँचने के लिए सीमित भूमिका ग्रहण करने की अनुमति देता है.

  1. IAM -> भूमिकाएं पर जाएँ, फिर भूमिका बनाएँ पर क्लिक करें.

  2. विश्वसनीय इकाई चुनें चरण में, कस्टम ट्रस्ट नीति चुनें.

AWS IAM Select trusted entity screen with Custom trust policy selected

इसके बाद, OpenAI के AWS प्रिंसिपल को एक्सेस की अनुमति देने के लिए कस्टम ट्रस्ट पॉलिसी में निम्नलिखित दर्ज करें.

  • प्रिंसिपल, OpenAI का AWS प्रिंसिपल है: arn:aws:iam::790389265272:role/EnterpriseKeyManagement.

  • बताएँ कि ExternalId प्रक्रिया के दौरान OpenAI को कौन-सा AssumeRole पास करना चाहिए.

    • ChatGPT या API के लिए, अपने वर्कस्पेस से जुड़ी संगठन ID (org-xxx) का उपयोग करें: https://platform.api.openai.org/settings/organization/general.

    • API के लिए, अधिक बारीकी के लिए आप एक विशिष्ट API प्रोजेक्ट ID का उपयोग कर सकते हैं.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::790389265272:role/EnterpriseKeyManagement"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "sts:ExternalId": [
                         <YOUR_OPENAI_ORGANIZATION_ID>,
                     ]
                }
            }
        }
    ]
}

फिर, अनुमतियाँ जोड़ें चरण में, उस IAM नीति का नाम खोजें जिसे आपने पिछले चरण में बनाया था. नीति के नाम के आगे चेकबॉक्स पर क्लिक करें, फिर अगला पर क्लिक करें.

AWS IAM Add permissions page filtered to customer managed KMS policies with test-allow-kms-access selected

अंत में, नाम, समीक्षा, और बनाएँ अनुभाग में, कोई भी भूमिका नाम चुनें.

4. अपनी सुरक्षा प्रथाओं के अनुरूप कोई भी अतिरिक्त प्रतिबंध लागू करें.

ऊपर दी गई न्यूनतम आवश्यक जानकारी OpenAI को EKM सेट अप करने के लिए चाहिए. आप अपनी इंटरनल सिक्योरिटी प्रैक्टिसेज़ के अनुरूप अतिरिक्त key policies या restrictions लागू करने के लिए स्वतंत्र हैं, बशर्ते कि OpenAI आपके KMS पर encrypt और decrypt operations को कॉल कर सके. जब आप नीचे वर्णित OpenAI के की रजिस्ट्रेशन एंडपॉइंट को कॉल करते हैं, तो हम आपके सेटअप को वैलिडेट करेंगे.

ऊपर दिए गए चरणों को पूरा करने के बाद

ChatGPT Enterprise

कृपया अपने OpenAI संपर्क से संपर्क करें और निम्नलिखित साझा करें:

  • "role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"

    • वह भूमिका ARN जिसे OpenAI आपके क्लाउड में उपयोग करेगा.

  • "kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"

    • आप जो मास्टर कुंजी प्रबंधित करते हैं, उसके लिए कुंजी प्रबंधन प्रणाली ARN.

हम आपके ChatGPT संगठन/वर्कस्पेस के लिए EKM इनेबल करेंगे.

API

अपनी एक्सटर्नल कुंजी को OpenAI के साथ रजिस्टर करें.

इस API रेफ़रेंस में दिए गए निर्देशों का पालन करें: मैनेजमेंट API में बाहरी कुंजियाँ.

  1. सबसे पहले, OpenAI संगठन स्तर पर अपनी बाहरी कुंजी रजिस्टर करें, जिससे एक बाहरी कुंजी ID बनेगी.

  2. इस चरण में, हम यह सुनिश्चित करेंगे कि आपका इनपुट मान्य है और हम आपके KMS से प्रमाणित कर सकते हैं.

  3. यह अभी आपके OpenAI प्रोजेक्ट में EKM नहीं जोड़ेगा.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \

"https://api.openai.com/v1/organization/external_keys" \
-d '{
  "type": "aws",
  "name": "AWS EKM Config",
  "role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>",
  "kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>",
  "external_id": <your org id or project id>
}'

फिर, बाहरी कुंजी से संबद्ध एक OpenAI प्रोजेक्ट बनाएं. इसके बाद, आपके प्रोजेक्ट पर EKM सक्रिय हो जाता है. इस API कॉल की प्रतिक्रिया बॉडी आपको प्रोजेक्ट ID (proj_xxx) देगी.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
   "name": "Some Project",

   "external_key_id": "extkey_xxxx"
}'

क्या यह लेख मददगार था?