Konta zespołu — właściciele, cykl życia dostępu i warunki danych
Konta zespołowe w narzędziach AI do programowania to przede wszystkim kontrola tożsamości, a dopiero potem sposób płatności. Maksymalny wynik w pytaniu Q3 CTO Scorecard wymaga imiennych kont należących do organizacji, logowania technicznie przypiętego do niej, przetestowanych kontroli joiner/mover/leaver i comiesięcznego uzgodnienia licencji oraz kosztów. Sama firmowa faktura go nie daje.
Ta strona jest dla CTO lub VP Engineering, który odpowiada za wydatki na narzędzia AI, oraz dla tech leada, który prowadzi comiesięczny przegląd licencji. Typowy punkt wyjścia: dział finansów płaci za 60 licencji Claude i Codex, dostawca tożsamości (IdP) ma 52 aktywnych inżynierów, dwie osoby, które odeszły, wciąż mogą się zalogować, a trzy kolejne rozliczają prywatne plany jako wydatki służbowe, bo na firmowej licencji „skończył się limit”. Nikt nie potrafi powiedzieć, które z tych kont obejmują firmowe warunki przetwarzania danych.
Co dają zarządzane konta zespołu
Dział zatytułowany „Co dają zarządzane konta zespołu”- Macierz przydziału licencji, która przypisuje rolom i workflow typ licencji i klasę danych, więc nikt nie kupuje najwyższego planu „na wszelki wypadek”.
- Zarządzane ustawienia logowania dla Claude Code i Codex, które odrzucają prywatne konta i konta obcych organizacji na firmowych komputerach.
- Runbook joiner/mover/leaver z ćwiczeniem offboardingu, które zostawia dowody.
- Skrypt uzgadniający eksport z IdP z eksportem licencji każdego dostawcy, który kończy się błędem, gdy znajdzie licencję osieroconą albo należącą do osoby, która odeszła.
- Kryteria akceptacji, które zespół bezpieczeństwa i finanse mogą zatwierdzić bez ręcznego audytu każdego konta.
Który model kont daje punkt w Q3?
Dział zatytułowany „Który model kont daje punkt w Q3?”Scorecard CTO daje cztery odpowiedzi na pytanie „Jak zarządzacie kontami usług AI, cyklem życia dostępu, warunkami danych i kosztami?”. Tabela pokazuje, co każda z nich zostawia bez kontroli.
| Odpowiedź | Wynik | Co pozostaje bez kontroli |
|---|---|---|
| Deweloperzy płacą sami, bez zwrotu | 0 | Wszystko: warunki danych, dostęp, offboarding, koszt |
| Zwrot za prywatne faktury | 1 | Warunki danych i offboarding; konto należy do pracownika |
| Centralny zakup planów indywidualnych (Pro, Max) | 2 | Przypięcie tożsamości, SSO, audyt; firma płaci, ale nie może odebrać dostępu ani zajrzeć do konta |
| Centralnie zarządzane konta z właścicielami, kontrolą joiner/mover/leaver, przeglądem warunków danych i audytowalnym kosztem | 3 | Nic strukturalnego, pod warunkiem że kontrole opisane niżej są testowane |
Różnica między 2 a 3 to przypięcie tożsamości. Plan indywidualny opłacany przez firmę nadal jest kontem prywatnym. Nie odbierzesz go z poziomu IdP, a ustawienia danych na poziomie organizacji go nie obejmują. Plany zespołowe i enterprise istnieją właśnie po to, by tę lukę zamknąć. Wybór planu i poziomu to decyzja zakupowa opisana w zakupie narzędzi AI do programowania. Aktualne ceny planów są w jednym miejscu: w analizie kosztów.
Ustaw cykl życia konta w pięciu krokach
Dział zatytułowany „Ustaw cykl życia konta w pięciu krokach”-
Spisz macierz przydziału licencji. Wypisz każdą rolę, workflow, które wykonuje z agentami, i najwyższą klasę danych, z jaką ma kontakt. Typ licencji wyprowadzaj z danych o użyciu, nie ze stażu. Szablon w następnej sekcji to artefakt do przyjęcia.
-
Przejrzyj usługę przed pierwszą licencją. Dla każdego narzędzia i planu zapisz produkt, plan, kontrolę tożsamości (SSO, SCIM), retencję danych, użycie do trenowania, podprocesorów, region i właściciela umowy. Weryfikuj plan, nie markę. Anthropic wymienia na przykład SCIM, Compliance API i zero data retention (ZDR) jako funkcje planu Enterprise, a panel analityczny jako funkcję planów Team i Enterprise (strona dostępności funkcji Claude Code, sprawdzone 2026-09-26). Sam przegląd danych prowadzisz według strony prywatność danych i polityki firmowe.
-
Zakładaj imienne konta przez IdP. Używaj SSO wszędzie, gdzie plan to oferuje, SCIM tam, gdzie plan go obsługuje, MFA i żadnych współdzielonych danych logowania. Następnie przypnij narzędzia na firmowych komputerach do organizacji ustawieniami zarządzanymi (zob. Przypnij każde logowanie do organizacji). Bez tego deweloper zaloguje się kontem prywatnym, a opłacona licencja będzie leżeć bezczynnie.
-
Co miesiąc uzgadniaj dostęp i koszty. Porównaj eksport z IdP, eksport licencji każdego dostawcy, daty ostatniej aktywności i fakturę. Uruchom skrypt uzgadniający z tej strony i dołącz jego wynik do faktury.
-
Przeprowadź offboarding, a potem go udowodnij. Odbierz dostęp w IdP, usuń licencję u dostawcy, przekaż artefakty należące do tej osoby (współdzielone projekty, zaplanowane zadania, klucze API przypięte do niej), zrotuj dane uwierzytelniające, do których miała dostęp, i zachowaj zapis audytowy. Raz na kwartał przećwicz to na koncie testowym.
Szablon macierzy przydziału licencji
Dział zatytułowany „Szablon macierzy przydziału licencji”Skopiuj tę tabelę do polityki narzędziowej i wypełnij ją na podstawie realnych danych o użyciu. Nazwy licencji to przykłady z obecnych planów Claude i Codex. Anthropic opisuje licencję Team Premium jako dającą „5x more usage than standard seats” (claude.com/pricing, sprawdzone 2026-09-26), dlatego macierz przypisuje poziomy według obciążenia, a nie stanowiska.
| Rola | Zatwierdzone workflow z agentami | Najwyższa klasa danych | Narzędzie i typ licencji | Wymagane kontrole | Właściciel |
|---|---|---|---|---|---|
| Inżynier produktowy | Lokalne sesje agenta, review PR | Kod wewnętrzny | plan Claude Team, licencja Standard, albo Codex w workspace Business | SSO, zarządzane przypięcie logowania | Kierownik zespołu inżynierskiego (engineering manager) |
| Inżynier platformowy | Długie i równoległe przebiegi agentów, agenci w CI | Kod wewnętrzny, konfiguracja infrastruktury | plan Claude Team, licencja Premium (lub odpowiednik w Enterprise) | SSO, ustawienia zarządzane, osobna tożsamość w CI według strony tożsamość i sekrety agentów | Lider platformy |
| Inżynier danych | Sesje agenta na schematach hurtowni | Poufne | Wyłącznie plan Enterprise z ustawieniem retencji wymaganym przez przegląd danych | SSO, SCIM, przejrzana retencja, minimalne uprawnienia MCP | Lider zespołu danych |
| Kontraktor | Sesje agenta w jednym repozytorium | Kod wewnętrzny | Licencja w twoim workspace, nigdy jego własne konto | SSO, data końca w IdP, brak kluczy API | Właściciel umowy |
Przypnij każde logowanie do organizacji
Dział zatytułowany „Przypnij każde logowanie do organizacji”Zakup licencji zespołowych nie powstrzyma dewelopera przed zalogowaniem się prywatnym kontem na tym samym laptopie. Rozwiązaniem jest ustawienie zarządzane, które odrzuca każde logowanie spoza organizacji. Pełna polityka dla wszystkich narzędzi (modele, serwery MCP, pluginy, minimalny poziom uprawnień) jest na stronie jedna polityka dla wszystkich agentów. Ta sekcja dotyczy wyłącznie przypięcia kont.
Wdróż te klucze przez źródło zarządzane na urządzeniu: managed-settings.json (w Linuksie i WSL /etc/claude-code/managed-settings.json), profil konfiguracyjny macOS albo rejestr zasad Windows.
{ "forceLoginMethod": "claudeai", "forceLoginOrgUUID": "YOUR_ORG_UUID"}YOUR_ORG_UUID to identyfikator organizacji widoczny w ustawieniach administracyjnych claude.ai dla organizacji Team lub Enterprise. Gdy klucze są w źródle zarządzanym, Claude Code zgłasza błąd przy logowaniu claude.ai do innej organizacji i kończy działanie przy starcie, jeśli używane poświadczenie należy do organizacji spoza listy. Blokuje też sesje uwierzytelniane przez ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN lub apiKeyHelper, bo dla poświadczenia ze środowiska nie da się sprawdzić przynależności do organizacji.
Cztery luki, o których musisz wiedzieć (dokumentacja uwierzytelniania Claude Code, sprawdzone 2026-09-26 dla v2.1.283):
- Ustawienia zarządzane z serwera (konsola claude.ai) docierają tylko do kont już zalogowanych do organizacji, więc nie przekierują pierwszego logowania. Umieść klucze w źródle na urządzeniu, a jeśli używasz ustawień z serwera, także tam, bo źródła zarządzane się nie scalają.
- Interaktywny ekran
/logintylko wstępnie wybiera metodę, nie wymusza jej, więc deweloper nadal może tam dokończyć logowanie przez Claude Console, a Claude Code nie sprawdza, do której organizacji należy poświadczenie Console, ani przy logowaniu, ani przy starcie. Połącz przypięcie z kontrolami workspace w Console albo odbierz deweloperom dostęp do Console. claude setup-tokeni/install-github-appwymuszają tylkoforceLoginMethod, więc mogą wygenerować token w innej organizacji.- Sesje dostawców chmurowych (Amazon Bedrock i inni) oraz poświadczenia profilu lub federacji Anthropic nie są sprawdzane pod kątem organizacji; są blokowane tylko wtedy, gdy na komputerze jest też poświadczenie w postaci klucza API. Ogranicz je przez IAM w chmurze i dostawcę tożsamości.
Umieść ograniczenia w systemowym requirements.toml albo dostarcz je przez MDM. Nie wpisuj ich do config.toml, który trzyma ustawienia domyślne użytkownika, a nie ograniczenia.
allowed_login_methods = ["chatgpt"]allowed_chatgpt_workspaces = ["YOUR_WORKSPACE_ID"]allowed_login_methods przyjmuje chatgpt i api. Dopuszczenie tylko chatgpt uniemożliwia uruchamianie Codex na prywatnym kluczu API, a allowed_chatgpt_workspaces ogranicza logowanie ChatGPT do wymienionych identyfikatorów workspace. Oba klucze pochodzą z codex-rs/config/src/config_requirements.rs w repozytorium Codex, sprawdzone 2026-09-26 dla Codex CLI 0.157.1. Codex jest w planach ChatGPT Plus, Pro, Business, Edu i Enterprise, więc deweloper z prywatnym planem Plus może go używać, dopóki to ograniczenie nie działa.
Aby sprawdzić to na konkretnym komputerze, otwórz TUI Codex i uruchom /debug-config, które pokazuje warstwy konfiguracji i źródło każdego wymagania.
Cursor zarządza członkostwem w zespole i ustawieniami z panelu administratora. Strona cursor.com była 2026-09-26 niedostępna ze środowiska, w którym sprawdzano tę stronę, więc żadna nazwa ustawienia Cursor nie pojawia się tu jako fakt. Cursor SDK 1.0.32 wymienia team i mdm wśród źródeł ustawień, co potwierdza, że istnieją ustawienia na poziomie zespołu i dostarczane przez MDM.
Zamknij te pytania w aktualnej dokumentacji administracyjnej Cursor i zapisz odpowiedzi z datą:
- Czy logowanie na firmowych komputerach da się ograniczyć do twojego zespołu i jakim mechanizmem?
- Czy twój plan obejmuje SSO i SCIM oraz czy usunięcie użytkownika w IdP usuwa licencję Cursor?
- Które ustawienie prywatności obowiązuje członków zespołu i czy mogą je zmienić?
- Jaki raport użycia i kosztów jest dostępny per użytkownik i w jakim formacie można go wyeksportować?
Część przeglądu dotyczącą danych opisuje strona prywatność i bezpieczeństwo w Cursor.
Co miesiąc uzgadniaj licencje z IdP
Dział zatytułowany „Co miesiąc uzgadniaj licencje z IdP”Eksporty licencji i faktury rozjeżdżają się z IdP w ciągu kilku tygodni: osoby, które odeszły, zachowują licencje, kontraktorzy zachowują dostęp po zakończeniu umowy, a po zmianie nazwiska ktoś dostaje drugą licencję w tym samym narzędziu. Poniższy skrypt porównuje jeden eksport z IdP z dowolną liczbą eksportów licencji i kończy się kodem różnym od zera, gdy znajdzie licencję osieroconą lub należącą do osoby, która odeszła. Możesz więc uruchamiać go jako zaplanowane zadanie CI. Skrypt dopasowuje osoby po adresie e-mail, więc zmiana nazwiska, która zmienia adres, pojawi się jako ORPHANED dla starego adresu; zanim usuniesz taką licencję, sprawdź historię aliasów w IdP.
#!/usr/bin/env python3"""Reconcile AI tool seats against the identity provider export.
Usage: python3 reconcile_seats.py idp.csv seats-claude.csv seats-codex.csv ...idp.csv: email,status,cost_center (status: active | suspended | terminated)seats-*: email,seat_type,last_active (last_active: YYYY-MM-DD, empty if never)"""import csv, sysfrom datetime import date, timedelta
STALE_AFTER = timedelta(days=30)
def rows(path): with open(path, newline="") as f: return [{k: (v or "").strip() for k, v in r.items()} for r in csv.DictReader(f)]
idp = {r["email"].lower(): r for r in rows(sys.argv[1])}findings, seen = [], {}for path in sys.argv[2:]: for seat in rows(path): email = seat["email"].lower() person = idp.get(email) seen.setdefault(email, []).append(path) if person is None: findings.append((path, email, "ORPHANED: no identity in the IdP export")) elif person["status"] != "active": findings.append((path, email, f"LEAVER: IdP status is {person['status']}")) elif not person.get("cost_center"): findings.append((path, email, "UNOWNED: no cost center")) last = seat.get("last_active") try: seen_on = date.fromisoformat(last[:10]) if last else None except ValueError: findings.append((path, email, f"BADDATE: last_active is {last!r}")) continue if seen_on is None or date.today() - seen_on > STALE_AFTER: findings.append((path, email, f"IDLE: last active {last or 'never'}"))for email, paths in seen.items(): if len(paths) != len(set(paths)): findings.append((paths[0], email, "DUPLICATE: two seats in one tool"))
w = csv.writer(sys.stdout)w.writerow(["source", "email", "finding"])w.writerows(sorted(findings))sys.exit(1 if any(f[2].startswith(("ORPHANED", "LEAVER")) for f in findings) else 0)Eksporty dostawców mają własne nazwy kolumn, więc przed uruchomieniem zmień je na email, seat_type i last_active. Skrypt czyta pierwsze dziesięć znaków last_active jako datę RRRR-MM-DD, więc znacznik czasu ISO, np. 2026-09-01T10:00:00Z, zadziała; każdy inny format daty sprowadź do RRRR-MM-DD, inaczej wiersz trafi do wyniku jako BADDATE. Skąd wziąć dane, według dokumentacji z 2026-09-26:
- Claude Team i Enterprise:
emailweź z listy członków organizacji w ustawieniach administracyjnych claude.ai, a aktywność z panelu analitycznego Claude Code (claude.ai/analytics/claude-code), który pokazuje dzienną liczbę aktywnych użytkowników i eksportuje dane per użytkownik do CSV; sprawdź, czy eksport zawiera datę, którą da się przypisać dolast_active. Raport wydatków w ustawieniach analityki organizacji służy tylko jako źródło kosztów: pojawia się dopiero po włączeniu kredytów użycia (usage credits) i nie mierzy użycia w ramach limitu licencji. W planie Enterprise Claude Enterprise Analytics API zwraca raporty zaangażowania, użycia i kosztów per użytkownik; w planie Team to API nie jest dostępne. - Claude Console (rozliczenie przez API): tabela team insights pokazuje miesięczny koszt per użytkownik, a Claude Code Analytics API zwraca te same dzienne metryki per użytkownik po uwierzytelnieniu kluczem Admin API. Anthropic zaznacza, że kwoty w panelu są szacunkowe; faktyczne koszty są na stronie rozliczeń.
- Codex i Cursor: użyj eksportu członków i użycia z panelu administratora workspace. Formatu żadnego z tych eksportów nie dało się tu zweryfikować, więc przed zaplanowaniem zadania sprawdź nazwy kolumn na prawdziwym eksporcie.
IDLE traktuj jako powód do rozmowy, nie do anulowania. Licencja nieużywana od 30 dni może należeć do kogoś na urlopie. ORPHANED i LEAVER traktuj jako incydenty: usuń licencję tego samego dnia i zapisz, dlaczego IdP tego nie wychwycił. Jako punkt odniesienia dla budżetu: według Anthropic średni koszt we wdrożeniach firmowych to „around $13 per developer per active day and $150-250 per developer per month” (strona kosztów Claude Code, sprawdzone 2026-09-26). Przypisywanie kosztów do zespołów i wyników opisuje strona zarządzanie kosztami użycia AI.
Prompty do zarządzania kontami
Dział zatytułowany „Prompty do zarządzania kontami”Uruchom je w Claude Code, Codex lub Cursor z eksportami w katalogu roboczym. We wszystkich trzech narzędziach działają tak samo. Dane osobowe przetwarzaj wyłącznie w narzędziach zatwierdzonych w przeglądzie danych.
Jak udowodnić, że kontrole kont działają?
Dział zatytułowany „Jak udowodnić, że kontrole kont działają?”Nie musisz otwierać każdego konta. Potrzebujesz dowodów, które dają wyraźny sygnał, gdy kontrola przestaje działać, i imiennej osoby, która je zatwierdza.
| Kontrola | Dowód | Warunek zaliczenia | Zatwierdza |
|---|---|---|---|
| Właściciel licencji | Comiesięczny wynik uzgodnienia dołączony do faktury | Zero wierszy ORPHANED i LEAVER albo każdy zamknięty zgłoszeniem | Kontroler finansowy odpowiedzialny za inżynierię |
| Przypięcie logowania | Próba logowania prywatnym kontem na zarządzanym komputerze | Narzędzie ją odrzuca, a odrzucenie jest zapisane | Lider bezpieczeństwa |
| Offboarding | Kwartalne ćwiczenie na koncie testowym | Pierwsze nieudane logowanie w docelowym czasie od zawieszenia w IdP | Właściciel IT lub tożsamości |
| Warunki danych | Datowany rekord usługi dla każdego narzędzia i planu | Konfiguracja konta zgadza się z zatwierdzonym rekordem | Właściciel ochrony danych |
| Wyjątki | Rejestr wyjątków | Każdy prywatny plan ma właściciela, zakres i niewygasłą datę końca | CTO |
Dwie zasady sprawiają, że ten proces jest wiarygodny. Po pierwsze, przegląd kosztów patrzy na nieużywane licencje i ukończoną pracę. Nigdy nie układa rankingu pracowników według aktywności, bo ranking zużycia tokenów nagradza marnotrawstwo. Po drugie, dowody leżą tam, gdzie audytor może je przeczytać: pliki CSV z uzgodnień, zapisy ćwiczeń i rekordy usług trafiają do wersjonowanego repozytorium lub zgłoszenia, a nie do wątku na czacie.
Co psuje się w zarządzaniu kontami AI zespołu?
Dział zatytułowany „Co psuje się w zarządzaniu kontami AI zespołu?”Centralna faktura, niezarządzany dostęp. Finanse płacą za licencje, a deweloperzy dalej logują się prywatnymi kontami. Uzgodnienie pokazuje licencje bez aktywności przy wysokim użyciu. Naprawa: wdróż zarządzane przypięcie logowania z zakładek powyżej, a potem sprawdź logowaniem prywatnym kontem, że zostaje odrzucone.
IdP nie jest źródłem prawdy. Licencje dodano ręcznie w konsoli dostawcy, więc usunięcie przez SCIM lub SSO ich nie obejmuje. Pierwsze uzgodnienie pokazuje wiersze ORPHANED. Naprawa: usuń osierocone licencje, ogranicz przydzielanie licencji do grup w IdP tam, gdzie plan na to pozwala, i ustaw zadanie uzgadniające tak, by każda nowa osierocona licencja przerywała build.
Tokeny działają dłużej niż zatrudnienie. Licencji już nie ma, ale klucz API, token o długim okresie ważności z claude setup-token albo sekret CI założony przez tę osobę nadal działa. Naprawa: dodaj inwentaryzację poświadczeń do runbooka offboardingu, zrotuj wszystko, co ta osoba mogła odczytać, i przenieś agentów CI na własne tożsamości, jak opisuje strona tożsamość i sekrety agentów.
Limity użycia wypychają ludzi z powrotem na prywatne plany. Deweloperzy na niższej licencji trafiają na limit i rozliczają prywatny plan, co znów otwiera lukę w warunkach danych. Naprawa: przenieś te osoby na wyższą licencję przez macierz przydziału licencji, a każdy wniosek o zwrot za plan AI traktuj jako sygnał do przeglądu macierzy, nie jako koszt do zwrotu.
Warunki danych przejrzane raz i nigdy więcej. Zmiana planu, nowy model lub nowa funkcja zmieniają retencję. Anthropic klasyfikuje na przykład Claude Fable 5.1 jako Covered Model, który domyślnie wymaga retencji danych, co ma znaczenie dla organizacji z ZDR. Naprawa: przeglądaj rekord usługi przy każdej zmianie planu, domyślnego modelu lub funkcji dotyczącej danych i opatrz każdy rekord datą.
Dokąd dalej z kontami narzędzi AI
Dział zatytułowany „Dokąd dalej z kontami narzędzi AI”Zarządzanie kontami leży między decyzją o zatwierdzonych workflow a modelem kosztów. Zacznij od polityki, potem zajmij się wydatkami.