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: 12 hours ago

Přehled

Enterprise Key Management (EKM) umožňuje OpenAI šifrovat data pomocí hlavního klíče, který spravujete vy. Tento dokument ukazuje, jak nastavit účet GCP tak, aby měl OpenAI 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 pro OpenAI federovanou identitu

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

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

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

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

V tomto kroku se rozpoznají claimy uvedené v daném tokenu identity a vaše GCP STS pak bude moct vydat přístupový token, když bude tento token identity poskytnut.

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

    GCP IAM & Admin with Workload Identity Federation selected
  2. V kroku Create an identity pool zadejte libovolný název poolu.

    1. Toto si zapamatujte na později – budete to muset zaregistrovat u OpenAI

  3. V kroku Add a provider to pool:

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

    2. Zadejte libovolný 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
    5. 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
    6. V části Attribute conditions

      1. zadejte assertion.sub == "105900137572174660365"

  4. Nyní byste měli na stránce https://console.cloud.google.com/iam-admin/workload-identity-pools vidět svůj workload identity pool a workload identity provider

    1. Workload identity pool id

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

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

2. Ujistěte se, že je KMS povoleno

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

3. Vytvořte nový klíč KMS

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

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

    1. Zvolte libovolný název pro key ring

    2. Pro Purpose and algorithm vyberte Symmetric encrypt/decrypt

      GCP Key Management Overview page with the Create Key Ring button highlighted
    3. Jakmile key ring vytvoříte, měl by být uveden na kartě Key Rings. Klikněte na key ring.

    4. V detailech key ringu klikněte na Create Key

      1. Zvolte libovolný název klíče

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

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

  2. Zadejte libovolný název a ID role

  3. Klikněte na Add Permissions a pak 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 do Security -> Data Protection > Key Management

  2. Klikněte na název svého key ringu a poté klikněte na název svého klíče, čímž se dostanete na stránku s podrobnostmi o klíči.

    1. Pokud to nemáte, vraťte se do části Create a KMS

  3. Klikněte na kartu Permissions a pak na tlačítko Grant Access

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

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

      1. YOUR_GCP_PROJECT_NUMBER je zde projekt, ve kterém jste rozpoznali federovanou identitu OpenAI vytvořením YOUR_GCP_WORKLOAD_IDENTITY_POOL. Může to být, ale nemusí, stejný projekt, ve kterém se nachází vaše KMS.

      2. Pokud se projekty liší, ujistěte se, že je KMS alespoň povoleno i v druhém projektu, a to přechodem na https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview

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

6. Uplatněte jakákoli další omezení v souladu se svý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 pro klíče nebo omezení v souladu se svými interními bezpečnostními postupy, pokud OpenAI bude moct volat operace šifrování a dešifrování na 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",

    • 12místné číslo projektu GCP, ve kterém jste zaregistrovali workload identity OpenAI

  • "workload_identity_pool_id": "openai-azure",

    • Pool obsahující poskytovatele Workload Identity, kterého jste zaregistrovali pro OpenAI

  • "workload_identity_provider_id": "openai-ekm-service-role",

    • Poskytovatel Workload Identity, kterého jste zaregistrovali pro OpenAI

  • "kms_project_id": "adjective-noun-12345",

    • Název projektu GCP, ve kterém se nachází vaše KMS

  • "kms_key_name": "openai-kms-key",

    • Název hlavního klíče systému Key Management System

  • "kms_key_ring_name": "openai-kms-key-ring",

    • Key ring systému Key Management System obsahující hlavní klíč, který spravujete

  • "kms_key_location": "us-east1"

    • Oblast, ve které se nachází hlavní klíč vašeho systému Key Management System

Povolíme EKM 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 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 autentizovat k vašemu KMS.

  • Tím se EKM do vašeho projektu OpenAI ještě 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 ve vašem projektu 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ý?