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

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

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

Atualizado: 6 days ago

Descrição geral

A Enterprise Key Management (EKM) permite à OpenAI encriptar dados utilizando uma chave mestra que controla. Este documento mostra como configurar a sua conta GCP para conceder permissões limitadas à OpenAI no seu KMS.

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

Passos

1. Crie uma identidade federada para a OpenAI

A OpenAI emitirá um token de identidade a partir de uma conta GCP detida pela OpenAI que se parece com algo assim.

  • azp e sub são o ID da conta de serviço da OpenAI no GCP

  • aud é o ID da sua organização OpenAI. Também pode escolher outra audiência, como o ID do seu projeto OpenAI — consulte as instruções abaixo

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

Este passo reconhece as declarações feitas por esse token de identidade e permite que o seu GCP STS emita um token de acesso quando esse token de identidade é fornecido.

  1. Vá a IAM & Administração -> Federação de identidades de cargas de trabalho e clique em Criar conjunto

GCP IAM & Admin with Workload Identity Federation selected
  1. No passo Criar um conjunto de identidades, introduza qualquer valor para o nome do conjunto.

  1. No passo Adicionar um fornecedor ao conjunto:

  1. Em Selecionar um fornecedor, selecione OpenID Connect (OIDC)

  2. Introduza qualquer valor para o nome do fornecedor.

  3. Na secção Emissor (URL), introduza https://accounts.google.com

  4. Na secção Audiências

  1. Selecione Audiências permitidas

  2. Introduza a audiência que a OpenAI deve indicar quando lhe passarmos um token.

  1. Para ChatGPT ou API: pode colocar o ID da organização da API OpenAI (org-xxx)

  2. Para API: pode colocar um ID de projeto de API específico para maior granularidade.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. Na secção Mapeamento de atributos

  1. para google.subject, introduza assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. Na secção Condições de atributos

  1. Agora deverá ver o seu conjunto de identidades de cargas de trabalho e fornecedor de identidades de cargas de trabalho listados na página https://console.cloud.google.com/iam-admin/workload-identity-pools

  1. ID do conjunto de identidades de cargas de trabalho

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. ID do fornecedor de identidades de cargas de trabalho

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

2. Certifique-se de que o KMS está ativado

Vá a https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview para ativar o KMS. Não é obrigatório criar o seu KMS no mesmo projeto GCP em que reconheceu a identidade federada da OpenAI; no entanto, se os projetos forem diferentes, o produto KMS tem, pelo menos, de estar ativado em ambos os projetos.

3. Crie uma nova chave KMS

  1. Vá a Segurança -> Proteção de dados > Gestão de chaves

  2. No separador Descrição geral, clique em Criar conjunto de chaves

  1. Escolha qualquer nome para o seu conjunto de chaves

  2. Para Finalidade e algoritmo, selecione Encriptação/desencriptação simétrica

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. Depois de criar um conjunto de chaves, este deverá aparecer no separador Conjuntos de chaves. Clique no conjunto de chaves.

  2. Nos detalhes do conjunto de chaves, clique em Criar chave

  1. Escolha qualquer nome para a sua chave

4. Crie uma função limitada para operações de encriptação/desencriptação no KMS

  1. Vá a IAM & Administração -> Funções -> Criar função

  2. Introduza qualquer valor para o título e ID da função

  3. Clique em Adicionar permissões e, em seguida, adicione o seguinte

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Atribua a identidade federada da OpenAI à função limitada do KMS para operações de encriptação/desencriptação

  1. Vá a Segurança -> Proteção de dados > Gestão de chaves

  2. Clique no nome do seu conjunto de chaves e, em seguida, clique no seu nome da chave para aceder à página de detalhes da chave.

  1. Clique no separador Permissões e, em seguida, clique no botão Conceder acesso

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. Atribua a identidade federada da OpenAI à função personalizada que criou anteriormente

  1. Na secção Adicionar entidades principais, introduza principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. Na secção Atribuir funções, selecione a função personalizada que criou no passo anterior para permissões EKM limitadas

6. Aplique quaisquer restrições adicionais em conformidade 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 em conformidade com as suas próprias práticas de segurança internas, desde que a OpenAI consiga invocar operações de encriptação e desencriptação no seu KMS. Quando chamar o endpoint de registo de chaves da OpenAI descrito abaixo, validaremos a sua configuração.

Depois de concluir os passos acima

ChatGPT Enterprise

Contacte o seu contacto da OpenAI e partilhe o seguinte:

  • "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"

  • A região onde está localizada a chave mestra do seu Sistema de Gestão de Chaves

Ativaremos 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

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

  • Neste passo, validaremos a sua configuração no GCP, verificando se conseguimos autenticar-nos no seu KMS.

  • Isto ainda não adicionará o 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": "gcp",
   "name": "Configuração GCP EKM",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <o ID da sua organização ou do projeto>,
   "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"
}'

Em seguida, crie um projeto OpenAI associado à chave externa. Depois disto, o EKM é ativado no seu projeto.

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?