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: 13 days ago

Omówienie

Enterprise Key Management (EKM) umożliwia OpenAI szyfrowanie danych przy użyciu klucza głównego, który kontrolujesz. Aby OpenAI mogło wywoływać operacje szyfrowania/deszyfrowania w Twoim Key Vault, musimy otrzymać 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 nazwę główną 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

2. Utwórz nazwę główną usługi — appId w poniższym żądaniu to identyfikator klienta aplikacji OpenAI. Spowoduje to utworzenie nazwy głównej o nazwie wyświetlanej „EKM - OpenAI Azure” — zapamiętaj ją do kolejnych kroków.

Instrukcja integracji OpenAI / Azure EKM - Utwórz nazwę główną 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ą dla ograniczonego dostępu do KMS

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

  2. W menu rozwijanym + Add wybierz Add custom role

  3. Przejdź do karty JSON, kliknij Edit i dodaj poniższe 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 + Key

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
  3. Wybierz RSA jako algorytm szyfrowania.

  4. Możesz wybrać dowolny rozmiar klucza RSA

  5. 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 ona potrzebna nawet wtedy, gdy masz rolę Owner. Aby przypisać tę 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 nazwy głównej usługi OpenAI + nowego niestandardowego KMS + nowego klucza

  1. Przejdź do Key Vault -> Objects -> Keys , a następnie kliknij wiersz klucza, który utworzyłeś

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

  3. W menu rozwijanym + Add wybierz Add role assignment

    Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  4. Na karcie Role wybierz nazwę utworzonej przed chwilą roli niestandardowej.

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

    1. Kliknij „+ Select members”

    2. Wpisz „ekm -” w pasku wyszukiwania, a następnie powinna się załadować nazwa główna usługi OpenAI utworzona w kroku 1

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

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

Powyżej podano minimalny wymagany zakres informacji potrzebnych OpenAI do skonfigurowania EKM. Możesz zastosować dodatkowe zasady dotyczące kluczy lub ograniczenia zgodnie z własnymi wewnętrznymi praktykami bezpieczeństwa, o ile OpenAI będzie w stanie wywoływać operacje szyfrowania i deszyfrowania w Twoim KMS. Gdy wywołasz punkt końcowy rejestracji klucza w OpenAI opisany poniżej, zweryfikujemy Twoją konfigurację.

Po wykonaniu powyższych kroków

ChatGPT Enterprise

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

  • "tenant_id": "<YOUR_AZURE_TENANT_UUID>"

    • Twój identyfikator UUID dzierżawy Azure

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

    • URI magazynu Azure zawierającego zarządzany przez Ciebie klucz główny

  • "key_name": "<YOUR_KEY_NAME>"

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

    • Nazwa klucza musi mieć postać <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 swój klucz zewnętrzny na poziomie organizacji OpenAI, co wygeneruje identyfikator klucza zewnętrznego w postaci extkey_xxx

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

  • To jeszcze nie doda EKM do Twojego projektu OpenAI. 

# To wygeneruje identyfikator klucza zewnętrznego w postaci 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 aktywowane w Twoim projekcie.

  • Treść odpowiedzi tego wywołania API zwróci identyfikator projektu (proj_xxx)

    Instrukcja integracji OpenAI / Azure EKM - Utwórz projekt

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?