OpenAI
Esta página se tradujo automáticamente. Ver el artículo original en inglés.

Instrucciones de integración de OpenAI / GCP EKM

Instrucciones paso a paso para aprovisionar GCP y activar EKM

Actualización: 6 days ago

Información general

Enterprise Key Management (EKM) permite a OpenAI cifrar datos con una clave maestra que tú controlas. En este documento se muestra cómo configurar tu cuenta de GCP para conceder a OpenAI permisos limitados en tu KMS.

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

Pasos

1. Crear una identidad federada para OpenAI

OpenAI emitirá un token de identidad desde una cuenta de GCP propiedad de OpenAI con un aspecto similar a este.

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

  • aud es el ID de tu organización de OpenAI. También puedes elegir otra audiencia, como el ID de tu proyecto de OpenAI; consulta las instrucciones siguientes

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

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

  1. Ve a IAM y administración -> Federación de identidades de carga de trabajo y haz clic en Crear grupo

GCP IAM & Admin with Workload Identity Federation selected
  1. En el paso Crear un grupo de identidades, introduce cualquier valor para el nombre del grupo.

  1. En el paso Añadir un proveedor al grupo:

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

  2. Introduce cualquier valor para el nombre del proveedor.

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

  4. En la sección Audiencias

  1. Selecciona Audiencias permitidas

  2. Introduce la audiencia que OpenAI debe indicar cuando te pasemos un token.

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

  2. Para API: puedes poner un ID de proyecto de API específico para una mayor granularidad.

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 atributos

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

  1. ID del grupo de identidades de carga de trabajo

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

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

2. Asegurarse de que KMS esté habilitado

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

3. Crear una nueva clave de KMS

  1. Ve a Seguridad -> Protección de datos > Gestión de claves

  2. En la pestaña Información general, haz clic en Crear llavero de claves

  1. Elige cualquier nombre para tu llavero de claves

  2. En Propósito y 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 llavero de claves, debería aparecer en la pestaña Llaveros de claves. Haz clic en el llavero de claves.

  2. En los detalles del llavero de claves, haz clic en Crear clave

  1. Elige cualquier nombre para tu clave

4. Crear un rol limitado para operaciones de cifrado/descifrado en el KMS

  1. Ve a IAM y administración -> Roles -> Crear rol

  2. Introduce cualquier valor para el título y el ID del rol

  3. Haz clic en Añadir permisos y luego añade lo siguiente

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

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

  1. Ve a Seguridad -> Protección de datos > Gestión de claves

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

  1. Haz clic en la pestaña Permisos y luego 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 has creado anteriormente

  1. En la sección Añadir 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 has creado en el paso anterior para los permisos limitados de EKM

6. Aplicar cualquier restricción adicional de acuerdo con tus propias prácticas de seguridad

Lo anterior es la información mínima requerida que OpenAI necesita para configurar EKM. Puedes aplicar políticas o restricciones adicionales a las claves de acuerdo con tus propias prácticas internas de seguridad, siempre que OpenAI pueda invocar 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.

Tras completar los pasos anteriores

ChatGPT Enterprise

Ponte en contacto 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"

  • La región donde se encuentra la clave maestra de tu sistema de gestión de claves

Habilitaremos EKM para tu organización/área de trabajo de ChatGPT.

API

Registrar tu clave externa en OpenAI

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

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

  • En este paso, validaremos tu configuración en GCP comprobando que podemos autenticarnos en tu KMS.

  • Esto aún no añadirá 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": "Configuración de GCP EKM",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <tu id de organización o id de proyecto>,
   "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"
}'

A continuación, crea un proyecto de OpenAI asociado a la clave externa. Después de esto, 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": "Algún proyecto",

   "external_key_id": "extkey_xxxx"

}'

¿Te ha resultado útil este artículo?