Cómo habilitar la revisión de seguridad que protege la privacidad en los flujos de trabajo de la API
La retención cero de datos con procesamiento privado de seguridad (ZDR con PSP) permite realizar revisiones de seguridad automatizadas fuera de línea sin que OpenAI conserve los prompts ni las respuestas de los clientes. Esta guía explica cómo funciona ZDR con PSP y cuáles son tus responsabilidades al usarlo. Para conocer la arquitectura completa y el modelo de seguridad, consulta el documento técnico sobre el procesamiento privado de seguridad.
Descripción general del procesamiento privado de seguridad (1 min 31 s).
Tres principios de diseño
Los clientes controlan su contenido
El contenido de los clientes se guarda en un almacenamiento bajo su control. Los clientes controlan los permisos y administran la autorización de gestión de claves empresariales (EKM) que se necesitan para recuperar y descifrar los registros de seguridad protegidos.
Sin revisión humana
La revisión de seguridad no debe abrir una nueva vía para que el personal de OpenAI lea el contenido protegido de los clientes. El contenido cifrado se descifra en un entorno de ejecución de seguridad aprobado, con atestación por hardware y sin acceso humano. Solo las señales de seguridad de alcance limitado y los metadatos operativos salen de la revisión protegida de PSP en texto sin cifrar.
Retención de contenido solo para fines de seguridad
El contenido guardado en el almacenamiento bajo control del cliente se usa únicamente para fines de seguridad aprobados. El contenido de los clientes no se puede usar para entrenar modelos ni poner a disposición de otros grupos de OpenAI o de sus socios.
Cómo funciona ZDR con PSP
La arquitectura consta de dos flujos:
El flujo de solicitudes y retención de la API protege y conserva el contenido de la API que cumple los requisitos en un contenedor de almacenamiento bajo control del cliente.
El flujo asíncrono de seguridad recupera registros únicamente para la revisión de seguridad automatizada aprobada y emite decisiones de seguridad de alcance limitado.
Solicitudes y retención de la API
Una interacción (tu prompt y la respuesta del modelo) se selecciona para revisión cuando un clasificador de seguridad la remite o cuando así lo indica una política de muestreo aprobada. Que el clasificador remita una interacción no implica que se haya infringido una política.
El sistema cifra el registro y lo escribe en tu almacenamiento regional en la nube. OpenAI conserva un índice con metadatos operativos y una referencia al almacenamiento, sin guardar una copia del contenido. El cifrado y la escritura en el almacenamiento se ejecutan de forma asíncrona sin bloquear la inferencia.
Flujo asíncrono de seguridad
ZDR con PSP recupera los registros cifrados de tu almacenamiento y comprueba que se puedan descifrar. El entorno de ejecución de la revisión de seguridad cuenta con atestación por hardware e impide el acceso humano. Está diseñado para ser la única carga de trabajo de OpenAI que puede descifrar el contenido de los clientes. Realiza la revisión de seguridad automatizada con un prompt de revisión aprobado y un esquema de salida que no expone el contenido de los clientes.
Solo las señales de seguridad predefinidas y de alcance limitado y los metadatos operativos aprobados pueden salir de la revisión en texto sin cifrar. Los resultados detallados se cifran antes de salir del entorno de ejecución y se guardan en tu almacenamiento en la nube con la misma fecha de vencimiento que el registro original. ZDR con PSP cifra los registros y los escribe en tu almacenamiento regional en la nube con un tiempo de vida (TTL) de 30 días.
Cifrado del contenido de los clientes
Cada registro que se conserva en el almacenamiento del cliente tiene dos capas de cifrado:
Cifrado HPKE administrado por OpenAI: la capa interna de cifrado permite que solo el entorno de ejecución autorizado para la revisión de seguridad descifre el contenido del cliente.
Cifrado administrado por el cliente: la gestión de claves empresariales (EKM) agrega una capa externa mediante el servicio de gestión de claves que tú controlas.
Cuando EKM está habilitada, la clave de descifrado interna de OpenAI no basta para descifrar un registro almacenado. También se necesita tu autorización para usar la clave que administras. Revocar esa autorización impide que se descifren los registros conservados, pero no los elimina ni revierte el procesamiento ya realizado.
Te recomendamos habilitar EKM para contar con este control adicional. El servicio de gestión de claves (KMS) que guarda tu clave de EKM puede estar en una región distinta de la que configuraste para el almacenamiento. Consulta las preguntas frecuentes sobre los aspectos técnicos de EKM para obtener información sobre la autorización y su revocación, y el documento técnico para conocer los detalles sobre cifrado, computación confidencial, medidas de protección y transparencia.
El descifrado de PSP te permite usar una clave asimétrica que tú controlas para descifrar el contenido del cliente en los registros de PSP guardados en tu almacenamiento en la nube conectado. OpenAI usa la clave pública y la clave privada permanece en tu servicio de gestión de claves en la nube. Esta función es independiente de EKM y no le da al personal de OpenAI acceso a tu contenido.
Consulta Configurar claves asimétricas para configurar AWS KMS, Azure Key Vault o Google Cloud KMS y registrar la clave. Confirma la disponibilidad y activación del descifrado de PSP con tu contacto en OpenAI. Registrar una clave no habilita PSP ni configura el almacenamiento. Con esa clave solo puedes descifrar los registros escritos mientras el descifrado de PSP estaba habilitado para ella. Los registros existentes no se convierten.
Para conocer los pasos de descifrado, el formato de los registros y el proceso de derivación de claves, consulta Descifrar registros de PSP.
Usa una clave de API de administrador de la organización con acceso de lectura y escritura al proyecto. Cárgala de forma segura en OPENAI_ADMIN_KEY. Las claves de inferencia del proyecto no sirven para esta operación. Los ejemplos usan curl y un shell compatible con Bash.
Define el ID de la organización, el ID del proyecto y el ID de extkey que obtuviste al registrar la clave:
Asigna a psp_decryption_key_id el ID de extkey obtenido en la misma organización. Deja sin cambios external_key_id, que selecciona la clave de EKM del proyecto.
Las listas de proyectos también devuelven psp_decryption_key_id. El campo api_project_ids del registro muestra los proyectos asociados a la clave. Si omites psp_decryption_key_id, se conserva la selección. Puedes volver a seleccionar el mismo ID.
Conecta tu propio bucket de AWS S3, contenedor de Azure Blob, bucket de Google Cloud Storage o bucket de Object Storage de Oracle Cloud Infrastructure (OCI) a un proyecto de OpenAI. Sigue los pasos de configuración para tu proveedor de nube y luego registra y valida la conexión.
ZDR con PSP se habilita por proyecto. Una vez habilitado, la política de PSP se aplica a todo el tráfico de la API de ese proyecto, incluidas las solicitudes a modelos que de otro modo no requerirían PSP. Para usar ZDR sin PSP con modelos que admiten esa opción, envía esas solicitudes desde otro proyecto configurado para usar ZDR sin PSP.
Antes de empezar
Las organizaciones que ya tienen aprobación para usar la retención cero de datos pueden configurar ZDR con PSP directamente en la consola de la API. Si tu organización aún no tiene aprobación para usar ZDR, consulta los requisitos de elegibilidad y aprobación.
Puedes elegir cualquier región de almacenamiento admitida que cumpla los requisitos de residencia de datos de tu proyecto. Necesitas permisos para crear almacenamiento y delegar el acceso en tu cuenta de nube.
Pídele a un administrador de la organización que registre y valide el almacenamiento en la consola de la API. Para usar la API de administración, necesitas una clave de API de administrador de la organización de OpenAI. Los administradores de proyectos pueden consultar las instrucciones y el estado. Una clave de inferencia del proyecto no sirve para las llamadas a la API de administración.
Abrir la configuración de almacenamiento en la consola de la API
Abre Configuración de la organización > Controles de datos > Retención de datos y selecciona Conectar almacenamiento.
En Conectar almacenamiento externo, elige AWS, Azure, GCP u OCI y selecciona tu proyecto. También puedes abrir Conectar almacenamiento desde Configuración del proyecto > Retención de datos.
Completa los pasos de configuración de la nube que se indican a continuación. Luego ingresa los datos del almacenamiento en el cuadro de diálogo y selecciona Conectar y validar.
Configuración por proveedor de nube
Completa estos pasos si usas AWS. Si usas otro proveedor, ve a Azure Blob Storage, Google Cloud Storage u OCI Object Storage.
Guía de configuración de AWS (2 min 10 s, sin audio). Sigue los pasos que se indican
a continuación para ver los valores de configuración.
1. Crear el bucket
Crea un bucket de S3 dedicado en una región compatible con la residencia de datos de tu proyecto. Si la residencia de datos está desactivada, puedes elegir cualquier región para tu bucket.
Mantén las ACL deshabilitadas.
Activa Bloquear todo el acceso público.
Anota el ARN del bucket. Lo usarás como CUSTOMER_BUCKET_ARN más adelante.
2. Configurar la regla de ciclo de vida
Abre Administración > Crear regla de ciclo de vida en el bucket y usa estos valores:
Nombre de la regla:psp-retention
Prefijo:openai/
Acción: hacer que caduquen las versiones actuales de los objetos
Antigüedad: 30 días
Habilita la regla. Comprueba que ninguna otra regla haga que estos registros caduquen antes. Esta regla determina cuándo caducan los objetos. El vencimiento de la clave de descifrado de OpenAI se gestiona por separado.
3. Crear la política de acceso
En IAM > Políticas > Crear política, elige JSON. Reemplaza CUSTOMER_BUCKET_ARN por el ARN de tu bucket, por ejemplo, arn:aws:s3:::your-psp-bucket, y guarda la política con el nombre psp-bucket-policy.
En IAM > Roles > Crear rol, elige Política de confianza personalizada.
Usa la siguiente política. Reemplaza CUSTOMER_PROJECT_ID por el ID de tu proyecto de OpenAI. Deja sin cambios el ARN de la entidad principal de OpenAI.
Asocia psp-bucket-policy al rol que estás creando. Puedes darle al rol el nombre psp-role. Anota su ARN como CUSTOMER_ROLE_ARN. El ID del proyecto en sts:ExternalId debe coincidir con el del proyecto que registres.
Continúa con Registrar el almacenamiento.
Completa estos pasos si usas Azure.
1. Crear la cuenta de almacenamiento
Crea una cuenta dedicada en la nube comercial de Azure. Elige una región de almacenamiento aprobada en EE. UU. o la UE que coincida con la residencia de datos de tu proyecto.
Tipo de cuenta:StorageV2
Datos básicos > Rendimiento: estándar
Datos básicos > Redundancia: LRS o ZRS (preferida)
Opciones avanzadas > Nivel de acceso: frecuente
Opciones avanzadas > Espacio de nombres jerárquico: deshabilitado
Redes > Acceso a la red pública: habilitado desde todas las redes
Seguridad > Transferencia segura: HTTPS obligatorio, TLS 1.2 como mínimo
Seguridad > Acceso anónimo a blobs: deshabilitado
Seguridad > Acceso mediante claves de la cuenta de almacenamiento: deshabilitado
Seguridad > Autorización de Microsoft Entra: habilitada
Confirma que la configuración de red cumpla los requisitos de tu nube. Usa el punto de acceso principal de Blob de la cuenta. No uses un punto de acceso personalizado ni uno de una nube soberana.
2. Crear el contenedor
Crea un contenedor privado en Cuenta de almacenamiento > Almacenamiento de datos > Contenedores > Agregar contenedor. Abre Contenedor > Configuración > Metadatos y asigna a openai_organization_id el ID exacto de tu organización de OpenAI. Este campo es obligatorio.
Para restringir el contenedor a un solo proyecto de OpenAI, asigna también a openai_project_id el ID exacto del proyecto. Este campo es opcional. Si lo configuras, solo el proyecto cuyo ID coincida podrá registrar o validar el contenedor, leer datos de él o escribir datos en él.
Dos proyectos de OpenAI de la misma organización pueden compartir el contenedor si omites openai_project_id y la región de almacenamiento cumple los requisitos de residencia de datos de ambos proyectos. Registra y valida el contenedor para cada proyecto.
Agrega los metadatos al contenedor, no a la cuenta de almacenamiento ni a los blobs individuales.
3. Configurar la regla de ciclo de vida
En Cuenta de almacenamiento > Administración de datos > Administración del ciclo de vida > Agregar, agrega una regla habilitada que se aplique a todos los blobs en bloques actuales (blobs base) de la cuenta dedicada:
Acción: eliminar cuando hayan transcurrido 30 días desde la última modificación
Filtros: sin filtros de prefijo ni de etiqueta
4. Otorgar acceso a OpenAI
Pídele al administrador del directorio que agregue la aplicación de OpenAI a tu inquilino. Reemplaza CUSTOMER_TENANT_ID en el siguiente comando por el ID de tu inquilino de Azure. Deja sin cambios el ID de la aplicación.
Si la aplicación ya existe, usa az ad sp show con el mismo --id y la misma consulta. Anota el nombre de la aplicación y el ID de su objeto local en el inquilino.
En tu cuenta de almacenamiento, abre Cuenta de almacenamiento > Control de acceso (IAM) > Agregar asignación de roles. Selecciona el rol Lector. En Asignar acceso a, elige Usuario, grupo o entidad de servicio. Luego busca y selecciona CSG - Azure Blob Storage Prod.
Luego selecciona el rol Colaborador de datos de blobs de almacenamiento. En Asignar acceso a, elige Usuario, grupo o entidad de servicio, y busca y selecciona CSG - Azure Blob Storage Prod.
OpenAI administra las credenciales de la aplicación. No crees ni compartas claves de almacenamiento, tokens de SAS ni secretos de cliente.
1. Crear el bucket
En Cloud Storage > Buckets, crea un bucket en una ubicación compatible con la residencia de datos de tu proyecto de OpenAI y usa esta configuración:
Prevención del acceso público: activada.
Control de acceso: uniforme.
Si lo deseas, puedes desactivar la Política de eliminación no definitiva (para la recuperación de datos) predeterminada. En el siguiente paso configurarás la eliminación mediante una regla de ciclo de vida.
Para proyectos globales, repite esta configuración de GCP en cada región que planees usar.
2. Configurar la regla de ciclo de vida
En la pestaña Ciclo de vida del bucket, agrega una regla Eliminar objeto con estas condiciones:
El nombre del objeto coincide con el prefijo: openai/.
Antigüedad: 30 días.
3. Buscar el número de tu proyecto de Google Cloud
En IAM y administración > Configuración, copia el valor numérico de Número de proyecto del proyecto que contiene tu grupo de identidades de cargas de trabajo. Lo usarás como <CUSTOMER_GCP_PROJECT_NUMBER>.
4. Crear el grupo y el proveedor de identidades de cargas de trabajo
En IAM y administración > Federación de identidades de cargas de trabajo, crea un grupo de identidades de cargas de trabajo y agrega un proveedor de OpenID Connect (OIDC) con estos valores:
Emisor (URL): https://accounts.google.com.
Públicos permitidos: <CUSTOMER_PROJECT_ID> (el ID de tu proyecto de OpenAI).
Configura las siguientes asignaciones de atributos:
Atributo de Google
Valor de OIDC
google.subject
assertion.sub
attribute.openai_project
assertion.aud
Configura la siguiente condición de atributos. Deja sin cambios el identificador de sujeto de la identidad de producción de OpenAI, 112981926705442324573.
Anota los ID del grupo y del proveedor como <CUSTOMER_GCP_POOL_ID> y <CUSTOMER_GCP_PROVIDER_ID>, respectivamente.
Varios proyectos de OpenAI
Si los proyectos pertenecen al mismo cliente, puedes reutilizar el grupo y el proveedor. Agrega el ID de cada proyecto a Públicos permitidos y actualiza la condición de atributos:
Selecciona el rol personalizado que creaste en el paso 5.
Continúa con Registrar el almacenamiento.
1. Crear el bucket
En la consola de OCI, abre Almacenamiento > Object Storage y Archive Storage > Buckets y crea un bucket dedicado. Elige de esta tabla una región comercial que coincida con la residencia de datos de tu proyecto:
Nivel de almacenamiento: estándar, con el cambio automático de nivel deshabilitado
Visibilidad: privada
Control de versiones de objetos: deshabilitado
Mantén la replicación deshabilitada. Anota el nombre del bucket y el identificador de la región como CUSTOMER_BUCKET_NAME y CUSTOMER_OCI_REGION. Abre Perfil, selecciona Tenencia y luego el nombre de tu tenencia. Copia su OCID como CUSTOMER_TENANCY_OCID. Tu tenencia debe estar suscrita a la región del bucket.
2. Agregar las etiquetas del bucket
Agrega estas etiquetas al crear el bucket o abre la pestaña Etiquetas del bucket y selecciona Agregar. En Espacio de nombres, selecciona Ninguno (etiqueta de formato libre) y usa los ID exactos de tu organización y tu proyecto de OpenAI:
Clave
Valor
openai_organization_id
CUSTOMER_ORG_ID
openai_project_id
CUSTOMER_PROJECT_ID
Usa los mismos ID en la política de acceso y en el registro del almacenamiento. Cada bucket queda vinculado a una sola organización y a un solo proyecto de OpenAI.
3. Otorgar acceso a OpenAI
En Identidad y seguridad > Políticas, selecciona el compartimento raíz de tu tenencia y crea una política llamada psp-storage-access. Activa Mostrar editor manual e ingresa las siguientes sentencias. Sustituye los marcadores CUSTOMER_... por el nombre de tu bucket, la región y los ID de tu organización y tu proyecto de OpenAI. Deja sin cambios los valores de OCID de la tenencia y del grupo de OpenAI.
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'
La política permite que OpenAI consulte tu espacio de nombres de Object Storage, lea la configuración del bucket y lea y escriba objetos bajo el prefijo de tu proyecto. La consulta del espacio de nombres requiere un permiso a nivel de tenencia sin ninguna condición sobre el bucket. La última sentencia permite que el servicio regional de Object Storage de Oracle elimine los objetos vencidos. Para la región us-ashburn-1, usa objectstorage-us-ashburn-1 como nombre del servicio.
Guarda la política. OpenAI administra sus credenciales. No necesitas crear ni compartir una clave de firma de API ni una clave de acceso.
4. Configurar la regla de ciclo de vida
Abre la pestaña Políticas del bucket. En Reglas de la política de ciclo de vida, selecciona Crear regla y usa estos valores:
Nombre:psp-retention
Destino: objetos
Acción de ciclo de vida: eliminar
Número de días: 30
Despliega Opciones avanzadas y deja Estado en Habilitado. En Filtros de nombre de objeto, selecciona Agregar filtro, elige Incluir por prefijo e ingresa openai/CUSTOMER_ORG_ID/CUSTOMER_PROJECT_ID/, incluida la barra final.
Guarda la regla. Si OCI ofrece agregar permisos de ciclo de vida automáticamente, conserva los permisos limitados al bucket que otorgaste en el paso 3. Comprueba que ninguna otra regla elimine estos objetos antes de tiempo ni los mueva a Archive Storage. Una regla de retención no sustituye la regla de eliminación por ciclo de vida.
Continúa con Registrar el almacenamiento.
Registrar el almacenamiento
Una vez que completes la configuración de la nube, selecciona una política base de retención de datos que esté disponible para el proyecto. Puedes usar el procesamiento privado de seguridad tanto con la retención cero de datos como con el monitoreo modificado de abusos. La política que elijas seguirá activa mientras el procesamiento privado de seguridad use el almacenamiento conectado. Luego usa la consola de la API o la API de administración para registrar y validar tu almacenamiento. Solo necesitas usar uno de los dos métodos.
Opción 1: consola de la API
Inicia sesión como administrador de la organización. La consola de la API usa tu sesión activa. Para este método no necesitas una clave de API de administrador ni comandos curl.
1. Abrir la opción Conectar almacenamiento
Abre Configuración de la organización > Controles de datos > Retención de datos y selecciona Conectar almacenamiento. También puedes conectar el almacenamiento desde Configuración del proyecto > Retención de datos.
2. Ingresar los datos del almacenamiento
Elige AWS, Azure, GCP u OCI y luego selecciona el proyecto. En Política de retención de datos, selecciona Retención cero de datos con procesamiento privado de seguridad o Monitoreo modificado de abusos con procesamiento privado de seguridad, según las políticas disponibles para tu organización. Si abriste el cuadro de diálogo desde la configuración del proyecto, ese proyecto ya está seleccionado. Si aparece Almacenamiento registrado, elige Conectar nuevo almacenamiento para agregar un destino.
Para AWS, ingresa el ARN del bucket y el ARN del rol de IAM que obtuviste al configurar la nube.
Para Azure, ingresa el ID del inquilino, el ID de la suscripción, el Grupo de recursos, el Nombre de la cuenta de almacenamiento y el Nombre del contenedor. Desplázate hacia abajo en el cuadro de diálogo para completar todos los campos.
Para GCP, ingresa el Nombre del bucket, el Número del proyecto de identidad de cargas de trabajo, el ID del grupo de identidades de cargas de trabajo y el ID del proveedor de identidades de cargas de trabajo. Desplázate hacia abajo en el cuadro de diálogo para completar todos los campos.
Para OCI, ingresa el OCID de la tenencia, la Región y el Nombre del bucket. Usa el identificador de la región, por ejemplo, us-ashburn-1, y el nombre del bucket, no su OCID ni su URL. OpenAI detecta automáticamente el espacio de nombres de Object Storage. Desplázate hacia abajo en el cuadro de diálogo para completar todos los campos.
3. Conectar y validar
Selecciona Conectar y validar. La consola de la API guarda la política base de retención de datos seleccionada, registra el almacenamiento, ejecuta la validación y actualiza el estado del almacenamiento y del proyecto. Si la validación se completa correctamente, se habilita el procesamiento privado de seguridad y la política base seleccionada sigue activa.
Espera a que aparezca Almacenamiento validado y se confirme que el procesamiento privado de seguridad está activo en el proyecto. Luego selecciona Listo.
Si la validación falla después del registro, corrige el problema indicado y selecciona Reintentar la validación. Para reanudarla más adelante, selecciona el destino en Almacenamiento registrado y elige Validar almacenamiento. Si la consola de la API no puede actualizar el resultado, selecciona Actualizar estado antes de volver a empezar.
Opción 2: API de administración
Para este método, usa una clave de API de administrador de la organización. Configura la política base de retención de datos del proyecto, registra el almacenamiento y luego sigue las instrucciones de 4. Verificar la configuración para ejecutar la validación.
1. Preparar la configuración de la API
Carga de forma segura tu clave de API de administrador de la organización en OPENAI_ADMIN_KEY.
Asigna a OPENAI_API_BASE el punto de acceso confirmado para tu proyecto: https://api.openai.com para el ámbito global, https://us.api.openai.com para EE. UU. o https://eu.api.openai.com para Europa.
Reemplaza los siguientes marcadores por ese punto de acceso y el ID de tu organización de OpenAI. Ejecuta los demás comandos en la misma sesión de shell.
2. Configurar la política base de retención de datos
Antes de registrar el almacenamiento, configura una política base de retención de datos que esté disponible para el proyecto. Usa zero_data_retention para la retención cero de datos (ZDR) o modified_abuse_monitoring para el monitoreo modificado de abusos (MAM). La política seleccionada seguirá activa después de habilitar el procesamiento privado de seguridad.
Para el monitoreo modificado de abusos, envía {"retention_type":"modified_abuse_monitoring"} en su lugar. Si la solicitud se completa correctamente, la respuesta incluye object: "project.data_retention" y el valor de type seleccionado.
3. Enviar la solicitud de registro
Ejecuta únicamente la solicitud correspondiente a tu proveedor. Reemplaza cada marcador CUSTOMER_... por el ID o recurso correspondiente de tu configuración.
La respuesta contiene un id que comienza con extstorage_ y el estado status: "pending". Conserva el ID para la validación. La consola de la API muestra Pendiente de validación y mantiene la política base de retención de datos seleccionada para el proyecto. El procesamiento privado de seguridad solo se activa cuando la validación se completa correctamente.
4. Verificar la configuración
Para validar mediante la API, reemplaza EXTERNAL_STORAGE_ID por el ID que devolvió el registro y ejecuta lo siguiente:
Si la validación se completa correctamente, la respuesta incluye status: "validated". La validación comprueba la configuración y el acceso. Luego habilita el procesamiento privado de seguridad con almacenamiento administrado por el cliente y mantiene activa la política base de retención de datos seleccionada. La consola de la API muestra el estado Validado y la política combinada del proyecto, por ejemplo, Retención cero de datos con procesamiento privado de seguridad o Monitoreo modificado de abusos con procesamiento privado de seguridad.
Si usaste la API de administración, recupera el registro guardado:
Con cualquiera de los dos métodos, abre Configuración del proyecto > Retención de datos y selecciona Actualizar. Confirma el destino, el proveedor, la zona geográfica y el estado Validado. Luego comprueba que el procesamiento privado de seguridad aparezca junto a la política base que seleccionaste. La tabla de retención de datos de la organización también muestra el almacenamiento y el estado de cada proyecto.
El estado Validado indica que el almacenamiento pasó una comprobación. No indica que se supervise continuamente su funcionamiento. Actualizar no vuelve a ejecutar la validación. Consulta Operación y solución de problemas para supervisar el almacenamiento y volver a validarlo.
Consultar el estado del almacenamiento
Abre Configuración de la organización > Controles de datos > Retención de datos para ver la tabla de proyectos o Configuración del proyecto > Retención de datos para ver los detalles del almacenamiento del proyecto. Comprueba el destino y la zona geográfica y luego consulta el estado. También puedes recuperar el registro mediante la API como se indica en Configuración y verificación.
Pendiente de validación (pending): el almacenamiento está registrado, pero aún no pasó la validación. La política de retención del proyecto se mantiene sin cambios hasta que la validación se complete correctamente.
Validado (validated): el almacenamiento pasó una comprobación de validación. Esto no garantiza que haya conectividad en este momento.
Requiere atención (unhealthy): una comprobación detectó un problema de almacenamiento o configuración. Corrige la causa y vuelve a validar.
Actualizar vuelve a cargar el estado guardado sin probar la conexión. Es posible que un error durante la ejecución no cambie el estado que se muestra. Si la consola de la API no puede cargar los datos del almacenamiento, consulta la API antes de concluir que el bucket está fuera de servicio.
Supervisar la actividad del almacenamiento
Revisa estas fuentes por separado:
Registro del almacenamiento: comprueba el proyecto, el proveedor, la zona geográfica y el resultado de la validación.
Actividad en la nube: revisa los registros de acceso del proveedor y los errores de lectura y escritura si su registro está habilitado. Distingue las pruebas de validación de la actividad real de PSP.
Eventos de seguridad y cumplimiento: consulta los eventos disponibles del ciclo de vida del contenido en la API de Cumplimiento si la habilitaste por separado. Estos eventos son distintos de los eventos de registro del almacenamiento y de los registros de acceso a la nube.
Tu política de muestreo determina qué solicitudes generan objetos que se conservan. La ausencia de un objeto o evento no indica por sí sola que haya fallado el almacenamiento.
Identificar las pruebas de validación
En AWS, Azure, GCP y OCI, la validación escribe objetos de prueba en el destino de almacenamiento que configuraste. Sus nombres incluyen csg_validation_ seguido de un sufijo hexadecimal aleatorio. El cuerpo de cada objeto contiene el texto customer-storage-gateway-validation:csg_validation_<suffix> con el mismo sufijo que su nombre. Estos objetos no contienen prompts ni respuestas de clientes. OpenAI lee cada objeto de prueba con el acceso configurado y luego intenta hacer una solicitud GET sin autenticación al mismo objeto para comprobar si es de acceso público. Se espera que el almacenamiento privado rechace la solicitud sin autenticación. Estas solicitudes pueden aparecer en los registros de acceso de tu proveedor según la configuración de registro.
En AWS, la validación también comprueba la restricción sts:ExternalId del rol. Después de asumir correctamente el rol configurado con el ID externo de tu proyecto, OpenAI prueba dos llamadas a AssumeRole: una sin ID externo y otra con el ID de prueba proj_smoketest-verifier, que es intencionalmente inválido. Se espera que ambas llamadas devuelvan AccessDenied. Las dos usan la misma identidad de OpenAI y el mismo rol configurado. El ID de prueba no identifica el proyecto de otro cliente. AWS CloudTrail no registra en tu cuenta estos intentos denegados de asumir un rol entre cuentas. Mantén tu política de confianza restringida al ID real de tu proyecto. No permitas el ID de prueba ni elimines la condición del ID externo para que se acepten estas llamadas.
Recuperarse de un error
1. Revisar el error
customer_managed_retention_not_enabled: pídele a tu contacto de incorporación que confirme que la organización tiene acceso.
Error de autenticación o permisos: comprueba que uses una clave de administrador de la organización con el permiso de almacenamiento externo requerido.
Problema de configuración: comprueba la identidad en la nube, la política de confianza o los permisos de acceso, las reglas de ciclo de vida y la configuración de red aprobada.
401 customer_storage_not_ready: comprueba que haya almacenamiento validado para la zona geográfica del proyecto de la solicitud.
incorrect_hostname: usa el nombre de host que corresponda a la configuración de tu proyecto con residencia de datos fija.
503 external_storage_validation_unavailable: vuelve a intentarlo más tarde. Contacta al equipo de soporte si el error persiste.
Si usas la experiencia Registrarse en AWS (nueva), basada en proyectos, su política de control de recursos (RCP) predeterminada impide que OpenAI asuma un rol entre cuentas. Para usar esa cuenta, cambia a un plan de pago si es necesario, activa las funciones avanzadas y actualiza la RCP para permitir que OpenAI acceda mediante sts:AssumeRole.
2. Volver a validar
Después de corregir la configuración, abre Conectar almacenamiento para el proyecto y ejecuta el comando de validación con una clave de API de administrador de la organización. Recupera el registro o selecciona Actualizar para confirmar que el estado sea Validado. La actualización por sí sola no ejecuta la validación.
Desconectar el almacenamiento
Para desconectar el almacenamiento, abre Configuración del proyecto > Retención de datos. En Almacenamiento externo, selecciona el ícono de la papelera junto a la conexión y confirma con Desconectar almacenamiento.
Antes de eliminar un bucket de Google Cloud Storage, desconéctalo de todos los proyectos de OpenAI que lo usen. Una vez que lo elimines, otro proyecto de Google Cloud puede registrar un bucket con ese mismo nombre.
Si el proyecto usa ZDR con PSP y desconectas su última conexión de almacenamiento, la política de retención del proyecto vuelve automáticamente a la política predeterminada de la organización. Si quedan otras conexiones, la política no cambia. Los modelos que requieren ZDR con PSP pueden dejar de estar disponibles cuando cambia la política.
Desconectar el almacenamiento no elimina tu almacenamiento en la nube ni su contenido. Sigue cumpliendo los requisitos de retención de los registros existentes. Completa la configuración y la validación para cada nuevo proyecto y cada nueva ubicación de residencia de datos.
Responsabilidades continuas del cliente
Si usas ZDR con PSP, debes cumplir estas obligaciones:
Registrar y validar el almacenamiento de PSP. Registra y valida los buckets de almacenamiento mediante la API de administración de OpenAI para cada proyecto que tenga PSP habilitado y cada ubicación de residencia de datos. Configura el acceso del servicio de PSP a los buckets según las instrucciones publicadas por OpenAI.
Conservar los registros cifrados durante al menos 30 días. Configura las reglas de ciclo de vida del almacenamiento para que no eliminen los registros de PSP antes de ese plazo.
Mantener el acceso al almacenamiento y a las claves. Mantén correctamente configurados el almacenamiento regional, los permisos del servicio y la autorización para usar las claves que administras.
Corregir los problemas de configuración. Corrige los problemas de configuración del almacenamiento cuando OpenAI te los notifique.
Responder a los avisos sobre posibles problemas de seguridad. Colabora con OpenAI para investigar y atender el problema señalado.
Si los problemas de almacenamiento o validación persisten después de seguir los pasos de la sección de solución de problemas, contacta al equipo de soporte de OpenAI.