OpenAI
Ta strona została przetłumaczona maszynowo. Wyświetl oryginalny artykuł w języku angielskim.

Instrukcja integracji OpenAI / Azure EKM

Instrukcje krok po kroku dotyczące konfiguracji Azure i włączenia EKM

Zaktualizowano: 16 minutes ago

Omówienie

Enterprise Key Management (EKM) umożliwia OpenAI szyfrowanie danych przy użyciu klucza głównego, nad którym masz kontrolę. Aby OpenAI mogło wywoływać operacje szyfrowania/odszyfrowywania w Twoim Key Vault, musimy uzyskać dostęp. Ten dokument pokazuje, jak skonfigurować konto Azure, aby OpenAI mogło przyjąć rolę z uprawnieniami do Key Vault.

Azure EKM flow where OpenAI EKM uses Microsoft Entra ID to access your Key Vault and master KEK

Kroki

1. Utwórz jednostkę usługi dla OpenAI na swoim koncie

  1. Uzyskaj token dostępu

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID
  1. Utwórz jednostkę usługi — appId w poniższym żądaniu to identyfikator klienta aplikacji OpenAI. Spowoduje to utworzenie jednostki z nazwą wyświetlaną „EKM - OpenAI Azure” — zapamiętaj ją na potrzeby późniejszych kroków.

Instrukcje integracji OpenAI / Azure EKM — tworzenie jednostki usługi

curl -X POST https://graph.microsoft.com/v1.0/servicePrincipals \
-H "Authorization: Bearer $TOKEN_FROM_ABOVE" \
-H "Content-Type: application/json" \
–d '{"appId": "20a14814-5ab7-4612-a671-1382b412bf93"}'

2. Utwórz rolę niestandardową do ograniczonego dostępu do KMS

  1. Przejdź do Subscriptions -> Access Control (IAM)

  2. Z menu rozwijanego + Add wybierz Add custom role

  3. Przejdź do karty JSON, kliknij Edit i dodaj następujące elementy:

    1. Dowolna nazwa roli — zapamiętaj wybraną nazwę

    2. Następujące uprawnienia w dataActions:

      1. Microsoft.KeyVault/vaults/keys/encrypt/action

      2. Microsoft.KeyVault/vaults/keys/decrypt/action

      3. Microsoft.KeyVault/vaults/keys/read

OpenAI / Azure EKM Integration Instructions Custom Role

3. Utwórz Key Vault + klucz

Jeśli jeszcze go nie masz, utwórz nowy Key Vault w tej samej subskrypcji, w której właśnie utworzono rolę niestandardową.

W tym Key Vault utwórz nowy klucz:

  1. Przejdź do Key Vault -> Objects -> Keys, a następnie kliknij Generate/Import

  2. W sekcji Options wybierz Generate

Azure Key Vault Keys page with Generate/Import highlighted to add a key
  1. Wybierz RSA jako algorytm szyfrowania.

  2. Możesz wybrać dowolny rozmiar klucza RSA

  3. Podaj nazwę klucza w następującym formacie: <org-xxx>--<any_name>, gdzie org-xxx to identyfikator organizacji OpenAI, który znajdziesz pod adresem https://platform.openai.com/settings/organization/general

Azure Key Vault key generation form with RSA selected and key name org-abcdefg--test-keyvault-key

Jeśli nie możesz wyświetlić ani utworzyć klucza, upewnij się, że masz rolę Key Vault Administrator. Jest to wymagane nawet wtedy, gdy masz rolę Owner. Aby przypisać rolę:

  1. Przejdź do Key Vault -> Access Control (IAM)

  2. Kliknij Add -> Add role assignment

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment

4. Utwórz przypisanie roli dla jednostki usługi OpenAI + nowego niestandardowego KMS + nowego klucza

  1. Przejdź do Key Vault -> Objects -> Keys, a następnie kliknij wiersz utworzonego klucza

  2. Przejdź do Access control (IAM) dla klucza, który został właśnie kliknięty (nie magazynu kluczy).

  3. Z menu rozwijanego + Add wybierz Add role assignment

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  1. Na karcie Role wybierz nazwę właśnie utworzonej roli niestandardowej.

Azure role list filtered for openai- with the openai-azure-kms-role entry
  1. Na karcie Members:

    1. Kliknij „+ Select members”

    2. Wpisz „ekm -” w pasku wyszukiwania, a następnie powinna wczytać się jednostka usługi OpenAI utworzona w kroku 1

Azure role assignment Members step with EKM - OpenAI Azure Application selected as a member

5. Zastosuj dodatkowe ograniczenia zgodne z własnymi praktykami bezpieczeństwa

Powyżej podano minimalne informacje wymagane przez OpenAI do skonfigurowania EKM. Możesz swobodnie stosować dodatkowe zasady lub ograniczenia dotyczące kluczy zgodnie z własnymi wewnętrznymi praktykami bezpieczeństwa, o ile OpenAI może wywoływać operacje szyfrowania i odszyfrowywania w Twoim KMS. Gdy wywołasz opisany poniżej punkt końcowy rejestracji klucza w OpenAI, zweryfikujemy Twoją konfigurację.

Po wykonaniu powyższych kroków

ChatGPT Enterprise

Skontaktuj się ze swoim przedstawicielem OpenAI i przekaż następujące informacje:

  • "tenant_id": "<YOUR_AZURE_TENANT_UUID>"

  • "vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"

  • "key_name": "<YOUR_KEY_NAME>"

  • Nazwa zarządzanego przez Ciebie klucza głównego Azure Key Vault

  • Nazwa klucza musi mieć format <org-xxx>--<any_name>, gdzie org-xxx to identyfikator organizacji OpenAI, który znajdziesz pod adresem https://platform.openai.com/settings/organization/general

Włączymy EKM dla Twojej organizacji/przestrzeni roboczej ChatGPT.

API

Zarejestruj swój klucz zewnętrzny w OpenAI

Postępuj zgodnie z instrukcjami w tej dokumentacji API: Klucze zewnętrzne w Management API

  • Najpierw zarejestruj klucz zewnętrzny na poziomie organizacji OpenAI, co wygeneruje identyfikator klucza zewnętrznego w formacie extkey_xxx

  • W tym kroku sprawdzimy, czy Twoje dane wejściowe są prawidłowe i czy możemy uwierzytelnić się w Twoim KMS.

  • To jeszcze nie doda EKM do Twojego projektu OpenAI.

# This generates an external key ID of the form extkey_xxx
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "azure",
"name": "<ANY_FRIENDLY_NAME>",
"tenant_id": "<YOUR_AZURE_TENANT_UUID>",
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/",
"key_name": "<YOUR_KEY_NAME>"
}'
  • Następnie utwórz projekt OpenAI powiązany z kluczem zewnętrznym. Po tym EKM zostanie aktywowany w Twoim projekcie.

  • Treść odpowiedzi tego wywołania API poda Ci identyfikator projektu (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"
}'

Czy ten artykuł był pomocny?