አጠቃላይ እይታ
Enterprise Key Management (EKM) OpenAI እርስዎ በሚቆጣጠሩት ዋና ቁልፍ በመጠቀም ውሂብን እንዲያመሰጥር ያስችላል። ይህ ሰነድ OpenAI በKMS ላይ የተገደቡ ፈቃዶችን እንዲያገኝ የGCP መለያዎን እንዴት ማዋቀር እንደሚቻል ያሳያል።

ደረጃዎች
1. ለOpenAI የተዋሃደ ማንነት ይፍጠሩ
OpenAI ከOpenAI ባለቤትነት የሆነ የGCP መለያ ይህን የሚመስል የማንነት token ያወጣል።
azp እና sub በGCP ውስጥ የOpenAI's የአገልግሎት መለያ ID ናቸው
aud የOpenAI ድርጅትዎ ID ነው። እንዲሁም እንደ የOpenAI ፕሮጀክትዎ ID ያለ ሌላ audience መምረጥ ይችላሉ - ከታች ያሉትን መመሪያዎች ይመልከቱ
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}ይህ ደረጃ በዚያ የማንነት token የተደረጉትን claims ይለያል፣ እና ያ የማንነት token ሲቀርብ የGCP STSዎ የመዳረሻ token እንዲያወጣ ያስችላል።
ወደ 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 token ሲያስተላልፍልዎ መጠቆም ያለበትን audience ያስገቡ።
ለChatGPT ወይም API፦ OpenAI API organization ID (org-xxx) ማስገባት ይችላሉ
ለAPI፦ የበለጠ ዝርዝርነት ለማግኘት የተወሰነ API project id ማስገባት ይችላሉ።

በAttribute mapping ክፍል ውስጥ
ለgoogle.subject assertion.sub ያስገቡ

በAttribute conditions ክፍል ውስጥ
አሁን የworkload identity pool እና workload identity provider በhttps://console.cloud.google.com/iam-admin/workload-identity-pools ገጽ ላይ ተዘርዝረው መታየት አለባቸው
Workload identity pool id

Workload identity provider ID

2. KMS መንቃቱን ያረጋግጡ
KMS ለማንቃት ወደ https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview ይሂዱ። OpenAI's የተዋሃደ ማንነት በተለየበት ተመሳሳይ የGCP ፕሮጀክት ውስጥ KMSዎን መፍጠር አያስፈልግዎትም፤ ሆኖም ፕሮጀክቶቹ የተለያዩ ከሆኑ፣ የKMS ምርት ቢያንስ በሁለቱም ፕሮጀክቶች ውስጥ መንቃት አለበት።
3. አዲስ KMS ቁልፍ ይፍጠሩ
ወደ Security -> Data Protection > Key Management ይሂዱ
በ Overview ትር ስር Create key ring ን ጠቅ ያድርጉ
ለkey ringዎ ማንኛውንም ስም ይምረጡ
ለዓላማ እና አልጎሪዝም፣ Symmetric encrypt/decrypt ይምረጡ

key ring ከፈጠሩ በኋላ፣ በKey Rings ትር ውስጥ መዘርዘር አለበት። key ring ን ጠቅ ያድርጉ።
በkey ring ዝርዝሮች ውስጥ፣ 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ዎ ላይ የማመስጠር እና የመፍታት ክወናዎችን መጥራት እስከቻለ ድረስ፣ ከራስዎ የውስጥ ደህንነት ልምዶች ጋር የሚስማሙ ተጨማሪ የቁልፍ ፖሊሲዎችን ወይም ገደቦችን መተግበር ይችላሉ። ከታች የተገለጸውን የቁልፍ ምዝገባ መጨረሻ ነጥብ ከOpenAI ጋር ሲጠሩ፣ ማዋቀርዎን እናረጋግጣለን።
ከላይ ያሉትን ደረጃዎች ካጠናቀቁ በኋላ
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 ማጣቀሻ ውስጥ ያሉትን መመሪያዎች ይከተሉ፦ External Keys in the Management API
መጀመሪያ፣ ውጫዊ ቁልፍዎን በOpenAI ድርጅት ደረጃ ያስመዝግቡ፤ ይህ የውጫዊ ቁልፍ id ያመነጫል።
በዚህ ደረጃ፣ ወደ KMSዎ መረጋገጥ እንችል እንደሆነ በመፈተሽ በGCP ላይ ያለውን ማዋቀርዎን እናረጋግጣለን።
ይህ ገና EKMን ወደ OpenAI ፕሮጀክትዎ አያክልም።
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 Config",
"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": "Some Project",
"external_key_id": "extkey_xxxx"
}'