OpenAI
ဤစာမျက်နှာကို စက်ဖြင့် ဘာသာပြန်ထားပါသည်။ မူရင်း အင်္ဂလိပ်ဆောင်းပါးကို ကြည့်ရန်

OpenAI / GCP EKM ပေါင်းစည်းမှု လမ်းညွှန်ချက်များ

GCP ကို provision လုပ်ပြီး EKM ကို စတင်အသုံးပြုရန် အဆင့်လိုက် လမ်းညွှန်ချက်များ

အပ်ဒိတ်လုပ်ထားသည်- yesterday

အနှစ်ချုပ်

Enterprise Key Management (EKM) သည် သင်ထိန်းချုပ်သည့် master key ကို အသုံးပြု၍ ဒေတာကို OpenAI က ကုဒ်ဝှက်နိုင်စေပါသည်။ ဤစာတမ်းတွင် သင့် KMS ပေါ်၌ OpenAI အား ကန့်သတ်ခွင့်ပြုချက်များ ပေးရန် သင့် GCP အကောင့်ကို မည်သို့ စီစဉ်သတ်မှတ်ရမည်ကို ပြထားသည်။

Diagram of OpenAI GCP EKM integration flow using STS token exchange and KMS encrypt or decrypt requests

အဆင့်များ

1. OpenAI အတွက် federated identity တစ်ခု ဖန်တီးပါ

OpenAI သည် OpenAI ပိုင် GCP အကောင့်တစ်ခုမှ အောက်ပါပုံစံနှင့် ဆင်တူသည့် identity token တစ်ခုကို ထုတ်ပေးပါမည်။

  • azp နှင့် sub တို့သည် GCP ရှိ OpenAI's service account ID ဖြစ်သည်

  • aud သည် သင့် OpenAI အဖွဲ့အစည်း ID ဖြစ်သည်။ သင့် OpenAI ပရောဂျက် ID ကဲ့သို့သော အခြား audience ကိုလည်း ရွေးနိုင်သည် - အောက်ပါညွှန်ကြားချက်များကို ကြည့်ပါ

{
  "aud": "org-xxxx",
  "azp": "105900137572174660365",
  "exp": 1747876928,
  "iat": 1747873328,
  "iss": "https://accounts.google.com",
  "sub": "105900137572174660365"
}

ဤအဆင့်သည် ထို identity token မှ ပြုလုပ်သည့် claims များကို အသိအမှတ်ပြုပြီး၊ ထို identity token ကို ပေးပို့သည့်အခါ သင့် GCP STS က access token တစ်ခု ထုတ်ပေးနိုင်စေပါသည်။

  1. IAM & Admin -> Workload Identity Federation သို့ သွားပြီး Create Pool ကို နှိပ်ပါ

GCP IAM & Admin with Workload Identity Federation selected
  1. Create an identity pool, အဆင့်တွင် pool name. အတွက် မည်သည့်အရာမဆို ထည့်ပါ

  1. Add a provider to pool အဆင့်တွင်:

  1. Select a provider တွင် OpenID Connect (OIDC) ကို ရွေးပါ

  2. provider name အတွက် မည်သည့်အရာမဆို ထည့်ပါ။

  3. Issuer (URL) ကဏ္ဍတွင် https://accounts.google.com ကို ထည့်ပါ

  4. Audiences ကဏ္ဍတွင်

  1. Allowed audiences ကို ရွေးပါ

  2. ကျွန်ုပ်တို့က သင့်ထံ token ပေးပို့သည့်အခါ OpenAI ဖော်ပြသင့်သည့် audience ကို ထည့်ပါ။

  1. ChatGPT သို့မဟုတ် API အတွက်: OpenAI API organization ID (org-xxx) ကို ထည့်နိုင်သည်

  2. API အတွက်: ပိုမိုအသေးစိတ်ခွဲခြားနိုင်ရန် သီးခြား API project id တစ်ခုကို ထည့်နိုင်သည်။

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. Attribute mapping ကဏ္ဍတွင်

  1. google.subject အတွက် assertion.sub ကို ထည့်ပါ

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. Attribute conditions ကဏ္ဍတွင်

  1. ယခု https://console.cloud.google.com/iam-admin/workload-identity-pools စာမျက်နှာတွင် သင့် workload identity pool နှင့် workload identity provider ကို စာရင်းပြထားသည်ကို မြင်ရပါမည်

  1. Workload identity pool id

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. Workload identity provider ID

GCP Workload Identity Provider edit page with the provider ID field highlighted

2. KMS ကို ဖွင့်ထားကြောင်း သေချာစေပါ

KMS ကို ဖွင့်ရန် https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview သို့ သွားပါ။ OpenAI's federated identity ကို သင်အသိအမှတ်ပြုခဲ့သည့် GCP ပရောဂျက်တူထဲတွင် သင့် KMS ကို ဖန်တီးရန် မလိုအပ်ပါ။ သို့သော် ပရောဂျက်များ ကွဲပြားပါက KMS ထုတ်ကုန်ကို ပရောဂျက်နှစ်ခုစလုံးတွင် အနည်းဆုံး ဖွင့်ထား ရပါမည်။

3. KMS Key အသစ်တစ်ခု ဖန်တီးပါ

  1. Security -> Data Protection > Key Management သို့ သွားပါ

  2. Overview tab အောက်တွင် Create key ring ကို နှိပ်ပါ

  1. သင့် key ring အတွက် မည်သည့်အမည်မဆို ရွေးပါ

  2. Purpose နှင့် algorithm အတွက် Symmetric encrypt/decrypt ကို ရွေးပါ

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. key ring တစ်ခု ဖန်တီးပြီးသည်နှင့် ၎င်းကို Key Rings tab တွင် စာရင်းပြထားသင့်သည်။ key ring ကို နှိပ်ပါ။

  2. key ring အသေးစိတ်တွင် Create Key ကို နှိပ်ပါ

  1. သင့် key အတွက် မည်သည့်အမည်မဆို ရွေးပါ

4. KMS ပေါ်ရှိ encrypt/decrypt လုပ်ဆောင်ချက်များအတွက် ကန့်သတ် role တစ်ခု ဖန်တီးပါ

  1. IAM & Admin -> Roles -> Create role သို့ သွားပါ

  2. role title နှင့် ID အတွက် မည်သည့်အရာမဆို ထည့်ပါ

  3. Add Permissions ကို နှိပ်ပြီးနောက် အောက်ပါအရာများကို ထည့်ပါ

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. OpenAI ၏ federated identity ကို encrypt/decrypt လုပ်ဆောင်ချက်များအတွက် ကန့်သတ် KMS role သို့ သတ်မှတ်ပါ

  1. Security -> Data Protection > Key Management သို့ သွားပါ

  2. သင့် key ring အမည်ကို နှိပ်ပြီး သင့် key အသေးစိတ် စာမျက်နှာသို့ ရောက်ရန် သင့် key name ကို နှိပ်ပါ။

  1. Permissions tab ကို နှိပ်ပြီးနောက် Grant Access ခလုတ်ကို နှိပ်ပါ

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. OpenAI federated identity ကို သင်ယခင်က ဖန်တီးထားသည့် custom role သို့ သတ်မှတ်ပါ

  1. Add principals ကဏ္ဍတွင် principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365 ကို ထည့်ပါ

  1. Assign roles ကဏ္ဍတွင် ကန့်သတ် EKM ခွင့်ပြုချက်များအတွက် ယခင်အဆင့်တွင် သင်ဖန်တီးထားသည့် custom role ကို ရွေးပါ

6. သင့်ကိုယ်ပိုင် လုံခြုံရေးလုပ်ထုံးလုပ်နည်းများနှင့် ကိုက်ညီသည့် ထပ်ဆောင်းကန့်သတ်ချက်များကို အသုံးပြုပါ

အထက်ပါသည် EKM ကို စီစဉ်သတ်မှတ်ရန် OpenAI လိုအပ်သည့် အနည်းဆုံး လိုအပ်သော အချက်အလက် ဖြစ်သည်။ OpenAI က သင့် KMS ပေါ်ရှိ encrypt နှင့် decrypt လုပ်ဆောင်ချက်များကို ခေါ်ဆိုနိုင်သရွေ့၊ သင့်အတွင်းပိုင်း လုံခြုံရေးလုပ်ထုံးလုပ်နည်းများနှင့် ကိုက်ညီသည့် ထပ်ဆောင်း key policies သို့မဟုတ် ကန့်သတ်ချက်များကို သင် လွတ်လပ်စွာ အသုံးပြုနိုင်သည်။ အောက်တွင် ဖော်ပြထားသည့် OpenAI နှင့် key registration endpoint ကို သင်ခေါ်ဆိုသောအခါ၊ ကျွန်ုပ်တို့က သင့် setup ကို အတည်ပြုပါမည်။

အထက်ပါအဆင့်များ ပြီးစီးပြီးနောက်

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 master key တည်ရှိရာ ဒေသ

သင့် ChatGPT အဖွဲ့အစည်း/အလုပ်နေရာအတွက် EKM ကို ကျွန်ုပ်တို့ ဖွင့်ပေးပါမည်။

API

သင့်ပြင်ပကီးကို OpenAI တွင် စာရင်းသွင်းပါ

ဤ API ကိုးကားချက် Management API ရှိ ပြင်ပကီးများ တွင် ပါရှိသော ညွှန်ကြားချက်များကို လိုက်နာပါ

  • ပထမဦးစွာ သင့်ပြင်ပကီးကို OpenAI အဖွဲ့အစည်းအဆင့်တွင် စာရင်းသွင်းပါ၊ ၎င်းက external key id တစ်ခုကို ထုတ်ပေးပါမည်။

  • ဤအဆင့်တွင် သင့် KMS သို့ ကျွန်ုပ်တို့ auth လုပ်နိုင်ကြောင်း စစ်ဆေးခြင်းဖြင့် GCP ပေါ်ရှိ သင့် setup ကို အတည်ပြုပါမည်။

  • ၎င်းက သင့် 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 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"

}'

ဤဆောင်းပါးသည် အထောက်အကူ ဖြစ်ပါသလား။