Prehľad
Enterprise Key Management (EKM) umožňuje OpenAI šifrovať údaje pomocou hlavného kľúča, ktorý ovládate vy. Tento dokument ukazuje, ako nastaviť účet GCP tak, aby ste OpenAI udelili obmedzené povolenia pre váš KMS.

Kroky
1. Vytvorte federovanú identitu pre OpenAI
OpenAI bude vydávať token identity z účtu GCP vlastneného spoločnosťou OpenAI, ktorý vyzerá približne takto.
Hodnoty azp a sub sú ID servisného účtu OpenAI v GCP
Hodnota aud je ID vašej organizácie OpenAI. Môžete vybrať aj iné publikum, napríklad ID svojho projektu OpenAI – pozrite si pokyny nižšie
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}Tento krok rozpozná tvrdenia uvedené v danom tokene identity a umožní vášmu GCP STS vydať prístupový token, keď sa tento token identity poskytne.
Prejdite na IAM & správca -> Federácia identity pracovnej záťaže a kliknite na Vytvoriť fond

V kroku Vytvoriť fond identity zadajte ľubovoľný názov fondu.
V kroku Pridať poskytovateľa do fondu:
V časti Vybrať poskytovateľa vyberte OpenID Connect (OIDC)
Zadajte ľubovoľný názov poskytovateľa.
V časti Vydavateľ (URL) zadajte https://accounts.google.com
V časti Publiká
Vyberte Povolené publiká
Zadajte publikum, ktoré má OpenAI uviesť, keď vám odovzdáme token.
Pre ChatGPT alebo API: môžete zadať ID organizácie OpenAI API (org-xxx)
Pre API: môžete zadať konkrétne ID projektu API pre väčšiu granularitu.

V časti Mapovanie atribútov
pre google.subject zadajte assertion.sub

V časti Podmienky atribútov
Teraz by ste mali vidieť svoj fond identity pracovnej záťaže a poskytovateľa identity pracovnej záťaže uvedené na stránke https://console.cloud.google.com/iam-admin/workload-identity-pools
ID fondu identity pracovnej záťaže

ID poskytovateľa identity pracovnej záťaže

2. Uistite sa, že KMS je povolený
Prejdite na https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview a povoľte KMS. Nemusíte vytvárať svoj KMS v tom istom projekte GCP, v ktorom ste rozpoznali federovanú identitu OpenAI; ak sa však projekty líšia, produkt KMS musí byť aspoň povolený v oboch projektoch.
3. Vytvorte nový kľúč KMS
Prejdite na Zabezpečenie -> Ochrana údajov > Správa kľúčov
Na karte Prehľad kliknite na Vytvoriť zväzok kľúčov
Vyberte ľubovoľný názov pre svoj zväzok kľúčov
Pre účel a algoritmus vyberte Symetrické šifrovanie/dešifrovanie

Po vytvorení zväzku kľúčov by sa mal zobraziť na karte Zväzky kľúčov. Kliknite na zväzok kľúčov.
V podrobnostiach zväzku kľúčov kliknite na Vytvoriť kľúč
Vyberte ľubovoľný názov pre svoj kľúč
4. Vytvorte obmedzenú rolu pre operácie šifrovania/dešifrovania v KMS
Prejdite na IAM & správca -> Roly -> Vytvoriť rolu
Zadajte ľubovoľný názov a ID roly
Kliknite na Pridať povolenia a potom pridajte nasledujúce
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Priraďte federovanú identitu OpenAI k obmedzenej role KMS pre operácie šifrovania/dešifrovania
Prejdite na Zabezpečenie -> Ochrana údajov > Správa kľúčov
Kliknite na názov svojho zväzku kľúčov a potom kliknite na názov kľúča, aby ste sa dostali na stránku s podrobnosťami o kľúči.
Kliknite na kartu Povolenia a potom kliknite na tlačidlo Udeliť prístup

Priraďte federovanú identitu OpenAI k vlastnej role, ktorú ste predtým vytvorili
V časti Pridať hlavné objekty zadajte principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
V časti Priradiť roly vyberte vlastnú rolu, ktorú ste vytvorili v predchádzajúcom kroku pre obmedzené povolenia EKM
6. Uplatnite ďalšie obmedzenia v súlade s vašimi bezpečnostnými postupmi
Vyššie sú uvedené minimálne požadované informácie, ktoré OpenAI potrebuje na nastavenie EKM. Môžete uplatniť ďalšie zásady kľúčov alebo obmedzenia v súlade s vlastnými internými bezpečnostnými postupmi, pokiaľ OpenAI dokáže volať operácie šifrovania a dešifrovania vo vašom KMS. Keď zavoláte koncový bod registrácie kľúča s OpenAI opísaný nižšie, overíme vaše nastavenie.
Po dokončení uvedených krokov
ChatGPT Enterprise
Obráťte sa na svoj kontakt v OpenAI a zdieľajte nasledujúce:
"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"
Región, v ktorom sa nachádza hlavný kľúč vášho systému správy kľúčov
EKM povolíme pre vašu organizáciu/pracovný priestor ChatGPT.
API
Zaregistrujte svoj externý kľúč v OpenAI
Postupujte podľa pokynov v tejto referenčnej dokumentácii API Externé kľúče v Management API
Najprv zaregistrujte svoj externý kľúč na úrovni organizácie OpenAI, čím sa vygeneruje ID externého kľúča.
V tomto kroku overíme vaše nastavenie v GCP tým, že skontrolujeme, či sa vieme autentifikovať vo vašom KMS.
Tým sa EKM ešte nepridá do vášho projektu 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": <ID vašej organizácie alebo projektu>,
"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"
}'Potom vytvorte projekt OpenAI priradený k externému kľúču. Následne sa vo vašom projekte aktivuje 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"
}'