Omówienie
Enterprise Key Management (EKM) umożliwia szyfrowanie treści klientów w OpenAI za pomocą kluczy zarządzanych we własnym zewnętrznym systemie zarządzania kluczami (KMS). Rozwiązanie jest dostępne zarówno w ChatGPT Enterprise, jak i w API.
OpenAI obsługuje szyfrowanie Bring Your Own Key (BYOK) przy użyciu zewnętrznych kont w usługach AWS KMS, Google Cloud (GCP) i Azure Key Vault.
Obecnie wdrożenie EKM jest dostępne wyłącznie dla przestrzeni roboczych Enterprise i Edu, które mają wyznaczonego opiekuna konta OpenAI.
Jak działa szyfrowanie EKM w OpenAI
Przepływ wysokiego poziomu
Generujemy Data Encryption Key (DEK) dla Twojego dostawcy chmury.
Twój chmurowy KMS zarządza głównym Key Encryption Key (KEK), przechowywanym w chmurze lub poza nią. Sposób wdrożenia zależy od Ciebie.
Żądamy zaszyfrowania DEK przez Twoją chmurę, aby uzyskać encrypted DEK (eDEK). Jeśli Twój KEK jest przechowywany zewnętrznie, chmura wykonuje jedynie dodatkowy przeskok do zewnętrznego magazynu w kroku, który jest nieprzejrzysty dla OpenAI.
Szyfrowanie
Podczas szyfrowania dane są szyfrowane kluczem DEK, a klucz eDEK jest przechowywany jako metadane pliku.

Odszyfrowywanie
Podczas odszyfrowywania żądamy odszyfrowania eDEK przez Twój chmurowy KMS do postaci DEK, a następnie odszyfrowujemy dane za pomocą DEK.

Kluczowe pojęcia
Data Encryption Key (DEK) — klucz szyfrujący Twoje dane.
Encrypted Data Encryption Key (eDEK) — zaszyfrowany DEK generowany przez Twój KMS
Key Encryption Key (KEK) — zarządzany przez Ciebie klucz główny, który szyfruje DEK -> eDEK i odszyfrowuje eDEK -> DEK. Ten klucz zawsze pozostaje poza systemami OpenAI.
Ogólne wymagania wdrożeniowe
U dostawcy chmury
Utwórz nowy klucz w chmurowym KMS (Azure, AWS lub GCP).
Utwórz niestandardową, ograniczoną zasadę z uprawnieniami Encrypt/Decrypt w KMS.
Utwórz dla OpenAI zasady zaufania (AWS), tożsamość obciążenia (GCP) lub jednostkę usługi (Azure).
Przypisz OpenAI rolę z ograniczoną zasadą dostępu do KMS.
Na platformach OpenAI
ChatGPT Enterprise
Utwórz testową przestrzeń roboczą ChatGPT typu sandbox.
API
W panelu OpenAI utwórz nowy projekt, w którym będzie stosowane szyfrowanie.
Funkcje specyficzne dla dostawcy
W przypadku AWS OpenAI będzie:
wywoływać AssumeRole z parametrem ExternalID
W przypadku GCP OpenAI będzie:
wywoływać Twój punkt końcowy STS z konta GCP OpenAI
używać tokenu dostępu GCP do wywoływania encrypt/decrypt w Twoim KMS.
W przypadku Azure OpenAI będzie:
żądać tokenu dostępu do magazynu w dzierżawie Azure
używać tego tokenu dostępu do wywoływania encrypt/decrypt w Twoim Key Vault.
Informacje, których potrzebujesz od OpenAI
Uwierzytelnianie
Musisz rozpoznawać federacyjne tokeny tożsamości OpenAI dla AWS i GCP. W przypadku Azure musisz rozpoznawać identyfikator aplikacji OpenAI dla rejestracji jej aplikacji.
Podsumowanie parametrów uwierzytelniania
| Podmiot AWS OpenAI | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| Identyfikator konta usługi GCP OpenAI | 105900137572174660365 |
| Identyfikator aplikacji Azure OpenAI | 20a14814-5ab7-4612-a671-1382b412bf93 |
Informacje wymagane podczas wdrożenia w zależności od dostawcy chmury
W przypadku AWS musisz skonfigurować zasady zaufania, które rozpoznają:
W przypadku GCP musisz skonfigurować tożsamość obciążenia, która rozpoznaje:
W przypadku Azure musisz utworzyć jednostkę usługi w swojej dzierżawie Azure na potrzeby rejestracji aplikacji OpenAI.
Utwórz ją dla identyfikatora klienta aplikacji OpenAI: 20a14814-5ab7-4612-a671-1382b412bf9
Możesz to zrobić, wysyłając żądanie POST do punktu końcowego https://graph.microsoft.com/v1.0/servicePrincipals.
Autoryzacja
Musisz utworzyć zasadę, która zapewni tożsamości OpenAI ograniczony dostęp do Twojego KMS.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
Inne
W Azure dla typu klucza (algorytmu szyfrowania klucza) wybierz RSA, a nie EC.
Informacje, których OpenAI potrzebuje od Ciebie
Postępuj zgodnie z instrukcjami w tym dokumencie, aby zarejestrować swój KMS w OpenAI. Poniżej znajduje się podsumowanie parametrów, które trzeba podać.
Dane uwierzytelniania
AWS
GCP
Azure
Identyfikator dzierżawy
| AWS | GCP | Azure | |
| Dane uwierzytelniania | Identyfikator dzierżawy | ||
| Dane KMS | ARN KMS — (przykład: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | Identyfikator projektu KMS (przykład: adjective-noun-12345) Nazwa pęku kluczy KMS Nazwa klucza KMS Lokalizacja klucza KMS (przykład: us-east1) | Identyfikator URI magazynu (przykład: https://your-vault-name.vault.azure.net/) Nazwa klucza |
Po zarejestrowaniu KMS w OpenAI nadal postępuj zgodnie z instrukcjami w dokumencie, aby aktywować konfigurację EKM w projekcie API. Utwórz nowy projekt API OpenAI do celów testowych.
Instrukcje wdrożenia dla poszczególnych dostawców
Szczegółowe instrukcje krok po kroku znajdziesz pod odpowiednimi linkami poniżej. Pamiętaj, że dotyczą one wymagań integracji z OpenAI i nie stanowią kompleksowego przewodnika po całym środowisku.
Funkcje nieobsługiwane przy włączonym EKM
Po włączeniu EKM następujące funkcje nie są dostępne:
Funkcje, które nie są powszechnie dostępne, w tym funkcje w wersji beta lub alfa.
