Pangkalahatang-ideya
Sa pamamagitan ng Enterprise Key Management (EKM), maaari mong i-encrypt ang content ng iyong customer sa OpenAI gamit ang mga key na pinamamahalaan ng sarili mong external Key Management System (KMS). Available ito para sa ChatGPT Enterprise at API.
Sinusuportahan ng OpenAI ang Bring Your Own Key (BYOK) encryption gamit ang mga external account sa AWS KMS, Google Cloud (GCP), at Azure Key Vault.
Sa ngayon, limitado ang pagpapatupad ng EKM sa mga Enterprise at Edu workspace na may nakatalagang kinatawan ng OpenAI account.
Paano gumagana ang OpenAI EKM encryption
Daloy sa Mataas na Antas
Gumagawa kami ng Data Encryption Key (DEK) para sa iyong cloud provider.
Pinamamahalaan ng cloud KMS mo ang master Key Encryption Key (KEK), na nakaimbak man sa loob ng iyong cloud o sa labas nito. Ikaw ang bahala sa implementasyon.
Humihiling kami ng encryption ng DEK mula sa iyong cloud, para makakuha ng encrypted DEK (eDEK). Kung nakaimbak sa labas ang iyong KEK, ang cloud mo ay gagawa lang ng karagdagang hop sa iyong external store, sa hakbang na hindi nakikita ng OpenAI.
Encryption
Kapag nag-encrypt, ine-encrypt ang iyong data gamit ang DEK, at iniimbak ang eDEK bilang metadata ng file.

Decryption
Sa pagde-decrypt, hinihiling naming i-decrypt ng cloud KMS mo ang eDEK tungo sa DEK, at dini-decrypt namin ang data gamit ang DEK.

Mahahalagang Terminong
Data Encryption Key (DEK) - ang key na nag-e-encrypt sa iyong data.
Encrypted Data Encryption Key (eDEK) - ang naka-encrypt na DEK, na binubuo ng iyong KMS
Key Encryption Key (KEK) - ang master key na pinamamahalaan mo na nag-e-encrypt ng DEK -> eDEK at nagde-decrypt ng eDEK -> DEK. Ang key na ito ay laging nananatili sa labas ng mga system ng OpenAI.
Mga high-level na kinakailangan para sa implementasyon
Sa iyong cloud provider
Gumawa ng bagong key sa iyong cloud KMS (Azure, AWS, o GCP)
Gumawa ng custom at limitadong policy na may mga pahintulot na Encrypt/Decrypt sa KMS
Gumawa ng trust policy (AWS), workload identity (GCP), o service principal (para sa Azure) para sa OpenAI
Magtalaga sa OpenAI ng role na may limitadong policy para ma-access ang iyong KMS
Sa mga platform ng OpenAI
ChatGPT Enterprise
Gumawa ng sandbox na ChatGPT workspace para sa testing.
API
Sa iyong OpenAI dashboard, gumawa ng bagong project kung saan ilalapat ang encryption.
Mga function na partikular sa provider
Para sa AWS, ang OpenAI ay:
Tatawag ng AssumeRole gamit ang ExternalID
Para sa GCP, ang OpenAI ay:
Tatawag sa iyong STS endpoint mula sa isang OpenAI GCP account
Gagamitin ang GCP access token para tawagin ang encrypt/decrypt sa iyong KMS.
Para sa Azure, ang OpenAI ay:
Hihiling ng access token para sa vault ng iyong Azure tenant
Gagamitin ang access token na iyon para tawagin ang encrypt/decrypt sa iyong Key Vault.
Impormasyong kailangan mo mula sa OpenAI
Authentication
Kakailanganin mong kilalanin ang mga federated identity token ng OpenAI para sa AWS at GCP. Para sa Azure, kakailanganin mong kilalanin ang application id ng OpenAI para sa app registration nito.
Buod ng mga parameter sa authentication
| OpenAI AWS principal | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| OpenAI GCP service account id | 105900137572174660365 |
| OpenAI Azure application id | 20a14814-5ab7-4612-a671-1382b412bf93 |
Impormasyong kailangan sa pagpapatupad batay sa iyong cloud provider
Para sa AWS, dapat kang mag-set up ng trust policy na kumikilala sa:
Para sa GCP, dapat kang mag-set up ng workload identity na kumikilala sa:
Para sa Azure, dapat kang gumawa ng service principal sa iyong Azure tenant para sa app registration ng OpenAI
Gumawa nito para sa application client id ng OpenAI: 20a14814-5ab7-4612-a671-1382b412bf9
Magagawa mo ito sa pamamagitan ng pag-post sa endpoint na https://graph.microsoft.com/v1.0/servicePrincipals.
Awtorisasyon
Kailangan mong gumawa ng policy na nagbibigay sa identity ng OpenAI ng limitadong access sa iyong KMS.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
Iba pa
Sa Azure, para sa Key type (key encryption algorithm), piliin ang RSA, hindi EC.
Impormasyong kailangan sa iyo ng OpenAI
Sundin ang mga tagubilin sa dokumentong ito para irehistro ang iyong KMS sa OpenAI. Narito ang buod ng mga parameter na kailangan mong ibigay.
Nauugnay sa authentication
AWS
GCP
Azure
Tenant ID
| AWS | GCP | Azure | |
| Nauugnay sa authentication | Tenant ID | ||
| Nauugnay sa KMS | KMS ARN - (halimbawa: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | KMS Project ID (halimbawa: adjective-noun-12345) Pangalan ng KMS key ring Pangalan ng KMS key Lokasyon ng KMS key (halimbawa: us-east1) | Vault URI (halimbawa: https://your-vault-name.vault.azure.net/) Pangalan ng key |
Pagkatapos irehistro ang iyong KMS sa OpenAI, patuloy na sundin ang mga tagubilin sa dokumento para i-activate ang iyong EKM configuration sa isang API project. Gumawa ng bagong OpenAI API project para sa pagsubok.
Mga gabay sa pagpapatupad para sa bawat provider
Para sa sunod-sunod na gabay, tingnan ang mga nauugnay na link sa ibaba. Pakitandaan na nakatuon ang mga ito sa mga kinakailangan para sa integration sa OpenAI at hindi nilalayong maging komprehensibong gabay para sa iyong buong environment
Mga hindi sinusuportahang feature kapag naka-enable ang EKM
Hindi available ang mga sumusunod na feature kapag naka-enable ang EKM:
Mga feature na hindi pa pangkalahatang available, kabilang ang mga feature na nasa beta o alpha.
