OpenAI

Panoramica di OpenAI Enterprise Key Management (EKM)

Scopri come funziona EKM, quali provider sono supportati e da dove iniziare

Aggiornato: 20 days ago

Panoramica

Enterprise Key Management (EKM) consente di crittografare i contenuti dei clienti su OpenAI utilizzando chiavi gestite dal proprio sistema esterno di gestione delle chiavi (KMS), disponibile sia per ChatGPT Enterprise sia per l'API.

OpenAI supporta la crittografia Bring Your Own Key (BYOK) con account esterni in AWS KMS, Google Cloud (GCP) e Azure Key Vault.

Al momento, l'implementazione di EKM è limitata alle aree di lavoro Enterprise ed Edu con un referente OpenAI dedicato.

Come funziona la crittografia EKM di OpenAI

Flusso principale

  1. Generiamo una chiave di crittografia dei dati (DEK) per il tuo provider cloud.

  2. Il tuo KMS nel cloud gestisce una chiave di crittografia della chiave (KEK) principale, che può essere conservata nel tuo cloud oppure all’esterno. L'implementazione spetta a te.

  3. Richiediamo la crittografia della DEK dal tuo cloud per ottenere una DEK crittografata (eDEK). Se la tua KEK è archiviata esternamente, il tuo cloud effettua semplicemente un passaggio aggiuntivo verso il tuo archivio esterno, in una fase che risulta opaca per OpenAI.

Crittografia

Durante la crittografia, i tuoi dati vengono crittografati con la DEK, e la eDEK viene archiviata come metadati del file.

EKM encryption flow where OpenAI requests a DEK from your KMS, encrypts data, and stores encrypted data with eDEK

Decrittografia

Durante la decrittografia, richiediamo che il tuo KMS cloud decrittografi l'eDEK nella DEK, e utilizziamo la DEK per decrittare i dati.

EKM decryption flow where OpenAI requests a DEK from your KMS to decrypt encrypted data for download

Termini chiave

  • Chiave di crittografia dei dati (DEK) - la chiave che crittografa i tuoi dati. 

  • Chiave di crittografia dei dati crittografata (eDEK) - la DEK crittografata, generata dal tuo KMS

  • Chiave di crittografia della chiave (KEK) - la chiave principale che gestisci e che crittografa la DEK -> eDEK e decrittografa eDEK -> DEK. Questa chiave rimane sempre al di fuori dei sistemi di OpenAI.

Requisiti di alto livello per l'implementazione

Nel tuo provider cloud

  1. Crea una nuova chiave nel tuo cloud KMS (Azure, AWS o GCP)

  2. Crea una policy personalizzata e limitata con autorizzazioni di crittografia/decrittografia nel KMS

  3. Crea una policy di attendibilità (AWS), un'identità del carico di lavoro (GCP) o un principal del servizio (per Azure) per OpenAI

  4. Assegna a OpenAI un ruolo con la policy limitata per accedere al tuo KMS

Sulle piattaforme OpenAI

ChatGPT Enterprise

Crea un'area di lavoro sandbox di ChatGPT a scopo di test.

API

Nel tuo dashboard OpenAI, crea un nuovo progetto dove sarà applicata la crittografia.

Funzioni specifiche del provider

Per AWS, OpenAI:

  • Chiama AssumeRole con un ExternalID

Per GCP, OpenAI:

  • Chiama il tuo endpoint STS da un account OpenAI GCP

  • Usa il token di accesso GCP per eseguire la crittografia o decrittografia sul tuo KMS.

Per Azure, OpenAI:

  • Richiede un token di accesso per il vault del tuo tenant di Azure

  • Usa quel token di accesso per eseguire la crittografia o decrittografia nel tuo Key Vault.

Informazioni di cui hai bisogno da OpenAI

Autenticazione

Dovrai riconoscere i token di identità federata di OpenAI per AWS e GCP. Per Azure, dovrai riconoscere l'ID applicazione di OpenAI per la registrazione dell'app.

Riepilogo dei parametri di autenticazione

Principal AWS di OpenAIarn:aws:iam::790389265272:role/EnterpriseKeyManagement
ID dell'account di servizio GCP di OpenAI105900137572174660365
ID applicazione OpenAI Azure20a14814-5ab7-4612-a671-1382b412bf93

Informazioni richieste durante l'implementazione in base al provider cloud

  • Per AWS, devi configurare una policy di attendibilità che riconosca:

    • Principal di OpenAI (numero di account e ruolo)

    • Un "ExternalID" che rappresenta l'ID del progetto OpenAI

  • Per GCP devi configurare un'identità del carico di lavoro che riconosca:

    • ID dell'account di servizio di OpenAI

    • Un pubblico che rappresenta l'ID del tuo progetto OpenAI

  • Per Azure devi creare un principal del servizio nel tuo tenant Azure per la registrazione dell'app di OpenAI

Autorizzazione

Dovrai creare una policy che consenta all'identità di OpenAI di ottenere un accesso limitato al tuo KMS. 

AWSGCPAzure
kms:Decryptkms:Encryptcloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncryptMicrosoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action

Altro

In Azure, per Tipo di chiave (algoritmo di crittografia della chiave) seleziona RSA, non EC.

Informazioni che OpenAI richiede da te

Segui le istruzioni in questo documento per registrare il tuo KMS con OpenAI. Ecco un riepilogo dei parametri che dovrai fornire.

  1. Autenticazione

    1. AWS

      1. ARN ruolo IAM: ruolo per OpenAI da assumere (esempio: arn:aws:iam::123456789:role/role-name)

      2. ExternalID: il tuo ID organizzazione OpenAI

    2. GCP

      1. Numero del progetto di identità del carico di lavoro (esempio: 123456789)

      2. ID del pool di identità del carico di lavoro

      3. ID del provider di identità del carico di lavoro

      4. Pubblico consentito: il tuo ID organizzazione OpenAI

    3. Azure

      1. ID tenant

AWSGCPAzure
Relativo all'autenticazione ID tenant
Relativo a KMSARN KMS: (ad esempio: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID)ID progetto KMS (ad esempio: adjective-noun-12345)Nome del keyring KMSNome della chiave KMSPosizione della chiave KMS (ad esempio: us-east1)URI del vault(ad esempio: https://your-vault-name.vault.azure.net/)Nome della chiave

Dopo aver registrato il tuo KMS con OpenAI, continua a seguire le istruzioni nella documentazione per attivare la configurazione EKM su un progetto API. Crea un progetto API OpenAI nuovo a scopo di test.

Guide all'implementazione specifiche del provider

Per una guida passo dopo passo, consulta i link corrispondenti qui sotto. Tieni presente che questi si concentrano sui requisiti di integrazione con OpenAI e non sono intesi come una guida completa per il tuo intero ambiente

Funzionalità non supportate se EKM è abilitato

Nella release iniziale, le seguenti funzionalità non sono disponibili se EKM è abilitato:

  • App con sincronizzazione

  • Funzionalità non disponibili al pubblico (ovvero, tutte quelle ancora in versione beta/alpha)

Questo articolo è stato utile?