
認可と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問