OpenAI
Ang page na ito ay isinalin ng AI. Tingnan ang orihinal na artikulo sa English.

Mga Tagubilin sa Integrasyon ng OpenAI / GCP EKM

Sunod-sunod na tagubilin para i-provision ang GCP at i-activate ang EKM

Na-update: 14 days ago

Pangkalahatang-ideya

Nagbibigay-daan ang Enterprise Key Management (EKM) sa OpenAI na i-encrypt ang data gamit ang master key na kontrolado mo. Ipinapakita ng dokumentong ito kung paano i-set up ang iyong GCP account para bigyan ang OpenAI ng limitadong pahintulot sa iyong KMS.

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

Mga hakbang

1. Gumawa ng federated identity para sa OpenAI

Mag-iisyu ang OpenAI ng identity token mula sa GCP account na pag-aari ng OpenAI na mukhang ganito.

  • Ang azp at sub ay ang service account ID ng OpenAI sa GCP

  • Ang aud ay ang iyong OpenAI organization ID. Maaari ka ring pumili ng ibang audience gaya ng iyong OpenAI project ID - tingnan ang mga tagubilin sa ibaba

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

Kinikilala ng hakbang na ito ang mga claim na ginawa ng identity token na iyon at nagbibigay-daan sa iyong GCP STS na mag-isyu ng access token kapag ibinigay ang identity token na iyon.

  1. Pumunta sa IAM & Admin -> Workload Identity Federation at i-click ang Gumawa ng Pool

GCP IAM & Admin with Workload Identity Federation selected
  1. Sa hakbang na Gumawa ng identity pool, maglagay ng kahit ano para sa pangalan ng pool.

  1. Sa hakbang na Magdagdag ng provider sa pool:

  1. Sa Piliin ang provider, piliin ang OpenID Connect (OIDC)

  2. Maglagay ng kahit ano para sa pangalan ng provider.

  3. Sa seksyong Issuer (URL), ilagay ang https://accounts.google.com

  4. Sa seksyong Mga Audience

  1. Piliin ang Mga pinapayagang audience

  2. Ilagay ang audience na dapat tukuyin ng OpenAI kapag nagpasa kami sa iyo ng token.

  1. Para sa ChatGPT o API: Maaari mong ilagay ang OpenAI API organization ID (org-xxx)

  2. Para sa API: maaari kang maglagay ng partikular na API project ID para sa mas detalyadong kontrol.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. Sa seksyong Pagmamapa ng attribute

  1. para sa google.subject, ilagay ang assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. Sa seksyong Mga kondisyon ng attribute

  1. Ngayon, dapat mong makita ang iyong workload identity pool at workload identity provider na nakalista sa page na https://console.cloud.google.com/iam-admin/workload-identity-pools

  1. Workload identity pool ID

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. Workload identity provider ID

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

2. Tiyaking naka-enable ang KMS

Pumunta sa https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview para i-enable ang KMS. Hindi kinakailangang gawin ang iyong KMS sa parehong proyekto sa GCP kung saan mo kinilala ang federated identity ng OpenAI; gayunpaman, kung magkaiba ang mga proyekto, dapat man lang na naka-enable ang produktong KMS sa parehong proyekto.

3. Gumawa ng bagong KMS Key

  1. Pumunta sa Seguridad -> Proteksyon ng Data > Pamamahala ng Key

  2. Sa ilalim ng tab na Pangkalahatang-ideya, i-click ang Gumawa ng key ring

  1. Pumili ng anumang pangalan para sa iyong key ring

  2. Para sa Layunin at algorithm, piliin ang Simetrikong pag-encrypt/decrypt

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. Kapag nakagawa ka na ng key ring, dapat itong nakalista sa tab na Mga Key Ring. I-click ang key ring.

  2. Sa mga detalye ng key ring, i-click ang Gumawa ng Key

  1. Pumili ng anumang pangalan para sa iyong key

4. Gumawa ng limitadong role para sa mga operasyong pag-encrypt/decrypt sa KMS

  1. Pumunta sa IAM & Admin -> Mga Role -> Gumawa ng role

  2. Maglagay ng kahit ano para sa pamagat at ID ng role

  3. I-click ang Magdagdag ng Mga Pahintulot, pagkatapos ay idagdag ang sumusunod

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. I-assign ang federated identity ng OpenAI sa limitadong KMS role para sa mga operasyong pag-encrypt/decrypt

  1. Pumunta sa Seguridad -> Proteksyon ng Data > Pamamahala ng Key

  2. I-click ang pangalan ng iyong key ring, pagkatapos ay i-click ang iyong pangalan ng key para makapunta sa page ng mga detalye ng iyong key.

  1. I-click ang tab na Mga Pahintulot, pagkatapos ay i-click ang button na Magbigay ng Access

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. I-assign ang OpenAI federated identity sa custom role na ginawa mo dati

  1. Para sa seksyong Magdagdag ng mga principal, ilagay ang principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. Sa seksyong Magtalaga ng mga role, piliin ang custom role na ginawa mo sa nakaraang hakbang para sa limitadong pahintulot sa EKM

6. Ilapat ang anumang karagdagang paghihigpit alinsunod sa sarili mong mga kasanayan sa seguridad

Nasa itaas ang minimum na kinakailangang impormasyon na kailangan ng OpenAI para i-set up ang EKM. Malaya kang maglapat ng karagdagang mga patakaran o paghihigpit sa key alinsunod sa sarili mong mga internal na kasanayan sa seguridad, hangga’t nagagawa ng OpenAI na tawagin ang mga operasyong encrypt at decrypt sa iyong KMS. Kapag tinawag mo ang key registration endpoint sa OpenAI na inilalarawan sa ibaba, iva-validate namin ang iyong setup.

Matapos kumpletuhin ang mga hakbang sa itaas

ChatGPT Enterprise

Makipag-ugnayan sa iyong contact sa OpenAI at ibahagi ang sumusunod:

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

  • Ang rehiyon kung saan matatagpuan ang master key ng iyong Key Management System

Ie-enable namin ang EKM para sa iyong organisasyon/workspace sa ChatGPT.

API

Irehistro ang iyong external key sa OpenAI

Sundin ang mga tagubilin sa API reference na ito Mga External Key sa Management API

  • Una, irehistro ang iyong external key sa antas ng organisasyon ng OpenAI, na lilikha ng external key ID.

  • Sa hakbang na ito, iva-validate namin ang iyong setup sa GCP sa pamamagitan ng pagsuri kung makakapag-authenticate kami sa iyong KMS.

  • Hindi pa nito idaragdag ang EKM sa iyong proyekto sa 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": "GCP EKM Config",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <iyong org id o project id>,
   "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"
}'

Pagkatapos, gumawa ng proyekto sa OpenAI na nauugnay sa external key. Pagkatapos nito, maa-activate ang EKM sa iyong proyekto.

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

   "external_key_id": "extkey_xxxx"

}'

Nakatulong ba ang artikulong ito?