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

Instrukcje integracji OpenAI / GCP EKM

Instrukcje krok po kroku dotyczące konfigurowania GCP i aktywacji EKM

Zaktualizowano: 2 hours ago

Omówienie

Enterprise Key Management (EKM) umożliwia OpenAI szyfrowanie danych za pomocą klucza głównego, który kontrolujesz. Ten dokument pokazuje, jak skonfigurować konto GCP, aby nadać OpenAI ograniczone uprawnienia do Twojego KMS.

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

Kroki

1. Utwórz federacyjną tożsamość dla OpenAI

OpenAI będzie wystawiać token tożsamości z konta GCP należącego do OpenAI, który wygląda mniej więcej tak.

  • azp i sub to identyfikator konta usługi OpenAI w GCP

  • aud to identyfikator Twojej organizacji OpenAI. Możesz też wybrać inną grupę odbiorców, na przykład identyfikator projektu OpenAI — zobacz instrukcje poniżej

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

Ten krok rozpoznaje deklaracje przekazywane przez ten token tożsamości i umożliwia Twojemu GCP STS wystawienie tokenu dostępu po dostarczeniu tego tokenu tożsamości.

  1. Przejdź do IAM & Admin -> Workload Identity Federation i kliknij Create Pool

GCP IAM & Admin with Workload Identity Federation selected
  1. W kroku Create an identity pool, wpisz dowolną wartość w polu pool name.

  1. W kroku Add a provider to pool:

  1. W polu Select a provider wybierz OpenID Connect (OIDC)

  2. Wpisz dowolną wartość w polu provider name.

  3. W sekcji Issuer (URL) wpisz https://accounts.google.com

  4. W sekcji Audiences

  1. Wybierz Allowed audiences

  2. Wpisz odbiorcę, którego OpenAI powinno wskazać, gdy przekażemy Ci token.

  1. Dla ChatGPT lub API: możesz podać identyfikator organizacji OpenAI API (org-xxx)

  2. Dla API: możesz podać konkretny identyfikator projektu API, aby uzyskać większą szczegółowość.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. W sekcji Attribute mapping

  1. dla google.subject wpisz assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. W sekcji Attribute conditions

  1. Teraz na stronie https://console.cloud.google.com/iam-admin/workload-identity-pools powinny być widoczne Twoje workload identity pool i workload identity provider

  1. Identyfikator puli tożsamości obciążenia

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. Identyfikator dostawcy tożsamości obciążenia

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

2. Upewnij się, że KMS jest włączony

Przejdź do https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview, aby włączyć KMS. Nie musisz tworzyć KMS w tym samym projekcie GCP, w którym rozpoznano federacyjną tożsamość OpenAI; jeśli jednak projekty się różnią, usługa KMS musi być co najmniej włączona w obu projektach.

3. Utwórz nowy klucz KMS

  1. Przejdź do Security -> Data Protection > Key Management

  2. Na karcie Overview kliknij Create key ring

  1. Wybierz dowolną nazwę dla swojego pęku kluczy

  2. Dla opcji Purpose i algorithm wybierz Symmetric encrypt/decrypt

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. Po utworzeniu pęku kluczy powinien on być widoczny na karcie Key Rings. Kliknij pęk kluczy.

  2. W szczegółach pęku kluczy kliknij Create Key

  1. Wybierz dowolną nazwę dla swojego klucza

4. Utwórz ograniczoną rolę do operacji szyfrowania/odszyfrowywania w KMS

  1. Przejdź do IAM & Admin -> Roles -> Create role

  2. Wpisz dowolną nazwę roli i identyfikator

  3. Kliknij Add Permissions, a następnie dodaj następujące uprawnienia

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Przypisz federacyjną tożsamość OpenAI do ograniczonej roli KMS na potrzeby operacji szyfrowania/odszyfrowywania

  1. Przejdź do Security -> Data Protection > Key Management

  2. Kliknij nazwę swojego pęku kluczy, a następnie kliknij nazwę klucza, aby przejść do strony szczegółów klucza.

  1. Kliknij kartę Permissions, a następnie przycisk Grant Access

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. Przypisz federacyjną tożsamość OpenAI do utworzonej wcześniej roli niestandardowej

  1. W sekcji Add principals wpisz principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. W sekcji Assign roles wybierz rolę niestandardową utworzoną w poprzednim kroku dla ograniczonych uprawnień EKM

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

Powyżej podano minimalne wymagane informacje, których OpenAI potrzebuje do skonfigurowania EKM. Możesz zastosować dodatkowe zasady kluczy lub ograniczenia 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 udostępnij następujące informacje:

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

  • Region, w którym znajduje się klucz główny Twojego systemu zarządzania kluczami

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 spowoduje wygenerowanie identyfikatora klucza zewnętrznego.

  • W tym kroku zweryfikujemy Twoją konfigurację w GCP, sprawdzając, czy możemy uwierzytelnić się w Twoim KMS.

  • Nie spowoduje to jeszcze dodania EKM do Twojego projektu 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": <identyfikator Twojej organizacji lub 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"
}'

Następnie utwórz projekt OpenAI powiązany z kluczem zewnętrznym. Po tym EKM zostanie aktywowane w Twoim projekcie.

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?