OpenAI

Instrucciones de integración de OpenAI/GCP EKM

Instrucciones paso a paso para aprovisionar GCP y activar EKM

Última actualización: 3 days ago

Descripción general

La administración empresarial de claves (EKM) permite a OpenAI cifrar datos utilizando una clave maestra que tú controlas. En este documento, se muestra cómo configurar tu cuenta de GCP para otorgar a OpenAI permisos limitados sobre tu KMS.

Diagram of OpenAI GCP EKM integration flow using STS token exchange and KMS encrypt or decrypt requests

Pasos

1. Crea una identidad federada para OpenAI

OpenAI generará un token de identidad desde una cuenta de GCP de OpenAI que se verá más o menos así.

  • La azp y el sub son el ID de la cuenta de servicio de OpenAI en GCP

  • La aud es tu ID de la organización de OpenAI. También puedes elegir otra audiencia, como el ID de tu proyecto de OpenAI: consulta las instrucciones a continuación.

{
  "aud": "org-xxxx",
  "azp": "105900137572174660365",
  "exp": 1747876928,
  "iat": 1747873328,
  "iss": "https://accounts.google.com",
  "sub": "105900137572174660365"
}

Este paso reconoce las afirmaciones realizadas por ese token de identidad y permite que el STS de GCP emita un token de acceso cuando se proporciona dicho token de identidad.

  1. Ingresa a IAM & Admin - > Asociación de identidad de carga de trabajo y haz clic en Crear pool

GCP IAM & Admin with Workload Identity Federation selected
  1. En el paso Crear un pool de identidades, ingresa cualquier valor para el nombre de dicho pool.

  1. En el paso Agregar un proveedor al pool:

  1. En Seleccionar un proveedor, selecciona OpenID Connect (OIDC)

  2. Ingresa lo que quieras para el nombre del proveedor.

  3. En la sección Emisor (URL), ingresa https://accounts.google.com

  4. En la sección Audiencias

  1. Seleccionar Audiencias permitidas

  2. Ingresa la audiencia que OpenAI debe indicar cuando se te proporcione un token.

  1. Para ChatGPT o la API: puedes ingresar el ID de organización de la API de OpenAI (org-xxx).

  2. Para la API: puedes ingresar un ID de proyecto específico de la API para mayor definición.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. En la sección Asignación de atributos

  1. para google.subject introduce assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. En la sección Condiciones de atributo

  1. Ahora deberías ver el pool de identidades de cargas de trabajo y el proveedor de identidades de cargas de trabajo listados en la página https://console.cloud.google.com/iam-admin/workload-identity-pools .

  1. ID del pool de identidades de cargas de trabajo

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. ID del proveedor de identidad de cargas de trabajo

GCP Workload Identity Provider edit page with the provider ID field highlighted

2. Asegúrate de que el KMS esté habilitado

Ingresa en https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview para habilitar el KMS. No es necesario crear tu KMS en el mismo proyecto de GCP en el que reconociste la identidad federada de OpenAI; sin embargo, si los proyectos son diferentes, el producto del KMS debe estar al menos habilitado en ambos proyectos.

3. Crea una nueva clave del KMS

  1. Ingresa a Seguridad > Protección de datos > Administración de claves

  2. En la pestaña Resumen, haz clic en Gestor de claves

  1. Elige el nombre que quieras para tu gestor de claves

  2. Para el propósito y el algoritmo, selecciona cifrado/descifrado simétrico

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. Una vez que hayas creado un gestor de claves, debería aparecer en la pestaña Gestor de claves. Haz clic en Gestor de claves.

  2. En los detalles, haz clic en Crear clave.

  1. Elige cualquier nombre para una clave

4. Crea un rol limitado para operaciones de cifrado y descifrado en el KMS

  1. Ingresa a IAM & Admin -> Roles -> Crear rol

  2. Ingresa cualquier palabra para el título del cargo y el ID

  3. Haz clic en Agregar permisos, luego agrega lo siguiente

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Asigna la identidad federada de OpenAI al rol limitado del KMS para operaciones de cifrado/descifrado

  1. Ingresa a Seguridad -> Protección de datos > Administración de claves

  2. Haz clic en el nombre de tu gestor de claves y luego en el nombre de tu clave para acceder a la página de detalles de la clave.

  1. Haz clic en la pestaña Permisos, luego haz clic en el botón Conceder acceso

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. Asigna la identidad federada de OpenAI al rol personalizado que creaste antes

  1. En la sección Agregar entidades principales, introduce principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. En la sección Asignar roles, selecciona el rol personalizado que creaste en el paso anterior para permisos limitados de la EKM

6. Aplica restricciones adicionales de acuerdo con tus propias prácticas de seguridad

Arriba se encuentra la información mínima requerida que OpenAI necesita para configurar la EKM. Tienes la libertad de aplicar políticas de claves o restricciones adicionales de acuerdo con tus propias prácticas internas de seguridad, siempre que OpenAI pueda realizar operaciones de cifrado y descifrado en tu KMS. Cuando llames al punto de acceso de registro de claves con OpenAI que se describe a continuación, validaremos tu configuración.

Después de completar los pasos anteriores

ChatGPT Enterprise

Comunícate con tu contacto de OpenAI y comparte lo siguiente:

  • "workload_identity_project_number": "123456789012",

  • "workload_identity_pool_id": "openai-azure",

  • "workload_identity_provider_id": "openai-ekm-service-role",

  • "kms_project_id": "adjective-noun-12345",

  • "kms_key_name": "openai-kms-key",

  • "kms_key_ring_name": "openai-kms-key-ring",

  • "kms_key_location": "us-east1"

  • EL lugar donde se encuentra tu clave maestra del sistema de administración de claves

Habilitaremos la EKM para tu organización o espacio de trabajo de ChatGPT.

API

Registra tu clave externa con OpenAI

Sigue las instrucciones en esta referencia de la API Claves externas en la API de administración

  • Primero, registra tu clave externa a nivel de la organización de OpenAI, lo que generará un ID de clave externa.

  • En este paso, validaremos tu configuración en GCP verificando que podamos autenticar tu KMS.

  • Esto todavía no agregará la EKM a tu proyecto de OpenAI.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
   "type": "gcp",
   "name": "GCP EKM Config",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <your org id or project id>,
   "kms_project_id": "adjective-noun-12345",
   "kms_key_name": "openai-kms-key",
   "kms_key_ring_name": "openai-kms-key-ring",
   "kms_key_location": "us-east1"
}'

Luego, crea un proyecto de OpenAI asociado con la clave externa. Después de esto, la EKM se activa en tu proyecto.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
   "name": "Some Project",

   "external_key_id": "extkey_xxxx"
}'

¿Este artículo te fue útil?