Visão geral
A Gestão Empresarial de Chaves (EKM) permite-lhe encriptar o conteúdo dos seus clientes na OpenAI com chaves geridas pelo seu próprio Sistema de Gestão de Chaves (KMS) externo, estando disponível tanto para o ChatGPT Enterprise como para a API.
A OpenAI suporta encriptação Bring Your Own Key (BYOK) com contas externas no AWS KMS, Google Cloud (GCP) e Azure Key Vault.
Atualmente, a implementação de EKM está limitada a espaços de trabalho Enterprise e Edu com um representante de conta OpenAI designado.
Como funciona a encriptação EKM da OpenAI
Fluxo de alto nível
Geramos uma Data Encryption Key (DEK) para o seu fornecedor de cloud.
O KMS da sua cloud gere uma Key Encryption Key (KEK) mestra, armazenada na sua cloud ou externamente. A implementação fica ao seu critério.
Pedimos à sua cloud a encriptação da DEK, para obter uma DEK encriptada (eDEK). Se a sua KEK estiver armazenada externamente, a sua cloud apenas faz um salto adicional para o seu armazenamento externo, num passo que é opaco para a OpenAI.
Encriptação
Durante a encriptação, os seus dados são encriptados com a DEK e a eDEK é armazenada como metadados no ficheiro.

Desencriptação
Ao desencriptar, pedimos que o eDEK seja desencriptado pelo KMS da sua cloud para DEK, e desencriptamos os dados com a DEK.

Termos-chave
Data Encryption Key (DEK) - a chave que encripta os seus dados.
Encrypted Data Encryption Key (eDEK) - a DEK encriptada, gerada pelo seu KMS
Key Encryption Key (KEK) - a chave-mestra que gere e que encripta DEK -> eDEK e desencripta eDEK -> DEK. Esta chave permanece sempre fora dos sistemas da OpenAI.
Requisitos de alto nível para a implementação
No seu fornecedor de serviços na nuvem
Crie uma chave nova no KMS da sua nuvem (Azure, AWS ou GCP)
Crie uma política personalizada e limitada com permissões Encrypt/Decrypt no KMS
Crie uma política de confiança (AWS), uma identidade de carga de trabalho (GCP) ou um principal de serviço (para o Azure) para a OpenAI
Atribua à OpenAI uma função com a política limitada para aceder ao seu KMS
Nas plataformas OpenAI
ChatGPT Enterprise
Crie um espaço de trabalho sandbox do ChatGPT para fins de teste.
API
No seu dashboard da OpenAI, crie um novo projeto onde a encriptação será aplicada.
Funções específicas do fornecedor
Para AWS, a OpenAI irá:
chamar AssumeRole com um ExternalID
Para GCP, a OpenAI irá:
chamar o seu endpoint STS a partir de uma conta GCP da OpenAI
usar o token de acesso GCP para chamar encrypt/decrypt no seu KMS.
Para Azure, a OpenAI irá:
pedir um token de acesso para o cofre da sua tenancy do Azure
usar esse token de acesso para chamar encrypt/decrypt no seu Key Vault.
Informações de que precisa da OpenAI
Autenticação
Terá de reconhecer os tokens de identidade federada da OpenAI para AWS e GCP. Para Azure, terá de reconhecer o ID da aplicação da OpenAI para o respetivo registo de aplicação.
Resumo dos parâmetros de autenticação
| principal AWS da OpenAI | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| ID da conta de serviço GCP da OpenAI | 105900137572174660365 |
| ID da aplicação Azure da OpenAI | 20a14814-5ab7-4612-a671-1382b412bf93 |
Informações necessárias durante a implementação, consoante o seu fornecedor de serviços na nuvem
Para a AWS, tem de configurar uma política de confiança que reconheça:
Para o GCP, tem de configurar uma identidade de carga de trabalho que reconheça:
Para o Azure, tem de criar um principal de serviço no seu inquilino do Azure para o registo da aplicação da OpenAI
Crie um para o ID de cliente da aplicação da OpenAI: 20a14814-5ab7-4612-a671-1382b412bf9
Pode fazê-lo através de um pedido POST para o endpoint https://graph.microsoft.com/v1.0/servicePrincipals.
Autorização
Terá de criar uma política que permita à identidade da OpenAI obter acesso limitado ao seu KMS.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
Outros
No Azure, em Tipo de chave (algoritmo de encriptação da chave), selecione RSA, não EC.
Informações de que a OpenAI necessita
Siga as instruções deste documento para registar o seu KMS na OpenAI. Segue-se um resumo dos parâmetros que terá de fornecer.
Relacionado com a autenticação
AWS
GCP
Azure
ID do inquilino
| AWS | GCP | Azure | |
| Relacionado com a autenticação | ID do inquilino | ||
| Relacionado com o KMS | ARN do KMS — (exemplo: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | ID do projeto KMS (exemplo: adjective-noun-12345) Nome do conjunto de chaves KMS Nome da chave KMS Localização da chave KMS (exemplo: us-east1) | URI do cofre (exemplo: https://your-vault-name.vault.azure.net/) Nome da chave |
Depois de registar o seu KMS na OpenAI, continue a seguir as instruções do documento para ativar a configuração de EKM num projeto de API. Crie um projeto novo da API da OpenAI para fins de teste.
Guias de implementação específicos de cada fornecedor
Para obter orientações passo a passo, consulte as ligações correspondentes abaixo. Tenha em atenção que estes guias se centram nos requisitos de integração com a OpenAI e não pretendem ser um guia completo para todo o seu ambiente
Funcionalidades não suportadas se o EKM estiver ativado
As seguintes funcionalidades não estão disponíveis se o EKM estiver ativado:
Funcionalidades que não estão geralmente disponíveis, incluindo funcionalidades em beta ou alfa.
