OpenAI
Esta página foi traduzida automaticamente. Ver o artigo original em inglês.

Instruções de integração OpenAI / AWS EKM

Instruções passo a passo para aprovisionar a AWS e ativar o EKM

Atualizado: 6 days ago

Descrição geral

A Gestão de Chaves Empresariais (EKM) permite que a OpenAI encripte dados utilizando uma chave mestra que controla. Este documento mostra como configurar a sua conta AWS para conceder à OpenAI permissões limitadas no seu KMS.

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

Passos

1. Crie uma nova chave KMS

  1. Aceda a KMS -> Chaves geridas pelo cliente e clique em Criar chave.

  2. Selecione um algoritmo de encriptação simétrica.

  3. Depois de a sua chave ser criada, anote o respetivo ARN. Os formatos suportados incluem arn:aws:kms:<region>:<account_number>:key/<uuid>, ...:key/mrk-* ou ...:alias/<alias_name>.

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

2. Crie uma política personalizada para acesso limitado à chave KMS

  1. Aceda a IAM -> Políticas e clique em Criar política.

  2. No passo Especificar permissões, selecione JSON e introduza o seguinte para conceder à política ações de acesso ao KMS. Certifique-se de que substitui YOUR_KMS_ARN pelo ARN da chave que criou.

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": <YOUR_KMS_ARN>
        }
    ]
}

3. Crie uma função IAM para a OpenAI assumir e atribua-a à política com acesso limitado ao seu KMS

A OpenAI irá chamar AssumeRole a partir de uma conta AWS detida pela OpenAI. Este passo permite que o principal AWS da OpenAI assuma a função limitada para aceder ao seu KMS.

  1. Aceda a IAM -> Funções e clique em Criar função.

  2. No passo Selecionar entidade de confiança, selecione Política de confiança personalizada.

AWS IAM Select trusted entity screen with Custom trust policy selected

Em seguida, introduza o seguinte na Política de confiança personalizada para permitir o acesso ao principal AWS da OpenAI.

  • O principal é o principal AWS da OpenAI: arn:aws:iam::790389265272:role/EnterpriseKeyManagement.

  • Indique que ExternalId a OpenAI deve transmitir durante o processo AssumeRole.

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

Depois, no passo Adicionar permissões, procure o nome da política IAM que criou no passo anterior. Clique na caixa de seleção junto ao nome da política e, em seguida, clique em Seguinte.

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

Por fim, na secção Nome, rever e criar, selecione qualquer nome de função.

4. Aplique quaisquer restrições adicionais de acordo com as suas próprias práticas de segurança

Acima está a informação mínima necessária de que a OpenAI precisa para configurar o EKM. Pode aplicar políticas de chave ou restrições adicionais de acordo com as suas práticas internas de segurança, desde que a OpenAI consiga chamar operações de encriptação e desencriptação no seu KMS. Quando chamar o endpoint de registo de chaves com a OpenAI descrito abaixo, iremos validar a sua configuração.

Depois de concluir os passos acima

ChatGPT Enterprise

Entre em contacto com o seu representante da OpenAI e partilhe o seguinte:

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

    • O ARN da função que a OpenAI irá assumir na sua cloud.

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

    • O ARN do sistema de gestão de chaves para a chave mestra que gere.

Iremos ativar o EKM para a sua organização/espaço de trabalho do ChatGPT.

API

Registe a sua chave externa na OpenAI

Siga as instruções nesta referência da API: Chaves externas na API de gestão.

  1. Primeiro, registe a sua chave externa ao nível da organização OpenAI, o que irá gerar um ID de chave externa.

  2. Neste passo, iremos validar que a sua entrada é válida e que conseguimos autenticar-nos no seu KMS.

  3. Isto ainda não adicionará EKM ao seu projeto 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": "Configuração 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": <o id da sua organização ou do projeto>
}'

Em seguida, crie um projeto OpenAI associado à chave externa. Depois disto, o EKM fica ativado no seu projeto. O corpo da resposta desta chamada de API fornecer-lhe-á o ID do projeto (proj_xxx).

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

   "external_key_id": "extkey_xxxx"
}'

Este artigo foi útil?