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

Instrucciones de integración de OpenAI / AWS EKM

Instrucciones paso a paso para aprovisionar AWS y activar EKM

Actualización: 6 days ago

Información general

La gestión de claves empresariales (EKM) permite a OpenAI cifrar datos mediante una clave maestra que tú controlas. En este documento se muestra cómo configurar tu cuenta de AWS para conceder a OpenAI permisos limitados en tu KMS.

AWS EKM integration flow between OpenAI EKM Service, your STS, your KMS, and your master KEK

Pasos

1. Crea una nueva clave KMS

  1. Ve a KMS -> Claves administradas por el cliente y haz clic en Crear clave.

  2. Selecciona un algoritmo de cifrado simétrico.

  3. Una vez creada la clave, anota su ARN. Los formatos admitidos incluyen arn:aws:kms:<region>:<account_number>:key/<uuid>, ...:key/mrk-* o ...:alias/<alias_name>.

AWS KMS customer managed key details page with key ID and ARN for test-kms

2. Crea una política personalizada para limitar el acceso a la clave KMS

  1. Ve a IAM -> Políticas y haz clic en Crear política.

  2. En el paso Especificar permisos, selecciona JSON e introduce lo siguiente para conceder a la política acciones de acceso a KMS. Asegúrate de sustituir YOUR_KMS_ARN por el ARN de la clave que has creado.

AWS IAM Create policy page with Specify permissions open and the JSON policy editor selected
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowEncryptDecrypt",
            "Effect": "Allow",
            "Action": [

                "kms:Decrypt",
                "kms:Encrypt"

            ],
            "Resource": <TU_KMS_ARN>
        }
    ]
}

3. Crea un rol de IAM para que OpenAI lo asuma y asígnalo a la política con acceso limitado a tu KMS

OpenAI llamará a AssumeRole desde una cuenta de AWS propiedad de OpenAI. Este paso permite que la entidad principal de AWS de OpenAI asuma el rol limitado para acceder a tu KMS.

  1. Ve a IAM -> Roles y haz clic en Crear rol.

  2. En el paso Seleccionar entidad de confianza, selecciona Política de confianza personalizada.

AWS IAM Select trusted entity screen with Custom trust policy selected

A continuación, introduce lo siguiente en la Política de confianza personalizada para permitir el acceso a la entidad principal de AWS de OpenAI.

  • La entidad principal es la entidad principal de AWS de OpenAI: arn:aws:iam::790389265272:role/EnterpriseKeyManagement.

  • Indica qué ExternalId debe pasar OpenAI durante el proceso AssumeRole.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::790389265272:role/EnterpriseKeyManagement"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "sts:ExternalId": [
                         <TU_ID_DE_ORGANIZACIÓN_DE_OpenAI>,
                     ]
                }
            }
        }
    ]
}

Después, en el paso Añadir permisos, busca el nombre de la política de IAM que has creado en el paso anterior. Haz clic en la casilla junto al nombre de la política y, después, en Siguiente.

AWS IAM Add permissions page filtered to customer managed KMS policies with test-allow-kms-access selected

Por último, en la sección Asignar nombre, revisar y crear, selecciona cualquier nombre de rol.

4. Aplica las restricciones adicionales que quieras según 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 de clave o restricciones adicionales según tus propias prácticas de seguridad internas, siempre que OpenAI pueda invocar operaciones de cifrado y descifrado en tu KMS. Cuando llames al punto de acceso de registro de claves de OpenAI descrito a continuación, validaremos tu configuración.

Después de completar los pasos anteriores

ChatGPT Enterprise

Ponte en contacto con tu contacto de OpenAI y comparte lo siguiente:

  • "role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"

    • El ARN del rol que OpenAI asumirá en tu nube.

  • "kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"

    • El ARN del sistema de gestión de claves de la clave maestra que gestionas.

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.

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

  2. En este paso, validaremos que la información que has introducido sea válida y que podamos autenticarnos en tu KMS.

  3. 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": "aws",
  "name": "Configuración de AWS EKM",
  "role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>",
  "kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>",
  "external_id": <tu id de organización o id de proyecto>
}'

A continuación, crea un proyecto de OpenAI asociado a la clave externa. Después de esto, EKM queda activado en tu proyecto. El cuerpo de la respuesta de esta llamada a la API te dará el ID de proyecto (proj_xxx).

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?