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

Configurar a EKM com a OpenAI e a AWS

Saiba como aprovisionar recursos na AWS e ativar a gestão empresarial de chaves (EKM).

Atualizado: 2 hours 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 selecione Criar chave.

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

  3. Após criar a chave, tome nota do 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 selecione Criar política.

  2. No passo Especificar permissões, selecione JSON e introduza o seguinte para incluir na política as 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 que a OpenAI possa assumir e associe-a à política de acesso limitado ao seu KMS

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

  1. Aceda a IAM > Funções e selecione 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 à entidade principal da OpenAI na AWS.

  • A entidade principal é a entidade principal da OpenAI na AWS: arn:aws:iam::790389265272:role/EnterpriseKeyManagement.

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

    • Para o ChatGPT ou a API, utilize o ID da organização (org-xxx) associado ao seu espaço de trabalho: definições da organização.

    • Para a API, pode utilizar um ID de projeto da API específico para um controlo mais granular.

{
"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. Selecione a caixa de verificação junto ao nome da política e, em seguida, selecione Seguinte.

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

Por fim, na secção Nomear, rever e criar, escolha um nome para a 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, verificaremos se os dados introduzidos são válidos e se conseguimos autenticar-nos no seu KMS.

  3. Isto ainda não irá adicionar a 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": "AWS EKM Config",
"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": "<your org id or project id>"
}'

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": "Some Project",
"external_key_id": "extkey_xxxx"
}'

Este artigo foi útil?