OpenAI

Visão geral do Enterprise Key Management (EKM) da OpenAI

Saiba como o EKM funciona, quais provedores são compatíveis e por onde começar

Atualizado: 19 days ago

Visão geral

Enterprise Key Management (EKM) permite criptografar o conteúdo de clientes na OpenAI usando chaves gerenciadas por um sistema externo de gerenciamento de chaves (KMS). Esse recurso está disponível tanto para o ChatGPT Enterprise quanto para a API.

A OpenAI oferece suporte à criptografia Bring Your Own Key (BYOK) com contas externas no AWS KMS, no Google Cloud (GCP) e no Azure Key Vault.

No momento, a implementação de EKM está limitada a workspaces Enterprise e Edu com um representante de conta da OpenAI.

Como funciona a criptografia EKM da OpenAI

Fluxo principal

  1. Uma Chave de Criptografia de Dados (DEK) é gerada para o seu provedor de nuvem.

  2. O KMS da sua nuvem gerencia uma Chave Mestra de Criptografia (KEK), armazenada na própria nuvem ou externamente. A implementação é de sua responsabilidade.

  3. A OpenAI solicita ao provedor de nuvem a criptografia da DEK para gerar uma DEK criptografada (eDEK). Se a KEK estiver armazenada externamente, o provedor realiza uma etapa adicional para acessar esse armazenamento externo, sem exposição desse processo à OpenAI.

Criptografia

Durante a criptografia, os dados são criptografados com a DEK, e a eDEK é armazenada como metadado no arquivo.

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

Descriptografia

Durante a descriptografia, a OpenAI solicita que o eDEK seja convertido pelo KMS na nuvem em um DEK. Em seguida, o DEK é usado para descriptografar os dados.

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

Termos-chave

  • Chave de Criptografia de Dados (DEK): chave usada para criptografar os dados.

  • Chave de Criptografia de Dados Criptografada (eDEK): versão criptografada da DEK, gerada pelo KMS

  • Key Encryption Key (KEK): chave mestra gerenciada fora dos sistemas da OpenAI, usada para criptografar a DEK (gerando a eDEK) e descriptografar a eDEK (restaurando a DEK). Esta chave permanece sempre fora dos sistemas da OpenAI.

Requisitos gerais para a implementação

No provedor de nuvem

  1. Crie uma nova chave no KMS da sua nuvem (Azure, AWS ou GCP)

  2. Crie uma política personalizada com permissões limitadas de criptografia e descriptografia no KMS

  3. Configure uma política de confiança (AWS), uma identidade de workload (GCP) ou um service principal (Azure) para a OpenAI

  4. Atribua à OpenAI uma função com permissões limitadas para acessar o KMS

Nas plataformas da OpenAI

ChatGPT Enterprise

Crie um workspace sandbox do ChatGPT para fins de teste.

API

No painel da OpenAI, crie um novo projeto onde a criptografia será aplicada.

Funções específicas por provedor

Para AWS, a OpenAI vai:

  • Executar AssumeRole com um ExternalID

Para GCP, a OpenAI vai:

  • Acessar o endpoint STS a partir de uma conta GCP da OpenAI

  • Use o token de acesso do GCP para chamar operações de encrypt e decrypt no seu KMS.

Para Azure, a OpenAI vai:

  • Solicitar um token de acesso para o cofre no seu tenant do Azure

  • Use esse token para realizar operações de criptografia e descriptografia no Key Vault.

Informações fornecidas pela OpenAI

Autenticação

É necessário reconhecer os tokens de identidade federada da OpenAI na AWS e no GCP. No Azure, é necessário reconhecer o ID do aplicativo da OpenAI no registro de aplicativos.

Resumo dos parâmetros de autenticação

Principal da OpenAI na AWSarn:aws:iam::790389265272:role/EnterpriseKeyManagement
ID da conta de serviço do GCP da OpenAI105900137572174660365
ID do aplicativo da OpenAI no Azure20a14814-5ab7-4612-a671-1382b412bf93

Informações necessárias durante a implementação, de acordo com o provedor de nuvem

  • Para AWS, é necessário configurar uma política de confiança que reconheça:

    • Responsável principal da OpenAI (número da conta e função)

    • ExternalID, que corresponde ao ID do projeto na OpenAI

  • Para GCP, é necessário configurar uma identidade de workload que reconheça:

    • ID da conta de serviço da OpenAI

    • Um público correspondente ao ID do projeto na OpenAI

  • Para Azure, é necessário criar um service principal no locatário do Azure para o registro de aplicativo da OpenAI

Autorização

É necessário criar uma política que permita que a identidade da OpenAI tenha acesso limitado ao KMS. 

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

Outro

No Azure, no campo Key type (tipo de chave ou algoritmo de criptografia), selecione RSA, não EC.

Informações necessárias para a OpenAI

Siga as instruções neste documento para registrar seu KMS na OpenAI. Abaixo está um resumo dos parâmetros que precisam ser fornecidos.

  1. Relacionado à autenticação

    1. AWS

      1. ARN da função do IAM para a OpenAI assumir (exemplo: arn:aws:iam::123456789:role/role-name)

      2. ExternalID: ID da sua organização na OpenAI

    2. GCP

      1. Número do projeto da identidade de workload (exemplo: 123456789)

      2. ID do pool de identidade de workload

      3. ID do provedor de identidade de workload

      4. Público permitido: ID da sua organização na OpenAI

    3. Azure

      1. Tenant ID

AWSGCPAzure
Relacionado à autenticação Tenant ID
Relacionado ao KMSKMS ARN (exemplo: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID)ID do projeto KMS (exemplo: adjective-noun-12345)Nome do key ring do KMSNome da chave do KMSLocalização da chave do KMS (exemplo: us-east1)Vault URI (exemplo: https://your-vault-name.vault.azure.net/)Nome da chave

Depois de registrar o KMS na OpenAI, siga as instruções na documentação para ativar a configuração de EKM em um projeto de API. Crie um novo projeto de API da OpenAI para fins de teste.

Guias de implementação específicos por provedor

Para orientações passo a passo, consulte os links abaixo. Esses materiais focam nos requisitos de integração com a OpenAI e não abrangem todo o ambiente

Recursos não compatíveis com EKM ativado

Nesta versão inicial, os seguintes recursos não estão disponíveis quando o EKM está habilitado:

  • Aplicativos com sincronização

  • Funcionalidades que não estão geralmente disponíveis (ou seja, (Algo ainda em beta/alfa)

Este artigo foi útil?