OpenID Connect

SSO(Single Sign-on)에 대해 OIDC(OpenID Connect)를 지원하도록 Tableau Server를 구성할 수 있습니다. OIDC는 Google, Salesforce 등의 IdP(ID 공급자)에 로그인할 수 있도록 지원하는 표준 인증 프로토콜입니다. IdP에 로그인하고 나면 자동으로 Tableau Server에 로그인됩니다.

OIDC 구성에는 여러 단계가 필요합니다. 이 섹션의 항목에서는 Tableau Server 및 OIDC 사용에 대한 일반 정보와 IdP 및 Tableau Server 구성 시퀀스를 제공합니다.

참고: 달리 명시되지 않은 한 OIDC 인증에 대한 정보는 Tableau Server 설치 중에 TSM에서 구성된 OIDC 또는 ID 풀(링크가 새 창에서 열림)을 통해 구성된 OIDC에 모두 적용됩니다.

인증 개요

이 섹션에서는 Tableau Server의 OIDC(OpenID Connect) 인증 프로세스에 대해 설명합니다.

1. 사용자가 클라이언트 컴퓨터에서 Tableau Server에 로그인하려고 합니다.

2. Tableau Server가 인증 요청을 IdP 게이트웨이로 리디렉션합니다.

3. 사용자가 자격 증명을 입력하고 IdP에 성공적으로 인증됩니다. IdP는 리디렉션 URL로 Tableau Server에 다시 응답합니다. 리디렉션 URL에는 사용자에 대한 인증 코드가 포함되어 있습니다.

4. 클라이언트가 Tableau Server로 리디렉션되고 인증 코드가 표시됩니다.

5. Tableau Server가 고유한 클라이언트 자격 증명과 함께 IdP에 클라이언트의 인증 코드를 제공합니다. Tableau Server는 IdP의 클라이언트이기도 합니다. 이 단계는 스푸핑 또는 메시지 가로채기(man-in-the-middle) 공격을 방지하기 위한 것입니다.

6. IdP가 액세스 토큰 및 ID 토큰을 Tableau Server에 반환합니다.

  • JWT(JSON Web Token) 유효성 검사: 기본적으로 Tableau Server는 IdP JWT에 대한 유효성 검사를 수행합니다. 검색 중에 Tableau Server는 IdP 구성 검색 문서에서 jwks_uri로 지정된 공개 키를 검색합니다. Tableau Server는 ID 토큰의 만료에 대한 유효성을 검사하고 JWS(JSON 웹 서명), 발급자(IdP) 및 클라이언트 ID를 확인합니다. JWT 프로세스에 대한 자세한 내용은 OpenID 설명서에서 10. Signatures and Encryption(서명 및 암호화)(링크가 새 창에서 열림)와 IETF 제안 표준 JSON Web Token(링크가 새 창에서 열림)에서 확인할 수 있습니다. IdP에서 지원하지 않는 경우가 아니라면 JWT 유효성 검사를 사용 설정된 상태로 두는 것이 좋습니다.

  • ID 토큰은 사용자의 특성 키 쌍 집합입니다. 이러한 키 쌍을 클레임이라고 합니다. 다음은 사용자의 IdP 클레임에 대한 예입니다.

    "sub"                     : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5"
    "email"                   : "alice@example.com",
    "email_verified"          : true,
    "name"                    : "Alice Adams",
    "given_name"              : "Alice",
    "family_name"             : "Adams",
    "phone_number"            : "+359 (99) 100200305",
    "profile"                 : "https://tableau.com/users/alice"		

7. Tableau Server가 IdP 클레임에서 사용자를 식별하고 1단계의 인증 요청을 완료합니다. Tableau Server는 'sub'(주체 식별자)를 일치시켜 리포지토리에 저장된 사용자의 계정 레코드를 검색하여 올바른 사용자 계정을 식별합니다. sub 클레임 값으로 저장된 사용자 계정이 없는 경우 Tableau Server는 리포지토리에서 IdP의 'email' 클레임과 일치하는 사용자 이름을 검색합니다. 사용자 이름 일치가 성공하면 Tableau Server가 해당하는 sub 클레임을 리포지토리의 사용자 레코드에 저장합니다.이 프로세스에 다른 클레임을 사용하도록 Tableau Server를 구성할 수 있습니다. 자세한 내용은 OpenID Connect 사용 시 요구 사항을 참조하십시오.

8. Tableau Server는 사용자에게 권한을 부여합니다.

Tableau Server와 OpenID Connect의 작동 방식

OIDC(OpenID Connect)는 서비스 제공업체(여기서 Tableau Server)와 IdP 사이에 교환하는 정보를 위한 다수의 옵션을 지원하는 유연한 프로토콜입니다. 다음 목록에 OIDC의 Tableau Server 구현에 대한 세부 정보가 나와 있습니다. 이러한 세부 정보는 Tableau Server에서 전송하고 예상하는 정보의 유형과 IdP를 구성하는 방법을 이해하는 데 도움이 될 수 있습니다.

  • Tableau Server에서는 OpenID Connect 설명서의 OpenID Connect 최종 사양(링크가 새 창에서 열림)에 설명된 대로 OpenID Authorization Code Flow만 지원합니다.

  • Tableau Server에서는 검색 또는 공급자 URL을 사용하여 OpenID 공급자 메타데이터를 검색합니다.또는 Tableau Server에서 정적 검색 문서를 호스팅할 수 있습니다. 자세한 내용은 OpenID Connect에 대해 Tableau Server 구성을 참조하십시오.

  • Tableau Server에서는 client_secret_basicclient_secret_post 클라이언트 인증이 지원됩니다.

  • Tableau Serverid_token 특성의 JOSE 머리글에 있는 kid 값을 예상합니다. 이 값은 JWK Set 문서의 키 중 하나와 일치됩니다. 이 문서의 URI는 OpenID 검색 문서에서 jwks_uri 값으로 지정됩니다. JWK Set 문서에 키가 하나뿐인 경우에도 kid 값이 있어야 합니다.

  • Tableau Server에는 JWK x5c 매개 변수 또는 X.509 인증서 사용에 대한 OpenID 지원이 포함됩니다.

  • 기본적으로 Tableau Server는 프록시 설정을 무시하고 모든 OpenID 요청을 IdP로 직접 전송합니다.

    Tableau Server가 정방향 프록시를 사용하여 인터넷에 연결하도록 구성된 경우 OpenID Connect에 대해 Tableau Server 구성에 설명된 대로 추가 변경을 수행해야 합니다.

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!