Áttekintés
Az Enterprise Key Management (EKM) lehetővé teszi az OpenAI számára, hogy az Ön által felügyelt mesterkulccsal titkosítsa az adatokat. Ez a dokumentum bemutatja, hogyan állíthatja be GCP-fiókját úgy, hogy korlátozott jogosultságokat adjon az OpenAI-nak a KMS-en.

Lépések
1. Hozzon létre összevont identitást az OpenAI számára
Az OpenAI egy OpenAI-tulajdonú GCP-fiókból fog identitástokent kiállítani, amely nagyjából így néz ki.
Az azp és a sub az OpenAI szolgáltatásfiók-azonosítója a GCP-ben
Az aud az Ön OpenAI-szervezetének azonosítója. Más célközönséget is választhat, például az OpenAI-projektazonosítóját – lásd az alábbi utasításokat
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}Ez a lépés felismeri az identitástokenben szereplő állításokat, és lehetővé teszi, hogy a GCP STS hozzáférési tokent állítson ki, amikor megkapja ezt az identitástokent.
Lépjen ide: IAM & Admin -> Workload Identity Federation , és kattintson a Create Pool lehetőségre

A Create an identity pool, lépésben adjon meg bármit a pool name mezőben.
A Add a provider to pool lépésben:
A Select a provider résznél válassza az OpenID Connect (OIDC) lehetőséget
Adjon meg bármit a provider name mezőben.
Az Issuer (URL) szakaszban adja meg: https://accounts.google.com
Az Audiences szakaszban
Válassza az Allowed audiences lehetőséget
Adja meg azt a célközönséget, amelyet az OpenAI-nak jeleznie kell, amikor tokent adunk át Önnek.
ChatGPT vagy API esetén: megadhatja az OpenAI API-szervezet azonosítóját (org-xxx)
API esetén: a nagyobb részletesség érdekében megadhat egy adott API-projektazonosítót.

Az Attribute mapping szakaszban
a google.subject értékéhez adja meg: assertion.sub

Az Attribute conditions szakaszban
Most már látnia kell a workload identity pool és a workload identity provider bejegyzéseket a https://console.cloud.google.com/iam-admin/workload-identity-pools oldalon
Workload identity pool id

Workload identity provider ID

2. Győződjön meg arról, hogy a KMS engedélyezve van
A KMS engedélyezéséhez lépjen ide: https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview. Nem kötelező a KMS-t ugyanabban a GCP-projektben létrehoznia, ahol felismerte az OpenAI összevont identitását; ha azonban a projektek eltérnek, a KMS-terméknek legalább mindkét projektben engedélyezve kell lennie.
3. Hozzon létre egy új KMS-kulcsot
Lépjen ide: Security -> Data Protection > Key Management
Az Overview lapon kattintson a Create key ring lehetőségre
Válasszon tetszőleges nevet a kulcskarikának
A Cél és algoritmus mezőnél válassza a Symmetric encrypt/decrypt lehetőséget

Miután létrehozott egy kulcskarikát, annak meg kell jelennie a Key Rings lapon. Kattintson a kulcskarikára.
A kulcskarika részleteinél kattintson a Create Key lehetőségre
Válasszon tetszőleges nevet a kulcsának
4. Hozzon létre egy korlátozott szerepkört a KMS-en végzett titkosítási/visszafejtési műveletekhez
Lépjen ide: IAM & Admin -> Roles -> Create role
Adjon meg tetszőleges szerepkörcímet és -azonosítót
Kattintson az Add Permissions lehetőségre, majd adja hozzá a következőket
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Rendelje hozzá az OpenAI összevont identitását a korlátozott KMS-szerepkörhöz a titkosítási/visszafejtési műveletekhez
Lépjen ide: Security -> Data Protection > Key Management
Kattintson a key ring nevére, majd a key name elemre a kulcs részleteit tartalmazó oldal megnyitásához.
Kattintson a Permissions lapra, majd a Grant Access gombra

Rendelje hozzá az OpenAI összevont identitását a korábban létrehozott egyéni szerepkörhöz
Az Add principals szakaszban adja meg: principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
Az Assign roles szakaszban válassza ki az előző lépésben a korlátozott EKM-jogosultságokhoz létrehozott egyéni szerepkört
6. Alkalmazzon további korlátozásokat a saját biztonsági gyakorlataival összhangban
A fentiek jelentik az OpenAI számára az EKM beállításához minimálisan szükséges információkat. Szabadon alkalmazhat további kulcsházirendeket vagy korlátozásokat a saját belső biztonsági gyakorlataival összhangban, amennyiben az OpenAI meg tudja hívni a titkosítási és visszafejtési műveleteket a KMS-en. Amikor meghívja az alább ismertetett kulcsregisztrációs végpontot az OpenAI-nál, ellenőrizni fogjuk a beállítását.
A fenti lépések elvégzése után
ChatGPT Enterprise
Kérjük, vegye fel a kapcsolatot OpenAI-kapcsolattartójával, és ossza meg a következőket:
"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"
Az a régió, ahol a Key Management System mesterkulcsa található
Engedélyezni fogjuk az EKM-et a ChatGPT-szervezete/munkaterülete számára.
API
Regisztrálja külső kulcsát az OpenAI-nál
Kövesse az API-referenciában található utasításokat: Külső kulcsok a Management API-ban
Először regisztrálja a külső kulcsot az OpenAI-szervezet szintjén, ami létrehoz egy külső kulcsazonosítót.
Ebben a lépésben ellenőrizzük a GCP-beállítását azzal, hogy megnézzük, tudunk-e hitelesíteni a KMS-éhez.
Ez még nem adja hozzá az EKM-et az OpenAI-projektjéhez.
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": <az orgazonosítód vagy projektazonosítód>,
"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"
}'Ezután hozzon létre egy, a külső kulcshoz társított OpenAI-projektet. Ezt követően az EKM aktiválódik a projektjén.
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"
}'