Toolverse
Wszystkie skille

prowler-api

autor: prowler-cloud

Wzorce API Prowlera: izolacja dzierżawców, kontrola dostępu i zarządzanie dostawcami

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend

O skillu

Skill dla programistów pracujących z API Prowlera. Zawiera gotowe wzorce dla Row-Level Security (RLS), kontroli dostępu opartej na rolach (RBAC), cyklu życia dostawców i zadań Celery'ego. Automatycznie aktywuje się przy tworzeniu lub modyfikacji modeli, serializerów, widoków i filtrów w kontekście izolacji dzierżawców. Obejmuje architekturę czterech baz danych i reguły bezpieczeństwa dla zapytań poza kontekstem ViewSet.

Jak używać

  1. Zainstaluj skill w swoim projekcie Prowlera, umieszczając go w katalogu skills/prowler-api. Skill automatycznie się aktywuje podczas tworzenia lub modyfikacji plików w folderze api/ dotyczących modeli, serializerów i widoków.

  2. Przy pracy z izolacją dzierżawców (RLS) zawsze używaj funkcji rls_transaction(tenant_id) w kodzie poza kontekstem ViewSet. Funkcja akceptuje zarówno obiekty UUID, jak i stringi, konwertując je wewnętrznie.

  3. Przed sprawdzeniem uprawnień użytkownika wywołaj get_role(), która zwraca pierwszą rolę użytkownika. Wykorzystaj wynik do implementacji kontroli dostępu opartej na rolach (RBAC).

  4. Przy dekorowaniu funkcji obsługujących cykl życia dostawcy stosuj dekoratory w kolejności: @set_tenant, a następnie @handle_provider_deletion. Kolejność jest krytyczna dla poprawnego działania.

  5. W relacjach wiele-do-wielu (M2M) zawsze używaj jawnych modeli through z polem tenant_id zamiast domyślnego mechanizmu Django. RLS wymaga tej struktury do prawidłowej izolacji danych.

  6. Nigdy nie omijaj RLS poprzez surowe zapytania SQL lub connection.cursor(). Zawsze korzystaj z ORM Djangu z odpowiednim kontekstem bazy danych (default dla standardowych zapytań, replica dla operacji tylko do odczytu).

Podobne skille