Apžvalga
Įmonės raktų valdymas (EKM) leidžia OpenAI šifruoti duomenis naudojant jūsų valdomą pagrindinį raktą. Šiame dokumente parodyta, kaip nustatyti GCP paskyrą, kad OpenAI būtų suteikti riboti leidimai jūsų KMS.

Veiksmai
1. Sukurkite OpenAI federuotąją tapatybę
OpenAI iš OpenAI priklausančios GCP paskyros išduos tapatybės žetoną, kuris atrodys maždaug taip.
azp ir sub yra OpenAI paslaugos paskyros ID GCP
aud yra jūsų OpenAI organizacijos ID. Taip pat galite pasirinkti kitą auditoriją, pvz., savo OpenAI projekto ID – žr. toliau pateiktas instrukcijas
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}Šiame veiksme atpažįstami to tapatybės žetono teiginiai ir jūsų GCP STS gali išduoti prieigos žetoną, kai pateikiamas tas tapatybės žetonas.
Eikite į IAM & Admin -> Workload Identity Federation ir spustelėkite Create Pool

Veiksme Create an identity pool, įveskite bet ką kaip telkinio pavadinimą.
Veiksme Add a provider to pool:
Lauke Select a provider pasirinkite OpenID Connect (OIDC)
Įveskite bet ką kaip teikėjo pavadinimą.
Skiltyje Issuer (URL) įveskite https://accounts.google.com
Skiltyje Audiences
Pasirinkite Allowed audiences
Įveskite auditoriją, kurią OpenAI turėtų nurodyti, kai perduodame jums žetoną.
ChatGPT arba API: galite įvesti OpenAI API organizacijos ID (org-xxx)
API atveju galite įvesti konkretų API projekto ID, kad būtų daugiau detalumo.

Skiltyje Attribute mapping
laukui google.subject įveskite assertion.sub

Skiltyje Attribute conditions
Dabar puslapyje https://console.cloud.google.com/iam-admin/workload-identity-pools turėtumėte matyti savo darbo krūvio tapatybės telkinį ir darbo krūvio tapatybės teikėją
Workload identity pool ID

Workload identity provider ID

2. Įsitikinkite, kad KMS įjungtas
Eikite į https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview, kad įjungtumėte KMS. Nebūtina kurti KMS tame pačiame GCP projekte, kuriame atpažinote OpenAI federuotąją tapatybę; tačiau, jei projektai skiriasi, KMS produktas turi būti bent jau įjungtas abiejuose projektuose.
3. Sukurkite naują KMS raktą
Eikite į Security -> Data Protection > Key Management
Skirtuke Overview spustelėkite Create key ring
Pasirinkite bet kokį raktų žiedo pavadinimą
Laukui Purpose and algorithm pasirinkite Symmetric encrypt/decrypt

Sukūrus raktų žiedą, jis turėtų būti rodomas skirtuke Key Rings. Spustelėkite raktų žiedą.
Raktų žiedo informacijoje spustelėkite Create Key
Pasirinkite bet kokį rakto pavadinimą
4. Sukurkite ribotą vaidmenį KMS šifravimo / iššifravimo operacijoms
Eikite į IAM & Admin -> Roles -> Create role
Įveskite bet kokį vaidmens pavadinimą ir ID
Spustelėkite Add Permissions, tada pridėkite toliau nurodytus leidimus
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Priskirkite OpenAI federuotąją tapatybę ribotam KMS vaidmeniui šifravimo / iššifravimo operacijoms
Eikite į Security -> Data Protection > Key Management
Spustelėkite savo raktų žiedo pavadinimą, tada spustelėkite savo rakto pavadinimą, kad patektumėte į rakto informacijos puslapį.
Spustelėkite skirtuką Permissions, tada spustelėkite mygtuką Grant Access

Priskirkite OpenAI federuotąją tapatybę anksčiau sukurtam pasirinktiniam vaidmeniui
Skiltyje Add principals įveskite principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
Skiltyje Assign roles pasirinkite ankstesniame veiksme sukurtą pasirinktinį vaidmenį, skirtą ribotiems EKM leidimams
6. Taikykite bet kokius papildomus apribojimus pagal savo saugos praktiką
Pirmiau pateikta mažiausia reikalinga informacija, kurios OpenAI reikia EKM nustatyti. Galite taikyti papildomas raktų politikas ar apribojimus pagal savo vidinę saugos praktiką, jei OpenAI gali kviesti šifravimo ir iššifravimo operacijas jūsų KMS. Kai iškviesite toliau aprašytą rakto registravimo prieigos tašką su OpenAI, patvirtinsime jūsų sąranką.
Atlikus pirmiau nurodytus veiksmus
ChatGPT Enterprise
Susisiekite su savo OpenAI kontaktiniu asmeniu ir pasidalykite toliau nurodyta informacija:
"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"
Regionas, kuriame yra jūsų raktų valdymo sistemos pagrindinis raktas
Įjungsime EKM jūsų ChatGPT organizacijai / darbo erdvei.
API
Užregistruokite savo išorinį raktą OpenAI
Vadovaukitės instrukcijomis šioje API nuorodoje External Keys in the Management API
Pirmiausia užregistruokite išorinį raktą OpenAI organizacijos lygiu, ir bus sugeneruotas išorinio rakto ID.
Šiame veiksme patvirtinsime jūsų GCP sąranką patikrindami, ar galime autentifikuotis jūsų KMS.
Tai dar nepridės EKM prie jūsų OpenAI projekto.
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": <jūsų organizacijos ID arba projekto 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"
}'Tada sukurkite OpenAI projektą, susietą su išoriniu raktu. Po to EKM bus suaktyvintas jūsų projekte.
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"
}'