সংক্ষিপ্ত বিবরণ
Enterprise Key Management (EKM) OpenAI-কে আপনার নিয়ন্ত্রিত একটি মাস্টার কী ব্যবহার করে ডেটা এনক্রিপ্ট করতে দেয়. এই নথিতে দেখানো হয়েছে কীভাবে OpenAI-কে আপনার KMS-এ সীমিত অনুমতি দিতে আপনার GCP অ্যাকাউন্ট সেট আপ করবেন.

ধাপগুলি
1. OpenAI-এর জন্য একটি ফেডারেটেড আইডেন্টিটি তৈরি করুন
OpenAI-মালিকানাধীন একটি GCP অ্যাকাউন্ট থেকে OpenAI একটি আইডেন্টিটি টোকেন ইস্যু করবে, যা দেখতে প্রায় এরকম.
azp এবং sub হলো GCP-তে OpenAI-এর সার্ভিস অ্যাকাউন্ট ID
aud হলো আপনার OpenAI অর্গানাইজেশন ID. আপনি আপনার OpenAI প্রজেক্ট ID-এর মতো অন্য কোনো অডিয়েন্সও বেছে নিতে পারেন - নিচের নির্দেশনা দেখুন
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}এই ধাপটি সেই আইডেন্টিটি টোকেনের দাবিগুলি স্বীকৃতি দেয় এবং সেই আইডেন্টিটি টোকেন সরবরাহ করা হলে আপনার GCP STS-কে একটি অ্যাক্সেস টোকেন ইস্যু করতে সক্ষম করে.
IAM & Admin -> Workload Identity Federation -এ যান এবং Create Pool-এ ক্লিক করুন

Create an identity pool, ধাপে pool name.-এর জন্য যেকোনো কিছু লিখুন
Add a provider to pool ধাপে:
Select a provider-এ OpenID Connect (OIDC) নির্বাচন করুন
provider name-এর জন্য যেকোনো কিছু লিখুন.
Issuer (URL) বিভাগে, https://accounts.google.com লিখুন
Audiences বিভাগে
Allowed audiences নির্বাচন করুন
আমরা আপনাকে টোকেন পাঠানোর সময় OpenAI যে অডিয়েন্স নির্দেশ করবে তা লিখুন.
ChatGPT বা API-এর জন্য: আপনি OpenAI API organization ID (org-xxx) দিতে পারেন
API-এর জন্য: আরও সূক্ষ্ম নিয়ন্ত্রণের জন্য আপনি একটি নির্দিষ্ট API project id দিতে পারেন.

Attribute mapping বিভাগে
google.subject-এর জন্য assertion.sub লিখুন

Attribute conditions বিভাগে
এখন https://console.cloud.google.com/iam-admin/workload-identity-pools পেজে আপনার workload identity pool এবং workload identity provider তালিকাভুক্ত দেখা উচিত
Workload identity pool id

Workload identity provider ID

2. KMS সক্রিয় আছে তা নিশ্চিত করুন
KMS সক্রিয় করতে https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview-এ যান. যে GCP প্রজেক্টে আপনি OpenAI-এর ফেডারেটেড আইডেন্টিটি স্বীকৃত করেছেন, একই প্রজেক্টে আপনার KMS তৈরি করা বাধ্যতামূলক নয়; তবে, প্রজেক্টগুলি আলাদা হলে, উভয় প্রজেক্টেই অন্তত KMS পণ্যটি সক্রিয় থাকতে হবে.
3. একটি নতুন KMS কী তৈরি করুন
Security -> Data Protection > Key Management-এ যান
Overview ট্যাবের অধীনে Create key ring-এ ক্লিক করুন
আপনার কী রিং-এর জন্য যেকোনো নাম বেছে নিন
Purpose এবং algorithm-এর জন্য, Symmetric encrypt/decrypt নির্বাচন করুন

একবার আপনি একটি কী রিং তৈরি করলে, এটি Key Rings ট্যাবে তালিকাভুক্ত হওয়া উচিত. কী রিং-এ ক্লিক করুন.
কী রিং-এর বিবরণে, Create Key-এ ক্লিক করুন
আপনার কী-এর জন্য যেকোনো নাম বেছে নিন
4. KMS-এ এনক্রিপ্ট/ডিক্রিপ্ট অপারেশনের জন্য একটি সীমিত ভূমিকা তৈরি করুন
IAM & Admin -> Roles -> Create role-এ যান
ভূমিকার শিরোনাম এবং ID-এর জন্য যেকোনো কিছু লিখুন
Add Permissions-এ ক্লিক করুন, তারপর নিচেরগুলি যোগ করুন
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. এনক্রিপ্ট/ডিক্রিপ্ট অপারেশনের জন্য OpenAI-এর ফেডারেটেড আইডেন্টিটিকে সীমিত KMS ভূমিকায় বরাদ্দ করুন
Security -> Data Protection > Key Management-এ যান
আপনার key ring নামের উপর ক্লিক করুন, তারপর আপনার কী-এর বিস্তারিত পেজে যেতে আপনার key name-এ ক্লিক করুন.
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 লিখুন
Assign roles বিভাগে, সীমিত EKM অনুমতির জন্য আগের ধাপে তৈরি করা কাস্টম ভূমিকাটি নির্বাচন করুন
6. আপনার নিজস্ব নিরাপত্তা চর্চার সাথে সামঞ্জস্য রেখে অতিরিক্ত কোনো সীমাবদ্ধতা প্রয়োগ করুন
উপরে EKM সেট আপ করতে OpenAI-এর প্রয়োজনীয় ন্যূনতম তথ্য দেওয়া হয়েছে. OpenAI আপনার KMS-এ encrypt এবং decrypt অপারেশন কল করতে পারলে, আপনি আপনার অভ্যন্তরীণ নিরাপত্তা চর্চার সাথে সামঞ্জস্য রেখে অতিরিক্ত কী নীতি বা সীমাবদ্ধতা প্রয়োগ করতে পারেন. নিচে বর্ণিত OpenAI-এর key registration এন্ডপয়েন্ট কল করলে, আমরা আপনার সেটআপ যাচাই করব.
উপরের ধাপগুলি সম্পন্ন করার পরে
ChatGPT Enterprise
অনুগ্রহ করে আপনার OpenAI যোগাযোগ ব্যক্তির সাথে যোগাযোগ করুন এবং নিচেরগুলি শেয়ার করুন:
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"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"
আপনার Key Management System মাস্টার কী যে অঞ্চলে অবস্থিত
আমরা আপনার ChatGPT অর্গানাইজেশন/ওয়ার্কস্পেসের জন্য EKM সক্রিয় করব.
API
OpenAI-তে আপনার বাহ্যিক কী নিবন্ধন করুন
এই API রেফারেন্সের নির্দেশনা অনুসরণ করুন: Management API-তে External Keys
প্রথমে, আপনার বাহ্যিক কী OpenAI অর্গানাইজেশন স্তরে নিবন্ধন করুন, যা একটি বাহ্যিক কী id তৈরি করবে.
এই ধাপে, আমরা আপনার 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": <আপনার org id অথবা 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"
}'