Como preservar a privacidade nas análises de segurança em fluxos de trabalho da API
A zero retenção de dados com processamento privado de segurança (ZDR com PSP) permite realizar análises de segurança automatizadas e offline sem que a OpenAI retenha os prompts ou as respostas dos clientes. Este guia explica como funciona a ZDR com PSP e quais são suas responsabilidades operacionais. Para conhecer a arquitetura completa e o modelo de segurança, consulte o documento técnico sobre processamento privado de segurança.
Visão geral do processamento privado de segurança (1 min e 31 s).
Três princípios do processamento privado de segurança
Os clientes controlam o próprio conteúdo
O conteúdo fica no armazenamento controlado pelo cliente. O cliente controla as permissões e a autorização de gerenciamento de chaves empresariais (EKM) necessárias para recuperar e descriptografar os registros de segurança protegidos.
Sem análise humana
A análise de segurança não deve criar uma nova forma de o pessoal da OpenAI ler o conteúdo protegido dos clientes. O conteúdo criptografado é descriptografado em um ambiente de execução de segurança aprovado, com atestação por hardware e acesso humano desabilitado. Apenas sinais de segurança de escopo delimitado e metadados operacionais saem da análise protegida do PSP em texto claro.
Retenção de conteúdo exclusivamente para fins de segurança
O conteúdo mantido no armazenamento controlado pelo cliente serve apenas a finalidades de segurança aprovadas. Ele não pode ser usado para treinar modelos nem disponibilizado a outros grupos da OpenAI ou de seus parceiros.
Como funciona a ZDR com PSP
A arquitetura consiste em dois fluxos:
O fluxo de requisição à API e retenção protege e mantém o conteúdo elegível da API em um contêiner de armazenamento controlado pelo cliente.
O pipeline assíncrono de segurança recupera registros exclusivamente para análises de segurança automatizadas e aprovadas e libera decisões de segurança de escopo delimitado.
Requisição à API e retenção
Uma interação, composta pelo seu prompt e pela resposta do modelo, é selecionada por encaminhamento de um classificador de segurança ou por uma política de amostragem aprovada. O encaminhamento, por si só, não comprova uma violação de política.
O sistema criptografa o registro e o grava no seu armazenamento regional em nuvem. A OpenAI mantém um índice com metadados operacionais e uma referência ao local de armazenamento, sem guardar uma cópia do conteúdo. A criptografia e a gravação ocorrem de forma assíncrona, sem bloquear a inferência.
Pipeline assíncrono de segurança
A ZDR com PSP recupera os registros criptografados do seu armazenamento e verifica se é possível descriptografá-los. O ambiente de execução da análise de segurança tem atestação por hardware, desabilita o acesso humano e foi projetado para ser a única carga de trabalho da OpenAI capaz de descriptografar o conteúdo dos clientes. Ele realiza a análise de segurança automatizada usando um prompt de revisão aprovado e um schema de saída que não expõe o conteúdo do cliente.
Apenas sinais de segurança predefinidos e de escopo delimitado e metadados operacionais aprovados podem sair da análise em texto claro. Os resultados detalhados são criptografados antes de sair do ambiente de execução e gravados no seu armazenamento em nuvem com a mesma data de expiração do registro original. A ZDR com PSP criptografa os registros e os grava no seu armazenamento regional em nuvem com um TTL de 30 dias.
Criptografia do conteúdo do cliente
Ao ser retido no armazenamento do cliente, cada registro recebe duas camadas de criptografia:
Criptografia HPKE gerenciada pela OpenAI: a camada interna permite que apenas o ambiente de execução autorizado para análise de segurança descriptografe o conteúdo do cliente.
Criptografia gerenciada pelo cliente: o gerenciamento de chaves empresariais (EKM) acrescenta uma camada externa usando o serviço de gerenciamento de chaves que você controla.
Quando o EKM está habilitado, a chave de descriptografia da camada interna da OpenAI não basta para descriptografar um registro armazenado. Também é necessária a autorização de uso da chave que você gerencia. Revogar essa autorização impede a descriptografia dos registros retidos, mas não os exclui nem desfaz o processamento já concluído.
Recomendamos habilitar o EKM para ter esse controle adicional. O serviço de gerenciamento de chaves (KMS) que mantém sua chave EKM pode ficar em uma região diferente da que você configurou para o armazenamento. Consulte as perguntas frequentes sobre os aspectos técnicos do EKM para saber mais sobre autorização e revogação. O documento técnico aborda criptografia, computação confidencial, mecanismos de proteção e transparência.
A descriptografia do PSP permite usar uma chave assimétrica que você controla para descriptografar o conteúdo do cliente nos registros do PSP mantidos no armazenamento em nuvem conectado. A OpenAI usa a chave pública, enquanto a chave privada permanece no seu serviço de gerenciamento de chaves em nuvem. Esse recurso é independente do EKM e não concede ao pessoal da OpenAI acesso ao seu conteúdo.
Consulte Configurar chaves assimétricas para configurar o AWS KMS, o Azure Key Vault ou o Google Cloud KMS e registrar a chave. Confirme com seu contato na OpenAI a disponibilidade e a ativação da descriptografia do PSP. Registrar uma chave não habilita o PSP nem configura o armazenamento. A chave só pode descriptografar registros gravados enquanto a descriptografia do PSP estava habilitada para ela. Os registros existentes não são convertidos.
Para consultar as etapas de descriptografia, o formato dos registros e a derivação de chaves, veja Descriptografar registros do PSP.
Use uma chave de API de administrador da organização com acesso de leitura e gravação ao projeto. Carregue-a de forma segura em OPENAI_ADMIN_KEY. As chaves de inferência do projeto não funcionam para essa operação. Os exemplos usam curl e um shell compatível com Bash.
Defina o ID da organização, o ID do projeto e o ID extkey retornado no registro da chave:
Defina psp_decryption_key_id como o ID extkey retornado para a mesma organização. Mantenha o valor de external_key_id, que seleciona a chave EKM do projeto.
As listas de projetos também retornam psp_decryption_key_id. O campo api_project_ids do registro da chave mostra os projetos associados a ela. Omitir psp_decryption_key_id preserva a seleção. Você pode selecionar o mesmo ID novamente.
Conecte seu próprio bucket do AWS S3, contêiner do Azure Blob, bucket do Google Cloud Storage ou bucket do Object Storage da Oracle Cloud Infrastructure (OCI) a um projeto da OpenAI. Siga as etapas de configuração para seu provedor de nuvem e, em seguida, registre e valide a conexão.
A ZDR com PSP é habilitada por projeto. Uma vez habilitada, a política do PSP se aplica a todo o tráfego da API nesse projeto, inclusive a requisições a modelos que, em outras circunstâncias, não exigiriam PSP. Para usar ZDR sem PSP com modelos elegíveis, envie essas requisições por um projeto separado configurado para ZDR sem PSP.
Antes de começar
Organizações já aprovadas para zero retenção de dados podem configurar a ZDR com PSP diretamente no console da API. Se sua organização ainda não tiver aprovação para ZDR, consulte os requisitos de elegibilidade e aprovação.
Você pode escolher qualquer região de armazenamento compatível que atenda aos requisitos de residência de dados do projeto. Você precisa de permissão para criar recursos de armazenamento e delegar acesso na sua conta de nuvem.
Peça a um administrador da organização que registre e valide o armazenamento no console da API. Para usar a API de gerenciamento, utilize uma chave de API de administrador da sua organização na OpenAI. Os administradores do projeto podem consultar as orientações e o status. Uma chave de inferência do projeto não funciona nas chamadas à API de gerenciamento.
Abrir a configuração de armazenamento no console da API
Abra Configurações da organização > Controles de dados > Retenção de dados e selecione Conectar armazenamento.
Em Conectar armazenamento externo, escolha AWS, Azure, GCP ou OCI e selecione o projeto. Você também pode abrir Conectar armazenamento em Configurações do projeto > Retenção de dados.
Conclua a configuração do provedor de nuvem conforme descrito abaixo. Depois, insira os dados do armazenamento na caixa de diálogo e selecione Conectar e validar.
Configuração por provedor de nuvem
Siga estas etapas se estiver usando a AWS. Para outros provedores, vá para Azure Blob Storage, Google Cloud Storage ou OCI Object Storage.
Passo a passo da configuração da AWS (2 min e 10 s, sem áudio). Consulte as instruções
abaixo para ver os valores de configuração.
1. Crie o bucket
Crie um bucket S3 dedicado em uma região compatível com a residência de dados do projeto. Se a residência de dados estiver desativada, você pode escolher qualquer região para o bucket.
Mantenha as ACLs desabilitadas.
Ative Bloquear todo o acesso público.
Anote o ARN do bucket. Você o usará como CUSTOMER_BUCKET_ARN nas etapas a seguir.
2. Configure a regra de ciclo de vida
No bucket, abra Gerenciamento > Criar regra de ciclo de vida e use estas configurações:
Nome da regra:psp-retention
Prefixo:openai/
Ação: Expirar as versões atuais dos objetos
Idade: 30 dias
Habilite a regra. Verifique se nenhuma outra regra faz esses registros expirarem antes desse prazo. Essa configuração define a expiração dos objetos no ciclo de vida. A chave de descriptografia da OpenAI expira de forma independente.
3. Crie a política de acesso
Em IAM > Políticas > Criar política, escolha JSON. Substitua CUSTOMER_BUCKET_ARN pelo ARN do bucket, por exemplo, arn:aws:s3:::your-psp-bucket, e salve a política como psp-bucket-policy.
Anexe psp-bucket-policy à função que você está criando. Você pode dar à função o nome psp-role. Anote o ARN da função como CUSTOMER_ROLE_ARN. O ID do projeto em sts:ExternalId deve corresponder ao projeto que você registrar.
Prossiga para Registrar o armazenamento.
Siga estas etapas se estiver usando o Azure.
1. Crie a conta de armazenamento
Crie uma conta dedicada na nuvem comercial do Azure. Escolha uma região de armazenamento aprovada nos EUA ou na UE que seja compatível com a residência de dados do projeto.
Tipo de conta:StorageV2
Básico > Desempenho: Padrão
Básico > Redundância: LRS ou ZRS (preferencial)
Avançado > Camada de acesso: Frequente
Avançado > Namespace hierárquico: Desabilitado
Rede > Acesso à rede pública: Habilitado para todas as redes
Segurança > Transferência segura: HTTPS obrigatório, com TLS 1.2 ou superior
Segurança > Acesso anônimo a blobs: Desabilitado
Segurança > Acesso por chave da conta de armazenamento: Desabilitado
Segurança > Autorização do Microsoft Entra: Habilitada
Confirme se a configuração de rede atende aos requisitos do seu ambiente de nuvem. Use o endpoint primário de Blob da conta. Não use um endpoint de nuvem soberana ou personalizado.
2. Crie o contêiner
Crie um contêiner privado em Conta de armazenamento > Armazenamento de dados > Contêineres > Adicionar contêiner. Abra Contêiner > Configurações > Metadados e defina openai_organization_id como o ID exato da sua organização na OpenAI. Esse campo é obrigatório.
Para restringir o contêiner a um único projeto da OpenAI, defina também openai_project_id como o ID exato do projeto. Esse campo é opcional. Quando você o define, apenas o projeto com esse ID pode registrar ou validar o contêiner, ler dados dele ou gravar dados nele.
Dois projetos da OpenAI da mesma organização podem compartilhar o contêiner se você omitir openai_project_id e a região de armazenamento atender aos requisitos de residência de dados de ambos os projetos. Registre e valide o contêiner para cada projeto.
Adicione os metadados ao contêiner. Não os adicione à conta de armazenamento nem aos blobs individuais.
3. Configure a regra de ciclo de vida
Em Conta de armazenamento > Gerenciamento de dados > Gerenciamento do ciclo de vida > Adicionar, adicione uma regra habilitada que se aplique a todos os blobs de blocos atuais (blobs de base) da conta dedicada:
Ação: Excluir 30 dias após a última modificação
Filtros: Nenhum filtro de prefixo ou marca
4. Conceda acesso à OpenAI
Peça ao administrador do diretório que adicione o aplicativo da OpenAI ao seu locatário. Substitua CUSTOMER_TENANT_ID abaixo pelo ID do seu locatário do Azure. Mantenha o ID do aplicativo como está.
Se o aplicativo já existir, use az ad sp show com o mesmo --id e a mesma consulta. Anote o nome do aplicativo e o ID do objeto que o representa no seu locatário.
Na conta de armazenamento, abra Conta de armazenamento > Controle de acesso (IAM) > Adicionar atribuição de função. Selecione a função Leitor. Em Atribuir acesso a, selecione Usuário, grupo ou entidade de serviço. Depois, procure e selecione CSG - Azure Blob Storage Prod.
Em seguida, selecione a função Colaborador de Dados de Blob de Armazenamento. Em Atribuir acesso a, selecione Usuário, grupo ou entidade de serviço. Procure e selecione CSG - Azure Blob Storage Prod.
A OpenAI gerencia as credenciais do aplicativo. Não crie nem compartilhe chaves de armazenamento, tokens SAS ou segredos do cliente.
1. Crie o bucket
Em Cloud Storage > Buckets, crie um bucket em um local compatível com a residência de dados do seu projeto da OpenAI. Use estas configurações:
Prevenção de acesso público: Ativada.
Controle de acesso: Uniforme.
Se quiser, desative a Política de exclusão reversível (para recuperação de dados) padrão. Na próxima etapa, você configurará a exclusão por ciclo de vida.
Para projetos globais, repita a configuração do GCP para cada região que pretende usar.
2. Configure a regra de ciclo de vida
Na aba Ciclo de vida do bucket, adicione uma regra Excluir objeto com estas condições:
O nome do objeto corresponde ao prefixo: openai/.
Idade: 30 dias.
3. Localize o número do projeto do Google Cloud
Em IAM e administrador > Configurações, localize o projeto que contém seu pool de identidades de carga de trabalho. Copie o valor numérico de Número do projeto e use-o como <CUSTOMER_GCP_PROJECT_NUMBER>.
4. Crie o pool e o provedor de identidades de carga de trabalho
Em IAM e administrador > Federação de identidades de carga de trabalho, crie um pool de identidades de carga de trabalho e adicione um provedor OpenID Connect (OIDC) com estes valores:
Emissor (URL): https://accounts.google.com.
Públicos-alvo permitidos: <CUSTOMER_PROJECT_ID> (ID do seu projeto da OpenAI).
Configure estes mapeamentos de atributos:
Atributo do Google
Valor OIDC
google.subject
assertion.sub
attribute.openai_project
assertion.aud
Defina a condição de atributo abaixo. Mantenha o identificador de sujeito da identidade de produção da OpenAI exatamente como 112981926705442324573.
Anote os IDs do pool e do provedor como <CUSTOMER_GCP_POOL_ID> e <CUSTOMER_GCP_PROVIDER_ID>, respectivamente.
Vários projetos da OpenAI
Para projetos do mesmo cliente, você pode reutilizar o pool e o provedor. Adicione cada ID de projeto a Públicos-alvo permitidos e atualize a condição de atributo:
Selecione a função personalizada que você criou na etapa 5.
Prossiga para Registrar o armazenamento.
1. Crie o bucket
No console da OCI, abra Armazenamento > Object Storage e Archive Storage > Buckets e crie um bucket dedicado. Na tabela, escolha uma região comercial compatível com a residência de dados do seu projeto:
Camada de armazenamento: Padrão, com a seleção automática de camada desabilitada
Visibilidade: Privada
Versionamento de objetos: Desabilitado
Mantenha a replicação desabilitada. Anote o nome do bucket e o identificador da região como CUSTOMER_BUCKET_NAME e CUSTOMER_OCI_REGION. Abra Perfil, selecione Tenancy e depois o nome da sua tenancy. Copie o OCID dela como CUSTOMER_TENANCY_OCID. Sua tenancy deve estar inscrita na região do bucket.
2. Adicione as tags do bucket
Adicione estas tags ao criar o bucket ou abra a aba Tags do bucket e selecione Adicionar. Defina Namespace como Nenhum (tag de formato livre) e use os IDs exatos da sua organização e do seu projeto da OpenAI:
Chave
Valor
openai_organization_id
CUSTOMER_ORG_ID
openai_project_id
CUSTOMER_PROJECT_ID
Use os mesmos IDs na política de acesso e no registro do armazenamento. Cada bucket fica vinculado a uma única organização e a um único projeto da OpenAI.
3. Conceda acesso à OpenAI
Em Identidade e segurança > Políticas, selecione o compartimento raiz da sua tenancy e crie uma política chamada psp-storage-access. Ative Mostrar editor manual e insira as instruções abaixo. Substitua os marcadores CUSTOMER_... pelo nome do bucket, pela região e pelos IDs da organização e do projeto da OpenAI, conforme indicado. Mantenha os valores dos OCIDs da tenancy e do grupo da OpenAI como estão.
Define tenancy OpenAICSG as ocid1.tenancy.oc1..aaaaaaaa4kzwe5jdr4gsxft7dfnwbnp3aozhxeskabsqo7czdkbp6fkh3uhaDefine group OpenAICSGProduction as ocid1.group.oc1..aaaaaaaanuot5i5kooasr6qh6qo4ohqljrrxx3javkl2tkedb7ljsluq62saAdmit group OpenAICSGProduction of tenancy OpenAICSG to {OBJECTSTORAGE_NAMESPACE_READ} in tenancyAdmit group OpenAICSGProduction of tenancy OpenAICSG to {BUCKET_READ} in tenancy where target.bucket.name = 'CUSTOMER_BUCKET_NAME'Admit group OpenAICSGProduction of tenancy OpenAICSG to {OBJECT_READ, OBJECT_CREATE, OBJECT_OVERWRITE} in tenancy where all {target.bucket.name = 'CUSTOMER_BUCKET_NAME', target.object.name = 'openai/CUSTOMER_ORG_ID/CUSTOMER_PROJECT_ID/*'}Allow service objectstorage-CUSTOMER_OCI_REGION to {BUCKET_INSPECT, BUCKET_READ, OBJECT_INSPECT, OBJECT_DELETE} in tenancy where target.bucket.name = 'CUSTOMER_BUCKET_NAME'
A política permite à OpenAI consultar o namespace do Object Storage, ler a configuração do bucket e ler e gravar objetos sob o prefixo do projeto. A consulta ao namespace exige permissão no nível da tenancy, sem condição de bucket. A última instrução permite que o serviço regional de Object Storage da Oracle exclua objetos expirados. Para a região us-ashburn-1, use objectstorage-us-ashburn-1 como nome do serviço.
Salve a política. A OpenAI gerencia as próprias credenciais. Você não precisa criar nem compartilhar uma chave de assinatura da API ou uma chave de acesso.
4. Configure a regra de ciclo de vida
Abra a aba Políticas do bucket. Em Regras de política de ciclo de vida, selecione Criar regra e use estas configurações:
Nome:psp-retention
Destino: Objetos
Ação de ciclo de vida: Excluir
Número de dias: 30
Expanda Opções avançadas e mantenha Estado como Habilitado. Em Filtros de nome de objeto, selecione Adicionar filtro, escolha Incluir por prefixo e insira openai/CUSTOMER_ORG_ID/CUSTOMER_PROJECT_ID/, incluindo a barra final.
Salve a regra. Se a OCI oferecer a opção de adicionar permissões de ciclo de vida automaticamente, mantenha a permissão restrita ao bucket concedida na etapa 3. Verifique se nenhuma outra regra exclui esses objetos antes do prazo ou os move para o Archive Storage. Uma regra de retenção não substitui a regra de exclusão por ciclo de vida.
Prossiga para Registrar o armazenamento.
Registrar o armazenamento
Depois de configurar seu ambiente de nuvem conforme as etapas acima, selecione uma política de retenção de dados de base para a qual o projeto seja elegível. Você pode usar o processamento privado de segurança tanto com a zero retenção de dados quanto com o monitoramento modificado de abusos. A política escolhida permanece ativa enquanto o processamento privado de segurança usa o armazenamento conectado. Em seguida, use o console da API ou a API de gerenciamento para registrar e validar o armazenamento. Basta usar um dos métodos.
Opção 1: console da API
Entre como administrador da organização. O console da API usa a sua sessão autenticada. Para esse método, você não precisa de uma chave de API de administrador nem de comandos curl.
1. Abra Conectar armazenamento
Abra Configurações da organização > Controles de dados > Retenção de dados e selecione Conectar armazenamento. Você também pode iniciar a conexão em Configurações do projeto > Retenção de dados.
2. Insira os dados do armazenamento
Escolha AWS, Azure, GCP ou OCI e selecione o projeto. Em Política de retenção de dados, selecione Zero retenção de dados com processamento privado de segurança ou Monitoramento modificado de abusos com processamento privado de segurança, conforme as políticas disponíveis para sua organização. Se você abriu a caixa de diálogo nas configurações do projeto, ele já estará selecionado. Se aparecer Armazenamento registrado, escolha Conectar novo armazenamento para adicionar um destino.
Para AWS, insira o ARN do bucket e o ARN da função do IAM obtidos ao configurar a nuvem.
Para Azure, preencha ID do locatário, ID da assinatura, Grupo de recursos, Nome da conta de armazenamento e Nome do contêiner. Role a caixa de diálogo para baixo para preencher todos os campos.
Para GCP, preencha Nome do bucket, Número do projeto de identidades de carga de trabalho, ID do pool de identidades de carga de trabalho e ID do provedor de identidades de carga de trabalho. Role a caixa de diálogo para baixo para preencher todos os campos.
Para OCI, preencha OCID da tenancy, Região e Nome do bucket. Use o identificador da região, como us-ashburn-1, e o nome do bucket. Não use o OCID ou a URL do bucket. A OpenAI identifica automaticamente o namespace do Object Storage. Role a caixa de diálogo para baixo para preencher todos os campos.
3. Conecte e valide
Selecione Conectar e validar. O console da API salva a política de retenção de dados selecionada como base, registra o armazenamento, executa a validação e atualiza o status do armazenamento e do projeto. Quando a validação é bem-sucedida, o processamento privado de segurança é habilitado e a política de base selecionada permanece ativa.
Aguarde o status Armazenamento validado e a confirmação de que o processamento privado de segurança está ativo no projeto. Em seguida, selecione Concluído.
Se a validação falhar após o registro, corrija o problema informado e selecione Tentar validar novamente. Para retomar mais tarde, selecione o destino em Armazenamento registrado e escolha Validar armazenamento. Se o console da API não conseguir atualizar o resultado, selecione Atualizar status antes de recomeçar.
Opção 2: API de gerenciamento
Use uma chave de API de administrador da organização. Defina a política de retenção de dados de base do projeto e registre o armazenamento. Em seguida, siga a etapa 4. Verifique a configuração para executar a validação.
1. Prepare as configurações da API
Carregue de forma segura a chave de API de administrador da organização em OPENAI_ADMIN_KEY.
Defina OPENAI_API_BASE como o endpoint confirmado para seu projeto: https://api.openai.com para projetos globais, https://us.api.openai.com para os EUA ou https://eu.api.openai.com para a Europa.
Substitua os marcadores abaixo por esse endpoint e pelo ID da sua organização na OpenAI. Execute os demais comandos na mesma sessão do shell.
Antes de registrar o armazenamento, defina uma política de retenção de dados de base para a qual o projeto seja elegível. Use zero_data_retention para zero retenção de dados (ZDR) ou modified_abuse_monitoring para monitoramento modificado de abusos (MAM). A política selecionada permanece ativa depois que o processamento privado de segurança é habilitado.
Para usar o monitoramento modificado de abusos, envie {"retention_type":"modified_abuse_monitoring"}. Em caso de sucesso, a resposta contém object: "project.data_retention" e o campo type com o valor selecionado.
3. Envie a requisição de registro
Execute apenas a requisição correspondente ao seu provedor. Substitua cada marcador CUSTOMER_... pelo ID ou pelo recurso correspondente que você criou.
A resposta contém um id que começa com extstorage_ e o campo status: "pending". Guarde o ID para a validação. O console da API exibe Validação pendente e mantém a política de retenção de dados selecionada como base para o projeto. O processamento privado de segurança só é ativado quando a validação é bem-sucedida.
4. Verifique a configuração
Para validar pela API, substitua EXTERNAL_STORAGE_ID pelo ID retornado no registro e execute:
Em caso de sucesso, a resposta contém status: "validated". A validação verifica a configuração e o acesso e, em seguida, habilita o processamento privado de segurança com armazenamento gerenciado pelo cliente. A política de retenção de dados selecionada como base permanece ativa. O console da API exibe o status Validado e a política combinada do projeto, como Zero retenção de dados com processamento privado de segurança ou Monitoramento modificado de abusos com processamento privado de segurança.
Se você usou a API de gerenciamento, consulte o registro salvo:
Para qualquer um dos métodos, abra Configurações do projeto > Retenção de dados e selecione Atualizar. Confirme o destino, o provedor, a área geográfica e o status Validado. Depois, verifique se a política de base selecionada indica que o processamento privado de segurança está ativo. A tabela de retenção de dados da organização também mostra o armazenamento e o status de cada projeto.
O status Validado indica que uma verificação foi bem-sucedida. Ele não informa continuamente as condições do armazenamento. Atualizar não executa uma nova validação. Para monitorar o armazenamento e validá-lo novamente, consulte Operação e solução de problemas.
Verificar o status do armazenamento
Abra Configurações da organização > Controles de dados > Retenção de dados para ver a tabela de projetos ou Configurações do projeto > Retenção de dados para ver os detalhes do armazenamento do projeto. Verifique o destino e a área geográfica e, em seguida, consulte o status. Você também pode consultar o registro pela API conforme descrito em Configurar e verificar o armazenamento.
Validação pendente (pending): o armazenamento foi registrado, mas ainda não passou na validação. A política de retenção do projeto permanece a mesma até que a validação seja bem-sucedida.
Validado (validated): o armazenamento passou em uma verificação. Isso não garante que a conexão esteja funcionando no momento da consulta.
Requer atenção (unhealthy): uma verificação identificou um problema no armazenamento ou na configuração. Corrija a causa e valide novamente.
Atualizar recarrega o status salvo sem testar a conexão. Uma falha durante a execução pode não alterar o status exibido. Se o console da API não conseguir carregar os dados do armazenamento, consulte a API antes de concluir que o bucket está indisponível.
Monitorar a atividade do armazenamento
Consulte cada fonte separadamente:
Registro do armazenamento: verifique o projeto, o provedor, a área geográfica e o resultado da validação.
Atividade na nuvem: verifique os logs de acesso do provedor e os erros de leitura e gravação, quando o registro dessas informações estiver habilitado. Diferencie os testes de validação das operações reais do PSP.
Eventos de segurança e conformidade: consulte os eventos disponíveis sobre o ciclo de vida do conteúdo na API de Compliance, se ela tiver sido habilitada separadamente. Esses eventos são distintos dos eventos de registro do armazenamento e dos logs de acesso à nuvem.
A política de amostragem determina quais requisições geram objetos que ficam retidos. A ausência de um objeto ou evento, por si só, não indica falha no armazenamento.
Identificar os testes de validação
Na AWS, no Azure, no GCP e na OCI, a validação grava objetos de teste no destino de armazenamento configurado. Os nomes desses objetos contêm csg_validation_ seguido de um sufixo hexadecimal aleatório. O corpo de cada objeto contém o texto customer-storage-gateway-validation:csg_validation_<suffix>, com o mesmo sufixo usado no nome. Os objetos não contêm prompts nem respostas de clientes. A OpenAI lê cada objeto de teste usando o acesso configurado e, em seguida, tenta fazer um GET não autenticado do mesmo objeto para verificar se há acesso público. O armazenamento privado deve rejeitar a requisição não autenticada. Essas requisições podem aparecer nos logs de acesso do provedor, dependendo da configuração de logs.
Na AWS, a validação também verifica a restrição sts:ExternalId da função. Depois de assumir a função configurada usando o ID externo do projeto, a OpenAI testa chamadas a AssumeRole sem um ID externo e com o ID de teste propositalmente inválido proj_smoketest-verifier. Ambas as chamadas de teste devem retornar AccessDenied. Elas usam a mesma identidade da OpenAI e a mesma função configurada. O ID de teste não identifica o projeto de outro cliente. O AWS CloudTrail não registra na sua conta essas tentativas negadas de assumir uma função entre contas. Mantenha a política de confiança restrita ao ID real do projeto. Não permita o ID de teste nem remova a condição de ID externo para que essas chamadas tenham sucesso.
Recuperar-se de uma falha
1. Verifique o erro
customer_managed_retention_not_enabled: peça ao seu contato de integração que confirme o acesso da organização.
Falha de autenticação ou de permissão: verifique se você está usando uma chave de administrador da organização com a permissão necessária para armazenamento externo.
Problema de configuração: verifique a identidade usada na nuvem, a política de confiança ou as permissões de acesso, as regras de ciclo de vida e a configuração de rede aprovada.
401 customer_storage_not_ready: verifique se existe armazenamento validado para a área geográfica do projeto especificado na requisição.
incorrect_hostname: use o nome de host correspondente à configuração do projeto com residência de dados fixa.
503 external_storage_validation_unavailable: tente novamente mais tarde. Entre em contato com o suporte se a falha persistir.
Se você usa a experiência Cadastrar-se na AWS (nova), baseada em projetos, a política de controle de recursos (RCP) padrão impede que a OpenAI assuma a função entre contas. Para usar essa conta, migre para um plano pago se necessário, ative os recursos avançados e atualize a RCP para permitir que a OpenAI use sts:AssumeRole.
2. Valide novamente
Depois de corrigir a configuração, abra Conectar armazenamento para o projeto e execute o comando de validação com uma chave de API de administrador da organização. Consulte o registro ou selecione Atualizar para confirmar o status Validado. A atualização por si só não executa a validação.
Remover o armazenamento
Para desconectar o armazenamento, abra Configurações do projeto > Retenção de dados. Em Armazenamento externo, selecione o ícone de lixeira ao lado da conexão e confirme em Desconectar armazenamento.
Antes de excluir um bucket do Google Cloud Storage, desconecte-o de todos os projetos da OpenAI que o utilizam. Após a exclusão, outro projeto do Google Cloud pode registrar um bucket com esse mesmo nome.
Se o projeto usa ZDR com PSP, desconectar a última conexão de armazenamento restaura automaticamente a política de retenção padrão da organização para esse projeto. Se houver outras conexões, a política permanece a mesma. Modelos que exigem ZDR com PSP podem ficar indisponíveis quando a política mudar.
Desconectar o armazenamento não exclui o armazenamento em nuvem nem seu conteúdo. Continue atendendo aos requisitos de retenção dos registros existentes. Conclua a configuração e a validação para cada novo projeto e local de residência de dados.
Responsabilidades contínuas do cliente
Os clientes que usam ZDR com PSP devem:
Registrar e validar o armazenamento do PSP. Registre e valide os buckets de armazenamento pela API de administração da OpenAI para cada projeto com PSP habilitado e cada local de residência de dados. Configure o acesso do serviço PSP aos buckets conforme as orientações publicadas pela OpenAI.
Reter os registros criptografados por pelo menos 30 dias. Configure as regras de ciclo de vida do armazenamento para que não excluam os registros do PSP antes desse prazo.
Manter o acesso ao armazenamento e às chaves. Mantenha o armazenamento regional, as permissões do serviço e a autorização de uso das chaves gerenciadas pelo cliente configurados corretamente.
Corrigir problemas de configuração. Corrija os problemas de configuração do armazenamento após receber uma notificação da OpenAI.
Responder a notificações sobre questões de segurança. Trabalhe com a OpenAI para investigar e tratar a questão identificada.