Skip to main content
Workload identity federation jest w wersji beta. Nie została jeszcze sprawdzona na wszystkich platformach, a jej konfiguracja może się zmienić. Statyczne klucze API pozostają najstabilniejszą opcją.
Workload identity federation pozwala GoModel uwierzytelniać się u dostawcy bez długotrwałego klucza API. Gateway odczytuje token tożsamości, który Twoja platforma już wydaje (projektowany token konta usługi Kubernetes, workload identity AWS, GCP lub Azure, OIDC z GitHub Actions, SPIFFE JWT-SVID), i wymienia go na krótkotrwały token dostępu dostawcy. Obsługiwani dostawcy: openai (wymiana tokenów RFC 8693) i anthropic (RFC 7523 jwt-bearer). Najpierw skonfiguruj dostawcę tożsamości i konto usługi po stronie dostawcy: OpenAI, Anthropic.

Konfiguracja

Anthropic czyta te same zmienne co oficjalne SDK, więc istniejące wdrożenie działa bez zmian:
OpenAI:
Albo w config.yaml:
Sufiksy instancji działają jak przy każdym innym ustawieniu dostawcy, na przykład OPENAI_EU_IDENTITY_TOKEN_FILE dla dostawcy o nazwie openai-eu.

Jak to działa

  • Pierwsze żądanie czeka na wymianę tokenu tożsamości. Token dostępu jest buforowany i odświeżany w tle dwie minuty przed wygaśnięciem (wcześniej dla bardzo krótkotrwałych tokenów), a żądania w tym czasie używają tokenu z bufora. Żądanie czeka na wymianę tylko wtedy, gdy w buforze nie ma używalnego tokenu.
  • identity_token_file jest odczytywany przy każdej wymianie, więc tokeny rotowane na dysku pozostają aktualne. Gdy ustawiono plik i identity_token, wygrywa plik.
  • Jeśli odświeżenie się nie powiedzie, buforowany token jest używany do 30 sekund przed wygaśnięciem. Po błędzie gateway czeka 5 sekund, zanim ponowi wymianę.
  • Gdy nie ma ważnego tokenu, żądanie wychodzi bez niego i dostawca je odrzuca. Log gatewaya podaje przyczynę (workload identity token exchange failed).
  • Wymiana korzysta z proxy wychodzącego dostawcy, jeśli jest skonfigurowane.
  • Ani token tożsamości, ani token dostępu nigdy nie trafia do logów.

Zasady

  • Klucz API ma pierwszeństwo przed workload identity, tak jak w oficjalnych SDK. GoModel loguje ostrzeżenie, gdy ustawiono oba. Przy migracji usuń <PROVIDER>_API_KEY.
  • Dostawca z pliku konfiguracji z workload_identity nie przejmuje samego <PROVIDER>_API_KEY ze środowiska, chyba że jego nazwa to nazwa typu.
  • Brak wymaganego pola albo workload_identity przy innym typie dostawcy powoduje, że ten dostawca się nie uruchamia, a log wskazuje pole.
  • Workload identity konfiguruje się w config.yaml lub zmiennymi środowiskowymi. W edytorze dostawców w dashboardzie nie jest jeszcze dostępne.
Ostatnia modyfikacja 25 października 2026