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

कदम
1. OpenAI के लिए फेडरेटेड आइडेंटिटी बनाएँ
OpenAI एक OpenAI-स्वामित्व वाले GCP अकाउंट से एक पहचान टोकन जारी करेगा, जो इस प्रकार दिखेगा.
azp और sub, GCP में OpenAI की सर्विस अकाउंट आईडी हैं.
aud आपका OpenAI संगठन आईडी है. आप कोई दूसरा ऑडियंस भी चुन सकते हैं, जैसे कि आपका OpenAI प्रोजेक्ट आईडी - नीचे दिए गए निर्देश देखें.
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}यह चरण उस आइडेंटिटी टोकन द्वारा किए गए क्लेम्स को पहचानता है और आपके GCP STS को एक्सेस टोकन जारी करने में सक्षम बनाता है, जब वह आइडेंटिटी टोकन प्रदान किया जाता है.
Go IAM & Admin -> Workload Identity Federation पर जाएं और Create Pool
पर क्लिक करें.
आइडेंटिटी पूल बनाएंचरण में, पूल नामके लिए कुछ भी दर्ज करें.
इसे बाद के लिए याद रखें - आपको इसे OpenAI के साथ रजिस्टर करना होगा.
चरण पूल में प्रोवाइडर जोड़ने में:
‘Select a provider’ में, OpenID Connect (OIDC)चुनें.
प्रदाता नाम के लिए कुछ भी दर्ज करें.
Issuer (URL) अनुभाग में https://accounts.google.comदर्ज करें
ऑडियंस अनुभाग में
अनुमत दर्शकचुनें
वह ऑडियंस दर्ज करें जिसे OpenAI को इंगित करना चाहिए जब हम आपको एक टोकन देते हैं।
ChatGPT या API के लिए: आप OpenAI API organization ID (org-xxx) दर्ज कर सकते हैं.
API के लिए: अधिक बारीकी के लिए आप एक विशिष्ट API प्रोजेक्ट id डाल सकते हैं.

एट्रिब्यूट मैपिंग अनुभाग में
google.subject के लिए assertion.sub
दर्ज करें
एट्रिब्यूट कंडीशन्स सेक्शन में
कोड में
assertion.sub == "105900137572174660365"डालें
अब आपको https://console.cloud.google.com/iam-admin/workload-identity-pools पर अपना वर्कलोड आइडेंटिटी पूल और वर्कलोड आइडेंटिटी प्रोवाइडर सूचीबद्ध दिखाई देना चाहिए. पेज
वर्कलोड आइडेंटिटी पूल ID

वर्कलोड आइडेंटिटी प्रोवाइडर आईडी

2. सुनिश्चित करें कि KMS सक्षम है
Go https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview KMS को सक्षम करने के लिए. जिस GCP प्रोजेक्ट में आपने OpenAI की federated identity को पहचाना है, उसी में अपना KMS बनाना आपके लिए आवश्यक नहीं है; हालांकि, अगर प्रोजेक्ट अलग-अलग हैं, तो KMS प्रोडक्ट कम-से-कम दोनों प्रोजेक्ट में सक्षम होना चाहिए.
3. एक नई KMS कुंजीबनाएं
Go सुरक्षा -> डेटा सुरक्षा > कुंजी प्रबंधन
ओवरव्यू टैब के तहत Create key ringपर क्लिक करें
अपनी कुंजी रिंग के लिए कोई भी नाम चुनें
उद्देश्य और एल्गोरिदम के लिए, Symmetric encrypt/decrypt
चुनें.
एक बार जब आप Key Rings बना लेते हैं, तो वह Key Rings टैब में सूचीबद्ध होनी चाहिए. Key Ring पर क्लिक करें।
की रिंग के विवरण में, कुंजी बनाएँपर क्लिक करें.
अपनी कुंजी के लिए कोई भी नाम चुनें
चार. KMS पर एन्क्रिप्ट/डिक्रिप्ट ऑपरेशनों के लिए एक सीमित भूमिका बनाएँ.
Go IAM & एडमिन -> रोल्स -> रोल बनाएँ
रोल टाइटल और ID के लिए कुछ भी दर्ज करें.
Add Permissions पर क्लिक करें, फिर निम्नलिखित को जोड़ें.
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. असाइन करें एन्क्रिप्ट/डिक्रिप्ट ऑपरेशनों के लिए OpenAI की फ़ेडरेटेड आइडेंटिटी को सीमित KMS रोल पर
Go सुरक्षा -> डेटा सुरक्षा > कुंजी प्रबंधन
अपने Key Ring के नाम पर क्लिक करें, फिर अपने Key के नाम पर क्लिक करके अपने की विवरण पृष्ठ पर जाएँ.
अगर आपके पास यह नहीं है, तो KMS बनाएंसेक्शन पर वापस जाएं
Permissions टैब पर क्लिक करो, फिर Grant Access
बटन पर क्लिक करो
OpenAI फ़ेडरेटेड पहचान को उस कस्टम भूमिका पर असाइन करें, जिसे आपने पहले बनाया था.
Add principals सेक्शन के लिए, यह दर्ज करें: principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
YOUR_GCP_PROJECT_NUMBER वह प्रोजेक्ट है जिसमें आपने YOUR_GCP_WORKLOAD_IDENTITY_POOL बनाकर OpenAI की फ़ेडरेटेड आइडेंटिटी को मान्यता दी है. यह उसी प्रोजेक्ट में हो सकता है जहाँ आपका KMS स्थित है, लेकिन ऐसा होना ज़रूरी नहीं है.
अगर प्रोजेक्ट अलग-अलग हैं, तो https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overviewपर जाकर यह पक्का करें कि दूसरे प्रोजेक्ट पर कम से कम KMS चालू है.
भूमिकाएँ असाइन करें अनुभाग में, सीमित EKM अनुमतियों के लिए पिछले चरण में बनाई गई कस्टम भूमिका चुनें
छह. अपनी सुरक्षा प्रथाओं के अनुरूप कोई भी अतिरिक्त प्रतिबंध लागू करें.
ऊपर दी गई न्यूनतम आवश्यक जानकारी OpenAI को EKM सेट अप करने के लिए चाहिए. आप अपनी आंतरिक सुरक्षा प्रथाओं के अनुरूप अतिरिक्त key policies या restrictions लागू करने के लिए स्वतंत्र हैं, बशर्ते OpenAI आपके KMS पर encrypt और decrypt operations को कॉल कर सके. जब आप नीचे वर्णित OpenAI के एंडपॉइंट को कॉल करते हैं, तो हम आपके सेटअप को वैलिडेट करेंगे.
ऊपर दिए गए चरणों को पूरा करने के बाद
ChatGPT Enterprise
कृपया अपने OpenAI संपर्क से बात करें और निम्नलिखित जानकारी साझा करें:
"वर्कलोड_पहचान_प्रोजेक्ट_संख्या": "123456789012",
वह 12-अंकों वाला GCP प्रोजेक्ट नंबर, जहां आपने OpenAI की वर्कलोड आइडेंटिटी पंजीकृत की थी.
“वर्कलोड_आइडेंटिटी_पूल_आईडी”: “openai-azure”,
वह पूल जिसमें वह Workload Identity प्रोवाइडर शामिल है जिसे आपने OpenAI के लिए पंजीकृत किया था.
"वर्कलोड_पहचान_प्रदाता_id": "openai-ekm-service-role",
वह वर्कलोड आइडेंटिटी प्रोवाइडर जिसे आपने OpenAI के लिए रजिस्टर किया है.
"kms_project_id": "adjective-noun-12345",
उस GCP प्रोजेक्ट का नाम जहाँ आपका KMS स्थित है.
"kms_key_name": "openai-kms-key",
की मैनेजमेंट सिस्टम मास्टर की का नाम
"kms_कुंजी_रिंग_नाम": "openai-kms-key-ring",
की प्रबंधन प्रणाली की वह की रिंग जिसमें वह मुख्य कुंजी शामिल है जिसे आप प्रबंधित करते हैं
"kms_कुंजी_स्थान": "us-east1"
वह क्षेत्र जहां आपकी Key Management System मास्टर कुंजी स्थित है.
हम आपके ChatGPT संगठन/वर्कस्पेस के लिए EKM सक्षम करेंगे.
API
अपनी External Key को OpenAI के साथ पंजीकृत करें.
इस API रेफ़रंस में दिए गए निर्देशों का पालन करें Management API में बाहरी कुंजियाँ
सबसे पहले, अपनी बाहरी कुंजी को OpenAI संगठन स्तर पर पंजीकृत करें, जिससे एक बाहरी कुंजी आईडी जनरेट होगी.
इस चरण में, हम यह जांचकर कि हम आपके KMS में ऑथ कर सकते हैं, GCP पर आपका सेटअप सत्यापित करेंगे.
यह अभी आपके OpenAI प्रोजेक्ट में EKM नहीं जोड़ेगा.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "gcp",
"name": "GCP EKM कॉन्फ़िगरेशन",
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"audience": <आपकी संगठन आईडी या प्रोजेक्ट<your org id or project id> आईडी>,
"kms_project_id": "adjective-noun-12345",
"kms_key_name": "openai-kms-key",
"kms_key_ring_name": "openai-kms-key-ring",
"kms_key_location": "us-east1"
}'फिर, बाहरी कुंजी से संबद्ध एक OpenAI प्रोजेक्ट बनाएं. इसके बाद, आपके प्रोजेक्ट पर EKM सक्रिय हो जाता है.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "कुछ प्रोजेक्ट",
"external_key_id": "extkey_xxxx"
}'