DODATEK · HWARSTW UPRAWNIEŃ · 2EXT OF · Rozdział 7
Dodatek H / Głębiej: Publikacja

Bezpieczeństwo i uprawnienia: kto może opublikować finalną wersję

Nie każdy artysta powinien móc nadpisać wersję, którą ogląda klient — gate'y zatwierdzeń i uprawnienia na poziomie zadania, nie tylko pliku.

TL;DR

Rozdział 7 wprowadził rozróżnienie między publikacją a zatwierdzeniem, ale zostawił otwarte pytanie: kto dokładnie ma prawo to zatwierdzenie nadać? Ten dodatek pokazuje, że odpowiedź nie leży w jednym miejscu — pipeline pilnuje uprawnień na dwóch, niezależnych od siebie warstwach jednocześnie.

Etap: Dwie niezależne warstwy uprawnień

Kto może zapisać plik, kto może zmienić status

Pierwsza warstwa to uprawnienia Perforce (Rozdział 6) — tabela protections mówiąca, kto ma prawo odczytu, zapisu czy submitu w danej ścieżce depota. Druga, całkowicie osobna warstwa to role w systemie śledzenia (Rozdział 8) — kto może zmienić status Version na approved, kto może w ogóle utworzyć nowy Task, kto widzi dane finansowe projektu. Te dwie warstwy nie są ze sobą automatycznie zsynchronizowane, bo to dwa różne systemy, zarządzane często przez różne osoby. Praktyczna konsekwencja: usunięcie kogoś z projektu w systemie śledzenia nie odbiera mu automatycznie prawa zapisu w Perforce, jeśli nikt jawnie nie zaktualizuje drugiej warstwy — to jedna z najczęstszych, cichych luk, jakie audyt bezpieczeństwa pipeline'u znajduje w praktyce.

Etap: Role w praktyce

Kto może co

Rola Publish WIP Zatwierdź Zmień schemat
Artystataknienie
Supervisortaktaknie
Pipeline TD / admintaktaktak

To uproszczony przykład — realny schemat ról bywa bardziej ziarnisty, np. osobne uprawnienie do zatwierdzania tylko we własnym dziale. Zasada pozostaje ta sama: uprawnienie do publikacji roboczej wersji jest szerokie i powszechne, uprawnienie do nadania jej statusu ostatecznego jest wąskie i jawnie przypisane.

Etap: Zatwierdzenie jako bramka, nie etykieta

Egzekwowane przez narzędzie, nie tylko przez umowę

W słabo zaprojektowanym pipeline „zatwierdzenie" to tylko konwencja — pole statusu, które teoretycznie zmienia tylko supervisor, ale technicznie może zmienić każdy, kto ma dostęp do interfejsu. Dojrzały pipeline sprawdza rolę użytkownika bezpośrednio w narzędziu, zanim pozwoli na zmianę statusu na approved, i zapisuje w logu, kto i kiedy tej zmiany dokonał — odpowiedź na to samo pytanie o odpowiedzialność, które otworzyło Rozdział 1. Bliżej końca produkcji, tuż przed dostawą materiału, uprawnienia bywają dodatkowo zaostrzane — analogicznie do zamrażania wersji narzędzi z Rozdziału 9 — żeby nikt, nawet w dobrej wierze, nie nadpisał wersji, którą właśnie ogląda klient.