패스잇
보안 · 심화

OpenID Connect는 OAuth 2.0 위에 아이덴티티 레이어를 추가하여 사용자 인증을 제공합니다. 표준 스코프(profile, email 등) 외에, 특정 비즈니스 요구사항을 만족시키기 위해 커스텀 스코프(Custom Scope)와 클레임(Custom Claim)을 정의하여 사용할 수 있습니다. 커스텀 스코프와 클레임을 설계하고 구현할 때 고려해야 할 보안 및 상호 운용성(Interoperability) 측면의 주요 사항들을 설명하고, 이를 통해 얻을 수 있는 이점과 발생할 수 있는 문제점을 제시해 주십시오.

힌트 · 커스텀 클레임은 ID 토큰에 추가 정보를 담아 전달하지만, 너무 많은 정보를 담으면 토큰 크기가 커지고 보안 리스크가 증가할 수 있습니다. 상호 운용성을 위해 표준 스펙을 준수하고, 클레임 충돌을 피해야 합니다.

최소 권한 원칙클레임 정보 보호토큰 유효성 검증메타데이터 공개상호 운용성 테스트

모범답안

OpenID Connect에서 커스텀 스코프와 클레임을 설계할 때 보안과 상호 운용성을 고려해야 합니다.

보안 측면에서는 최소 권한 원칙을 지켜 필요한 정보만 요청하고, 클레임에 민감한 정보가 담기지 않도록 주의해야 합니다. 토큰 크기가 커지지 않도록 클레임 크기를 제한하고, 유효성 검증을 철저히 해야 합니다.

상호 운용성을 위해서는 표준 스펙을 준수하고, 이미 정의된 클레임과 충돌하지 않도록 네이밍 규칙을 정해야 합니다. OIDC Provider의 메타데이터를 통해 커스텀 스코프와 클레임을 공개하고, 다양한 클라이언트와의 상호 운용성 테스트를 수행해야 합니다.

이러한 설계를 통해 비즈니스 요구사항을 충족하는 동시에 보안을 강화하고, 다양한 환경에서 원활하게 동작하는 시스템을 구축할 수 있습니다. 하지만 커스텀 스코프와 클레임이 많아질수록 복잡도가 증가하고, 관리가 어려워질 수 있다는 점을 고려해야 합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 인증 / 인가 (JWT · OAuth) 면접 질문

← 인증 / 인가 (JWT · OAuth) 면접 질문 전체 보기