# Autorização e RBAC (Node.js / NestJS) > Controle de acesso baseado em roles, guards personalizados, decorators, permissões, propriedade de recursos - 20 perguntas de entrevista - Mid-Level - [Perguntas de entrevista: Node.js / NestJS](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista.md) ## 1. O que é RBAC (Role-Based Access Control)? **Resposta** RBAC é um sistema de controle de acesso que concede permissões aos usuários com base em seus roles. Em vez de gerenciar as permissões individualmente para cada usuário, o RBAC agrupa as permissões em roles (ex: ADMIN, USER, MANAGER) e atribui esses roles aos usuários. Isso simplifica o gerenciamento de acessos nas aplicações, especialmente útil no NestJS com guards personalizados e decorators de metadados. ## 2. Qual é a diferença entre autenticação e autorização? **Resposta** A autenticação verifica a identidade do usuário (quem é você?), geralmente via login/senha ou token JWT. A autorização verifica as permissões do usuário (o que você pode fazer?), controlando o acesso aos recursos com base nos roles ou permissões. No NestJS, a autenticação costuma usar um JwtAuthGuard, enquanto a autorização usa guards personalizados como RolesGuard para verificar os direitos de acesso. ## 3. Qual decorator NestJS permite criar um guard personalizado? **Resposta** Para criar um guard personalizado no NestJS, é preciso criar uma classe decorada com @Injectable() que implementa a interface CanActivate. Essa interface exige o método canActivate(context: ExecutionContext) que retorna um boolean ou uma Promise. O guard pode então ser aplicado às rotas com @UseGuards(). Essa arquitetura permite injetar dependências (services, repositories) no guard para realizar validações complexas. ## Mais 17 perguntas disponiveis - No RBAC, o que representa uma 'permissão'? - Como vincular um guard a um controller no NestJS? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista Node.js / NestJS - [Fundamentos do Node.js](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/nodejs-fundamentals.md): 20 perguntas, Junior - [APIs Core do Node.js](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/nodejs-core-apis.md): 25 perguntas, Junior - [Programação assíncrona](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/asynchronous-programming.md): 25 perguntas, Junior - [Fundamentos do Express.js](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/express-basics.md): 20 perguntas, Junior - [Fundamentos do NestJS](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/nestjs-fundamentals.md): 23 perguntas, Junior - [Design de API REST](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/rest-api-design.md): 20 perguntas, Junior - [Validação e DTO](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/validation-dto.md): 20 perguntas, Junior - [Documentação de API e contratos](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/api-documentation.md): 20 perguntas, Junior - [Tratamento de erros](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/error-handling.md): 20 perguntas, Junior - [Testes unitários](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/testing-unit.md): 20 perguntas, Junior - [Agendamento de tarefas](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/scheduling-cron.md): 15 perguntas, Junior - [Módulos e DI do NestJS](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/nestjs-modules-di.md): 20 perguntas, Mid-Level - [Configuração e gerenciamento de ambientes](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/configuration-environment.md): 20 perguntas, Mid-Level - [Autenticação JWT](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/authentication-jwt.md): 25 perguntas, Mid-Level - [Banco de dados com TypeORM](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/database-typeorm.md): 30 perguntas, Mid-Level - [Prisma ORM](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/prisma-orm.md): 25 perguntas, Mid-Level - [Middleware e Interceptors](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/middleware-interceptors.md): 20 perguntas, Mid-Level - [Upload de arquivos](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/file-upload.md): 15 perguntas, Mid-Level - [WebSockets](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/websockets.md): 20 perguntas, Mid-Level - [GraphQL com NestJS](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/graphql-basics.md): 25 perguntas, Mid-Level - [Testes end-to-end](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/testing-e2e.md): 20 perguntas, Mid-Level - [Cache com Redis](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/caching-redis.md): 20 perguntas, Mid-Level - [Filas com Bull](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/queues-bull.md): 20 perguntas, Mid-Level - [DevOps, Logging e CI/CD](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/logging-monitoring.md): 25 perguntas, Mid-Level - [Docker e Conteinerização](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/docker-containerization.md): 25 perguntas, Mid-Level - [Microservices](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/microservices.md): 30 perguntas, Senior - [Melhores práticas de segurança](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/security-best-practices.md): 25 perguntas, Senior - [Desempenho e implantação na nuvem](https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/performance-optimization.md): 30 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/node-nestjs/perguntas-entrevista/authorization-rbac