1.3. 지원되는 프로토콜
Red Hat Single Sign-On은 OpenID Connect 및 SAML 프로토콜을 모두 지원합니다.
1.3.1. OpenID Connect 링크 복사링크가 클립보드에 복사되었습니다!
OIDC( OpenID Connect )는 OAuth 2.0 의 확장인 인증 프로토콜입니다. OAuth 2.0은 권한 부여 프로토콜 구축을 위한 프레임워크일 뿐이며 주로 불완전하지만 OIDC는 완전한 인증 및 권한 부여 프로토콜입니다. OIDC는 또한 Json Web Token (JWT) 표준을 많이 사용합니다. 이러한 표준은 아이덴티티 토큰 JSON 형식 및 데이터를 컴팩트하고 웹 친화적인 방법으로 디지털 서명하고 암호화하는 방법을 정의합니다.
OIDC를 사용할 때 실제로 두 가지 유형의 사용 사례가 있습니다. 첫 번째는 Red Hat Single Sign-On 서버에 사용자를 인증하도록 요청하는 애플리케이션입니다. 로그인에 성공하면 애플리케이션은 ID 토큰과 액세스 토큰 을 수신합니다. ID 토큰 에는 사용자 이름, 이메일 및 기타 프로필 정보와 같은 사용자에 대한 정보가 포함되어 있습니다. 액세스 토큰은 영역에 의해 디지털 서명되며 애플리케이션에서 애플리케이션에 액세스할 수 있는 리소스를 결정하는 데 사용할 수 있는 액세스 정보(예: 사용자 역할 매핑)를 포함합니다.
두 번째 유형의 사용 사례는 원격 서비스에 액세스하려는 클라이언트의 경우입니다. 이 경우 클라이언트는 사용자를 대신하여 다른 원격 서비스에서 호출하는 데 사용할 수 있는 액세스 토큰 을 Red Hat Single Sign-On에 요청합니다. Red Hat Single Sign-On은 사용자를 인증한 다음 사용자에게 요청하는 클라이언트에 대한 액세스 권한을 부여하는 데 동의하도록 요청합니다. 그러면 클라이언트에서 액세스 토큰 을 받습니다. 이 액세스 토큰은 영역에 의해 디지털 서명됩니다. 클라이언트는 이 액세스 토큰 을 사용하여 원격 서비스에서 REST 호출을 수행할 수 있습니다. REST 서비스는 액세스 토큰 을 추출하고 토큰 서명을 확인한 다음, 요청을 처리할지 여부를 토큰 내 액세스 정보에 따라 결정합니다.
1.3.2. SAML 2.0 링크 복사링크가 클립보드에 복사되었습니다!
SAML 2.0 은 OIDC와 유사한 사양이지만 훨씬 오래되고 성숙해졌습니다. 이 루트는 CHAP에 루트와 WS-* 사양의 plethora * 사양을 가지고 있으므로 OIDC보다 조금 더 자세한 경향이 있습니다. SAML 2.0은 주로 인증 서버와 애플리케이션 간에 XML 문서를 교환하여 작동하는 인증 프로토콜입니다. XML 서명 및 암호화는 요청 및 응답을 확인하는 데 사용됩니다.
Red Hat Single Sign-On SAML에서는 브라우저 애플리케이션과 REST 호출이라는 두 가지 유형의 사용 사례를 제공합니다.
SAML을 사용할 때 실제로 두 가지 유형의 사용 사례가 있습니다. 첫 번째는 Red Hat Single Sign-On 서버에 사용자를 인증하도록 요청하는 애플리케이션입니다. 로그인에 성공하면 애플리케이션에 사용자에 대한 다양한 속성을 지정하는 SAML 어설션이라는 내용이 포함된 XML 문서가 수신됩니다. 이 XML 문서는 영역에 의해 디지털 서명되며 애플리케이션에서 애플리케이션에서 액세스할 수 있는 리소스를 결정하는 데 사용할 수 있는 액세스 정보(예: 사용자 역할 매핑)를 포함합니다.
두 번째 유형의 사용 사례는 원격 서비스에 액세스하려는 클라이언트의 경우입니다. 이 경우 클라이언트는 사용자를 대신하여 다른 원격 서비스에서 호출할 수 있는 SAML 어설션을 Red Hat Single Sign-On에 요청합니다.
1.3.3. OpenID Connect vs. SAML 링크 복사링크가 클립보드에 복사되었습니다!
OpenID Connect와 SAML 중에서 선택하는 것은 더 성숙한 프로토콜(SAML) 대신 최신 프로토콜(OIDC)을 사용하는 데 그치지 않습니다.
대부분의 경우 Red Hat Single Sign-On에서 OIDC 사용을 권장합니다.
SAML은 OIDC보다 조금 더 자세한 경향이 있습니다.
교환된 데이터의 세부 정보 표시 외에도 OIDC가 웹과 작동하도록 설계된 사양을 비교하면 SAML이 웹에서 작동하도록 다시 조정되었습니다. 예를 들어 OIDC는 SAML보다 클라이언트 측에서 보다 쉽게 구현할 수 있으므로 HTML5/JavaScript 애플리케이션에도 적합합니다. 토큰은 JSON 형식이므로 JavaScript에서 더 쉽게 사용할 수 있습니다. 또한 웹 애플리케이션에서 보안을 보다 쉽게 구현할 수 있는 몇 가지 유용한 기능을 찾을 수 있습니다. 예를 들어, 사용자가 아직 로그인했는지 여부를 확인하기 위해 사양에서 사용하는 iframe 동작을 확인하십시오.
그러나 SAML은 그 용도를 가지고 있습니다. OIDC 사양이 진화하면서 SAML이 수년 동안 보유하고 있는 기능을 더 많이 구현할 수 있다는 것을 알 수 있습니다. OIDC를 통해 SAML을 선택하는 이유는 OIDC를 통해 SAML을 선택하는 경우가 많으며, 이는 이미 보안된 기존 애플리케이션이 있기 때문입니다.