prowler-api

Implement RLS, RBAC, and Celery task patterns for Prowler cloud APIs.

Updated Feb 18, 2026
One-click install
npx skills add https://github.com/vanhoangkha/cloud-security-audit --skill prowler-api-vanhoangkha
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: prowler-api
Source: https://github.com/vanhoangkha/cloud-security-audit/tree/main/multi-cloud/prowler/skills/prowler-api
Command: npx skills add https://github.com/vanhoangkha/cloud-security-audit --skill prowler-api-vanhoangkha

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

This Skill provides best practices and patterns for developing secure and robust APIs within the Prowler cloud security platform, focusing on tenant isolation, RBAC, and efficient task management.

Core Features & Use Cases

  • Tenant Isolation (RLS): Enforces strict data separation between tenants using Row-Level Security.
  • Role-Based Access Control (RBAC): Manages user permissions and access levels effectively.
  • Asynchronous Task Management: Utilizes Celery for background processing, including complex workflows and scheduled tasks.
  • Use Case: When developing a new API endpoint that modifies cloud provider configurations, this Skill ensures that the changes are correctly scoped to the user's tenant and that only authorized roles can perform the action, all while leveraging background tasks for long-running operations.

Quick Start

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

Frequently Asked Questions about prowler-api

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

FAQPage Schema
How do I implement Row-Level Security for tenant isolation in a Django API?

Multi-tenant API isolation prevents data leakage between tenants by enforcing Row-Level Security. It ensures every database query and API response is automatically scoped strictly to the user's assigned tenant.

What is the best way to manage user permissions using Role-Based Access Control in Django?

Role-Based Access Control (RBAC) manages user permissions by mapping roles to specific API operations. It restricts endpoint access so only authorized roles can execute actions like modifying cloud provider configurations.

How do I handle long-running operations asynchronously with Celery in a cloud security platform?

Asynchronous task management with Celery handles long-running operations by processing them in the background. It executes complex workflows and scheduled tasks securely without blocking the main API request cycle.

Does this approach support multi-database architectures with provider UID validation?

Yes, this secure API pattern approach supports multi-database architectures alongside provider UID validation. It ensures cloud provider configurations are correctly validated and routed across multiple database backends.

When do I need Row-Level Security versus Role-Based Access Control for my API endpoints?

You need Row-Level Security for tenant data isolation and Role-Based Access Control for permission management. RLS separates database rows by tenant, while RBAC restricts which user roles can perform specific API actions.

Why are my Celery tasks failing during complex cloud API workflows?

Celery tasks fail during complex cloud API workflows due to insecure task composition or improper provider UID validation. Implementing secure task structures ensures reliable asynchronous background processing and data integrity.