
인가 및 RBAC
역할 기반 접근 제어, 커스텀 가드, 데코레이터, 권한, 리소스 소유권
20 면접 질문·
Mid-Level
1RBAC(Role-Based Access Control)란 무엇입니까?
1
RBAC(Role-Based Access Control)란 무엇입니까?
답변
RBAC는 사용자의 역할에 따라 권한을 부여하는 접근 제어 시스템입니다. 각 사용자마다 권한을 개별적으로 관리하는 대신, RBAC는 권한을 역할(예: ADMIN, USER, MANAGER)로 그룹화하고 이러한 역할을 사용자에게 할당합니다. 이는 애플리케이션의 접근 관리를 단순화하며, 특히 NestJS에서 커스텀 가드와 메타데이터 데코레이터와 함께 유용합니다.
2인증과 인가의 차이는 무엇입니까?
2
인증과 인가의 차이는 무엇입니까?
답변
인증은 사용자의 신원(당신은 누구인가?)을 확인하며, 일반적으로 로그인/비밀번호나 JWT 토큰을 통해 이루어집니다. 인가는 사용자의 권한(당신은 무엇을 할 수 있는가?)을 확인하여 역할이나 권한에 따라 리소스 접근을 제어합니다. NestJS에서 인증은 흔히 JwtAuthGuard를 사용하고, 인가는 접근 권한을 확인하기 위해 RolesGuard 같은 커스텀 가드를 사용합니다.
3커스텀 가드를 만들 수 있는 NestJS 데코레이터는 무엇입니까?
3
커스텀 가드를 만들 수 있는 NestJS 데코레이터는 무엇입니까?
답변
NestJS에서 커스텀 가드를 만들려면 CanActivate 인터페이스를 구현하고 @Injectable()로 데코레이션된 클래스를 만들어야 합니다. 이 인터페이스는 boolean 또는 Promise를 반환하는 canActivate(context: ExecutionContext) 메서드를 요구합니다. 이후 가드는 @UseGuards()로 라우트에 적용할 수 있습니다. 이 아키텍처는 복잡한 검증을 수행하기 위해 가드에 의존성(서비스, 리포지토리)을 주입할 수 있게 합니다.
4
RBAC에서 'permission(권한)'은 무엇을 나타냅니까?
5
NestJS에서 가드를 controller에 연결하려면 어떻게 합니까?
+17 면접 질문
기타 Node.js / NestJS 면접 주제
Node.js 기초
Junior
20개 질문Node.js 코어 API
Junior
25개 질문비동기 프로그래밍
Junior
25개 질문Express.js 기초
Junior
20개 질문NestJS 기초
Junior
23개 질문REST API 설계
Junior
20개 질문검증과 DTO
Junior
20개 질문API 문서화 및 계약
Junior
20개 질문에러 처리
Junior
20개 질문단위 테스트
Junior
20개 질문작업 스케줄링
Junior
15개 질문NestJS 모듈과 DI
Mid-Level
20개 질문구성 및 환경 관리
Mid-Level
20개 질문JWT 인증
Mid-Level
25개 질문TypeORM을 사용한 데이터베이스
Mid-Level
30개 질문Prisma ORM
Mid-Level
25개 질문미들웨어와 인터셉터
Mid-Level
20개 질문파일 업로드
Mid-Level
15개 질문WebSockets
Mid-Level
20개 질문NestJS를 사용한 GraphQL
Mid-Level
25개 질문엔드투엔드 테스트
Mid-Level
20개 질문Redis를 사용한 캐싱
Mid-Level
20개 질문Bull을 사용한 큐
Mid-Level
20개 질문DevOps, Logging, CI/CD
Mid-Level
25개 질문Docker 및 컨테이너화
Mid-Level
25개 질문마이크로서비스
Senior
30개 질문보안 모범 사례
Senior
25개 질문성능 및 클라우드 배포
Senior
30개 질문