prowler-api

Enforce Row-Level Security and Role-Based Access Control for Prowler API development.

Updated Mar 8, 2026
One-click install
npx skills add https://github.com/brivaro/brivaro-ai-wizard --skill prowler-api-brivaro
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: prowler-api
Source: https://github.com/brivaro/brivaro-ai-wizard/tree/main/skills/prowler-api
Command: npx skills add https://github.com/brivaro/brivaro-ai-wizard --skill prowler-api-brivaro

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

This Skill provides a robust framework for managing cloud security data, focusing on tenant isolation, role-based access control, and secure data handling within the Prowler ecosystem.

Core Features & Use Cases

  • Tenant Isolation (RLS): Ensures data is strictly segregated per tenant, preventing cross-tenant data leakage.
  • Role-Based Access Control (RBAC): Manages user permissions and access levels based on defined roles.
  • Secure Data Handling: Implements patterns for secure API operations, Celery tasks, and database interactions.
  • Use Case: When developing new API endpoints for managing cloud provider configurations, use this Skill to ensure that each tenant can only access and modify their own provider data, and that only users with the appropriate roles can perform sensitive operations.

Quick Start

Use the prowler-api skill to implement Row-Level Security for a new Django model by inheriting from RowLevelSecurityProtectedModel.

Frequently Asked Questions about prowler-api

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce row-level security for tenant isolation in a Django API?

To enforce row-level security for tenant isolation in a Django API, inherit your models from `RowLevelSecurityProtectedModel` and use the `@set_tenant` decorator to ensure strict data segregation per tenant and prevent cross-tenant data leakage.

How does role-based access control work with Celery tasks in Django?

Role-based access control secures Celery tasks by applying context-aware security patterns and specific decorators like `@handle_provider_deletion`, ensuring only users with appropriate roles can perform sensitive asynchronous operations.

What is the best way to manage cloud provider lifecycle deletion securely in Django?

The best way to manage cloud provider lifecycle deletion securely is to apply the `@handle_provider_deletion` decorator, which enforces role-based access control and ensures safe, context-aware operations during provider removal.

Can I use Django's 4-database architecture to isolate multi-tenant cloud security data?

Yes, you can use a 4-database architecture to isolate multi-tenant cloud security data. This setup supports strict row-level security and tenant isolation, preventing cross-tenant data leakage across your provider configurations.

Why does cross-tenant data leakage occur in cloud security APIs and how can I prevent it?

Cross-tenant data leakage occurs when API endpoints lack strict context-aware tenant boundaries. Prevent it by inheriting from `RowLevelSecurityProtectedModel` and utilizing the `@set_tenant` decorator for secure operations.

Do I need specific decorators to secure API endpoints for cloud provider configurations?

Yes, you need specific decorators like `@set_tenant` and `@handle_provider_deletion` to secure API endpoints for cloud provider configurations, ensuring tenants only access and modify their own provider data.