Pregled
Enterprise Key Management (EKM) omogućuje OpenAI-ju šifriranje podataka pomoću glavnog ključa kojim vi upravljate. Ovaj dokument pokazuje kako postaviti GCP račun da biste OpenAI-ju dali ograničena dopuštenja na svojem KMS-u.

Koraci
1. Izradite federirani identitet za OpenAI
OpenAI će izdati token identiteta s GCP računa u vlasništvu OpenAI-ja koji izgleda otprilike ovako.
azp i sub su ID računa usluge OpenAI-ja u GCP-u
aud je ID vaše OpenAI organizacije. Možete odabrati i drugu publiku, primjerice ID svojeg OpenAI projekta – pogledajte upute u nastavku
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}Ovaj korak prepoznaje tvrdnje koje iznosi taj token identiteta i omogućuje vašem GCP STS-u da izda pristupni token kada se taj token identiteta dostavi.
Idite na IAM & administracija -> Federacija identiteta radnog opterećenja i kliknite Izradi skup

U koraku Izradi skup identiteta, unesite bilo što za naziv skupa.
U koraku Dodaj davatelja u skup:
U odabiru davatelja odaberite OpenID Connect (OIDC)
Unesite bilo što za naziv davatelja.
U odjeljku Izdavatelj (URL) unesite https://accounts.google.com
U odjeljku Publike
Odaberite Dopuštene publike
Unesite publiku koju bi OpenAI trebao navesti kada vam proslijedimo token.
Za ChatGPT ili API: možete unijeti ID OpenAI API organizacije (org-xxx)
Za API: možete unijeti određeni ID API projekta radi veće granularnosti.

U odjeljku Mapiranje atributa
za google.subject unesite assertion.sub

U odjeljku Uvjeti atributa
Sada biste trebali vidjeti svoj skup identiteta radnog opterećenja i davatelja identiteta radnog opterećenja navedene na stranici https://console.cloud.google.com/iam-admin/workload-identity-pools
ID skupa identiteta radnog opterećenja

ID davatelja identiteta radnog opterećenja

2. Provjerite je li KMS omogućen
Idite na https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview da biste omogućili KMS. Ne morate izraditi svoj KMS u istom GCP projektu u kojem ste prepoznali OpenAI-jev federirani identitet; međutim, ako se projekti razlikuju, KMS proizvod mora biti barem omogućen u oba projekta.
3. Izradite novi KMS ključ
Idite na Sigurnost -> Zaštita podataka > Upravljanje ključevima
Na kartici Pregled kliknite Izradi prsten ključeva
Odaberite bilo koji naziv za svoj prsten ključeva
Za Svrhu i algoritam odaberite Simetrično šifriranje/dešifriranje

Nakon što izradite prsten ključeva, trebao bi biti naveden na kartici Prsteni ključeva. Kliknite prsten ključeva.
U pojedinostima prstena ključeva kliknite Izradi ključ
Odaberite bilo koji naziv za svoj ključ
4. Izradite ograničenu ulogu za operacije šifriranja/dešifriranja na KMS-u
Idite na IAM & administracija -> Uloge -> Izradi ulogu
Unesite bilo što za naziv i ID uloge
Kliknite Dodaj dopuštenja, a zatim dodajte sljedeće
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Dodijelite OpenAI-jev federirani identitet ograničenoj KMS ulozi za operacije šifriranja/dešifriranja
Idite na Sigurnost -> Zaštita podataka > Upravljanje ključevima
Kliknite naziv svojeg prstena ključeva, a zatim naziv svojeg ključa da biste otvorili stranicu s pojedinostima ključa.
Kliknite karticu Dopuštenja, a zatim gumb Dodijeli pristup

Dodijelite OpenAI-jev federirani identitet prilagođenoj ulozi koju ste prethodno izradili
U odjeljku Dodaj principale unesite principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
U odjeljku Dodijeli uloge odaberite prilagođenu ulogu koju ste izradili u prethodnom koraku za ograničena EKM dopuštenja
6. Primijenite sva dodatna ograničenja u skladu s vlastitim sigurnosnim praksama
Iznad su navedene minimalne potrebne informacije koje OpenAI treba za postavljanje EKM-a. Slobodno primijenite dodatna pravila za ključeve ili ograničenja u skladu s vlastitim internim sigurnosnim praksama, pod uvjetom da OpenAI može pozivati operacije šifriranja i dešifriranja na vašem KMS-u. Kada pozovete krajnju točku za registraciju ključa s OpenAI-jem opisanu u nastavku, provjerit ćemo vaše postavljanje.
Nakon dovršetka prethodnih koraka
ChatGPT Enterprise
Obratite se svojoj kontakt osobi u OpenAI-ju i podijelite sljedeće:
"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"
Regija u kojoj se nalazi glavni ključ vašeg sustava za upravljanje ključevima
Omogućit ćemo EKM za vašu ChatGPT organizaciju/radni prostor.
API
Registrirajte svoj vanjski ključ s OpenAI-jem
Slijedite upute u ovoj API referenci Vanjski ključevi u Management API-ju
Najprije registrirajte svoj vanjski ključ na razini OpenAI organizacije, čime će se generirati ID vanjskog ključa.
U ovom ćemo koraku provjeriti vaše postavljanje na GCP-u provjerom možemo li se autentificirati na vaš KMS.
Time se EKM još neće dodati vašem OpenAI projektu.
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 konfiguracija",
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"audience": <ID vaše organizacije ili projekta>,
"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"
}'Zatim izradite OpenAI projekt povezan s vanjskim ključem. Nakon toga EKM se aktivira na vašem projektu.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Neki projekt",
"external_key_id": "extkey_xxxx"
}'