문서/SSO 구성/Azure AD (OIDC)

Azure AD (OIDC) 설정

OpenID Connect를 사용하여 Microsoft Entra ID(Azure AD)로 통합 로그인을 구성하는 단계별 가이드입니다.

사전 요구 사항

  • 관리자 액세스 권한이 있는 Azure AD 테넌트
  • SecureCodingHub 조직 관리자 계정
  • SecureCodingHub에서 검증된 조직 도메인

1단계 — Azure AD에 애플리케이션 등록

1

Azure PortalMicrosoft Entra IDApp registrationsNew registration으로 이동

2

이름: SecureCodingHub SSO

3

지원되는 계정 유형: Accounts in this organizational directory only

4

Redirect URI: Web → https://api.limeplate.com/api/sch/auth/sso/callback/oidc

5

Register 클릭

2단계 — 클라이언트 시크릿 생성

1

Certificates & secretsNew client secret으로 이동

2

설명: SecureCodingHub

3

만료: 정책 선택 (권장: 24개월)

4

시크릿 값을 즉시 복사하세요 — 한 번만 표시됩니다

3단계 — ID 기록

Azure AD 애플리케이션에서 다음 값을 수집하세요. 다음 단계에서 필요합니다.

설정찾을 위치
Application (Client) IDOverview 페이지
Directory (Tenant) IDOverview 페이지
Client SecretCertificates & secrets
Discovery URLhttps://login.microsoftonline.com/{tenant-id}/v2.0/.well-known/openid-configuration

4단계 — SecureCodingHub에서 SSO 구성

1

조직 관리자로 로그인 → SSO 설정

2

프로토콜: OIDC

3

Entity ID / Client ID: Application ID 붙여넣기

4

Discovery / Metadata URL: OpenID 구성 URL 붙여넣기

5

Client Secret: 시크릿 붙여넣기

6

SSO 활성화

7

저장 클릭

app.securecodinghub.com/organization/sso
통합 로그인
신원 공급자를 통해 학습자를 인증합니다.
OIDC
OpenID Connect — 권장
SAML
SAML 2.0 페더레이션
a1b2c3d4-e5f6-7890-abcd-ef1234567890
https://login.microsoftonline.com/{tenantId}/v2.0/.well-known/openid-configuration
••••••••••••••••
SSO 활성화됨

5단계 — 테스트

1

익명/비공개 브라우저 창 열기

2

SecureCodingHub 로그인으로 이동

3

조직의 도메인이 있는 이메일 주소 입력

4

Microsoft 로그인으로 리다이렉트되어야 함

5

인증 후 SecureCodingHub에 로그인되어야 함

보안: Client Secret을 안전하게 보관하세요. 침해된 경우 Azure Portal에서 즉시 회전하고 SecureCodingHub에서 값을 업데이트하세요.

일반적인 Azure AD SAML 함정

OIDC 대신 SAML이 Azure AD와 함께 사용될 때, 세 가지 실패 모드가 대부분의 운영 사고의 원인입니다. 첫 번째는 일치하지 않는 엔티티 ID입니다. Azure AD는 SSO 블레이드의 Identifier 필드에 모든 문자열을 허용하지만, SecureCodingHub에 구성된 SP Entity ID와 정확히 일치하지 않으면 SAML 응답이 audience restriction 오류로 거부됩니다. SecureCodingHub SSO 설정 페이지에서 직접 식별자를 복사하고 입력하지 마세요. 끝에 슬래시와 프로토콜 불일치(http 대 https)는 일반적인 조용한 실패입니다.

두 번째 함정은 claim issuer URI 불일치입니다. Azure AD는 게시하는 페더레이션 메타데이터 URL로 어설션에 서명하며, SecureCodingHub는 SAML 응답의 발급자가 메타데이터의 발급자와 일치하는지 검증합니다. 테넌트를 교체하거나, 인증서를 재생성하거나, 다른 애플리케이션에서 메타데이터 URL을 복사하면 발급자가 분기되고 모든 로그인이 잘못된 서명 오류로 실패합니다. 세 번째 함정은 그룹 클레임 크기입니다. Azure AD는 어설션이 최대 페이로드를 초과할 때 그룹 클레임을 잘라내고 그룹을 graph 엔드포인트 참조로 교체합니다. 다운스트림 역할 매핑을 위해 그룹 클레임에 의존하는 경우, 사용자가 속한 모든 그룹이 아니라 애플리케이션에 할당된 그룹만 방출하도록 Azure AD를 구성하세요.

SSO가 종단 간 작동하는지 확인하는 방법

종단 간 확인에는 세 단계가 있습니다. 첫째, 익명 창을 열고 SecureCodingHub 로그인 페이지에서 기업 이메일 주소를 사용하여 로그인을 시작합니다. 브라우저는 login.microsoftonline.com으로 리다이렉트하고, Microsoft 로그인 경험을 제시한 다음, SecureCodingHub로 다시 리다이렉트해야 합니다. 다시 리다이렉트가 실패하면 실패 순간의 URL 바를 캡처하세요. 쿼리 문자열의 오류 코드가 가장 유용한 증거입니다.

둘째, 사용자가 올바른 조직 및 대시보드에 도착하는지 확인하세요. 빈 홈 페이지 또는 잘못된 조직 리다이렉트가 있는 성공적인 로그인은 일반적으로 누락된 조직 도메인 매핑을 가리킵니다. 셋째, 로그아웃하고, 다시 로그인하고, 두 번째 로그인이 조용하거나 거의 조용한지 확인하세요. Microsoft 세션 쿠키는 두 번째 흐름을 거의 보이지 않게 만들어야 합니다. 두 로그인 모두 전체 재인증이 필요한 경우, IdP 애플리케이션이 통합 로그인 쿠키 재사용을 방지하는 세션 정책을 사용하고 있습니다. 공유 문제 해결 단계는 SAML 설정 가이드를 참조하세요.