OpenAI
Tato stránka byla přeložena strojově. Zobrazit původní článek v angličtině.

OpenAI / Pokyny k integraci GCP EKM

Pokyny krok za krokem ke zprovoznění GCP a aktivaci EKM

Aktualizováno: 3 days ago

Přehled

Enterprise Key Management (EKM) umožňuje OpenAI šifrovat data pomocí hlavního klíče, který ovládáte vy. Tento dokument ukazuje, jak nastavit účet GCP tak, aby OpenAI získala omezená oprávnění k vašemu KMS.

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

Kroky

1. Vytvořte federovanou identitu pro OpenAI

OpenAI bude vydávat token identity z účtu GCP vlastněného OpenAI, který vypadá přibližně takto.

  • Hodnoty azp a sub jsou ID servisního účtu OpenAI v GCP

  • Hodnota aud je ID vaší organizace OpenAI. Můžete také zvolit jiné publikum, například ID svého projektu OpenAI – viz pokyny níže

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

Tento krok rozpozná deklarace provedené tímto tokenem identity a umožní vaší službě GCP STS vydat přístupový token, když je tento token identity poskytnut.

  1. Přejděte na IAM & Admin -> Workload Identity Federation a klikněte na Create Pool

GCP IAM & Admin with Workload Identity Federation selected
  1. V kroku Create an identity pool, zadejte cokoli jako název fondu.

  1. V kroku Add a provider to pool:

  1. V části Select a provider vyberte OpenID Connect (OIDC)

  2. Zadejte cokoli jako název poskytovatele.

  3. V části Issuer (URL) zadejte https://accounts.google.com

  4. V části Audiences

  1. Vyberte Allowed audiences

  2. Zadejte publikum, které má OpenAI uvádět, když vám předáme token.

  1. Pro ChatGPT nebo API: Můžete zadat ID organizace OpenAI API (org-xxx)

  2. Pro API: pro větší granularitu můžete zadat konkrétní ID projektu API.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. V části Attribute mapping

  1. pro google.subject zadejte assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. V části Attribute conditions

  1. Nyní byste měli na stránce https://console.cloud.google.com/iam-admin/workload-identity-pools vidět uvedené svůj fond identit pracovních zátěží a poskytovatele identit pracovních zátěží

  1. ID fondu identit pracovních zátěží

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. ID poskytovatele identit pracovních zátěží

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

2. Ujistěte se, že je KMS povolené

KMS povolíte tak, že přejdete na https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview. KMS nemusíte vytvářet ve stejném projektu GCP, ve kterém jste rozpoznali federovanou identitu OpenAI; pokud se však projekty liší, produkt KMS musí být alespoň povolený v obou projektech.

3. Vytvořte nový klíč KMS

  1. Přejděte na Security -> Data Protection > Key Management

  2. Na kartě Overview klikněte na Create key ring

  1. Zvolte libovolný název pro svůj svazek klíčů

  2. U položek Purpose a algorithm vyberte Symmetric encrypt/decrypt

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. Po vytvoření svazku klíčů by se měl zobrazit na kartě Key Rings. Klikněte na svazek klíčů.

  2. V podrobnostech svazku klíčů klikněte na Create Key

  1. Zvolte libovolný název pro svůj klíč

4. Vytvořte omezenou roli pro operace šifrování/dešifrování v KMS

  1. Přejděte na IAM & Admin -> Roles -> Create role

  2. Jako název a ID role zadejte cokoli

  3. Klikněte na Add Permissions a potom přidejte následující

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Přiřaďte federovanou identitu OpenAI k omezené roli KMS pro operace šifrování/dešifrování

  1. Přejděte na Security -> Data Protection > Key Management

  2. Klikněte na název svého svazku klíčů a potom na název klíče, abyste se dostali na stránku s podrobnostmi klíče.

  1. Klikněte na kartu Permissions a potom na tlačítko Grant Access

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. Přiřaďte federovanou identitu OpenAI k vlastní roli, kterou jste dříve vytvořili

  1. V části Add principals zadejte principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. V části Assign roles vyberte vlastní roli, kterou jste vytvořili v předchozím kroku pro omezená oprávnění EKM

6. Použijte jakákoli další omezení v souladu se svými vlastními bezpečnostními postupy

Výše jsou uvedeny minimální požadované informace, které OpenAI potřebuje k nastavení EKM. Můžete použít další zásady nebo omezení klíčů v souladu se svými interními bezpečnostními postupy, pokud OpenAI může volat operace šifrování a dešifrování ve vašem KMS. Když zavoláte koncový bod pro registraci klíče u OpenAI, který je popsán níže, ověříme vaše nastavení.

Po dokončení výše uvedených kroků

ChatGPT Enterprise

Obraťte se prosím na svůj kontakt v OpenAI a sdílejte následující:

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

  • Oblast, ve které se nachází hlavní klíč vašeho systému správy klíčů

EKM povolíme pro vaši organizaci/pracovní prostor ChatGPT.

API

Zaregistrujte svůj externí klíč u OpenAI

Postupujte podle pokynů v této referenci API Externí klíče v rozhraní Management API

  • Nejprve zaregistrujte svůj externí klíč na úrovni organizace OpenAI, čímž se vygeneruje ID externího klíče.

  • V tomto kroku ověříme vaše nastavení v GCP kontrolou, že se můžeme ověřit vůči vašemu KMS.

  • Tím se EKM do vašeho projektu OpenAI zatím nepřidá.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
   "type": "gcp",
   "name": "Konfigurace GCP EKM",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <ID vaší organizace nebo ID projektu>,
   "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"
}'

Poté vytvořte projekt OpenAI přidružený k externímu klíči. Poté se pro váš projekt aktivuje EKM.

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

   "external_key_id": "extkey_xxxx"

}'

Byl tento článek užitečný?