SSO 설정
    • PDF

    SSO 설정

    • PDF

    Article Summary

    Classic/VPC 환경에서 이용 가능합니다.

    SSO(Single Sign On)는 여러 시스템을 하나의 아이디와 비밀번호로 접근(인증)할 수 있는 통합 로그인 연동을 의미합니다. WORKPLACE와 다른 시스템 간 SSO 연동을 설정하면 한 번의 로그인으로 두 시스템을 자동으로 접속해 이용할 수 있습니다.

    WORKPLACE Developers는 다음 두 가지 방식의 SSO를 지원하며, 두 방식 중 하나를 선택해 연동할 수 있습니다.

    • IDP 방식: Identify Provider의 약칭으로 클라우드 서비스 등에 접근하는 사용자의 인증 정보를 저장 및 관리하는 서비스를 의미함
    • SP 방식: Service Provider의 약칭으로 서비스 시스템을 의미함
    참고

    [Admin] > [보안] > [접속 관리] 메뉴에서 간편 로그인 설정을 한 경우, 간편 로그인을 사용 안 함으로 설정 후 로그인을 연동할 수 있습니다.

    IDP 방식 연동

    IDP 방식의 OAuth2.0 기반 또는 SAML2.0 기반으로 회사의 기업 정보 시스템과 WORKPLACE의 로그인을 연동할 수 있습니다.

    OAuth

    다음 절차에 따라 IDP 방식 SSO 연동을 진행해 주십시오.

    1. 콘솔에 연동 정보 입력

    1. 네이버 클라우드 플랫폼 콘솔에서 Services > Business Applications > WORKPLACE 메뉴를 차례대로 클릭해 주십시오.
    2. Developers 메뉴를 클릭해 주십시오.
      • 알림 팝업 창이 나타나는 경우, 팝업 창의 내용을 확인한 후 [닫기] 버튼을 클릭해 주십시오.
    3. SSO 설정을 클릭해 주십시오.
    4. [로그인 연동] 버튼을 클릭해 주십시오.
      • SmartWork 솔루션(WORKPLACE와 NAVER WORKS 결합 이용)을 이용하는 경우, 이 단계는 건너 뛰어 주십시오.
    5. SSO 설정 항목을 지정한 후 [적용] 버튼을 클릭해 주십시오.
      workplace-workplace-developers1_ssoidp_ko
      • Domain: 회사의 redirect_uri로 넘길 URL, [복사] 버튼을 클릭하면 클립보드에 복사
      • Client ID: WORKPLACE가 제공하는 클라이언트 ID, [복사] 버튼을 클릭하면 클립보드에 복사
      • Client Secret: WORKPLACE가 제공하는 클라이언트 시크릿 값, [복사] 버튼을 클릭하면 클립보드에 복사
      • Redirect Domain: 회사의 redirect_uri로 넘길 URL을 복사해 여기에 입력

    2. WORKPLACE OAuth 2.0 서버로 리디렉션 및 응답 처리

    Request 파라미터를 만들어 WORKPLACE OAuth 2.0 서버로 리디렉션해 주십시오.

    https://회사도메인ID.ncpworkplace.com/authn/oauthLogin
    

    HTTP Method:

    GET

    Request:

    파라미터타입필수 여부설명
    response_typeStringY인증 과정에 대한 구분값으로 어떠한 형태의 결과값을 받을지 명시, 항상 'code'라는 고정된 문자열 사용
    client_idStringYWORKPLACE에서 제공한 client id값
    redirect_uriStringY인증을 처리한 후 Authorization Code를 반환할 URL로 URL 인코딩되어 있음
    stateStringYCSRF(Cross-site request forgery) 방지를 위해 임의로 생성된 고유 값(authorization code 반환 시 url에 포함해 파라미터로 state 값을 넘김)
    loginIdStringN사용자가 입력했던 Login 계정

    예제:

    GET  https://회사도메인ID.ncpworkplace.com/authn/oauthLogin?response_type=code&client_id=17nRVbxDCSmzymTHMdnv&redirect_uri=http://고객사/oauth2callback&loginId =admin@nbp.co.kr
    

    위와 같이 로그인 또는 인증 확인을 하면 OAuth 2.0 서버는 요청에 지정된 URL(redirect_uri)을 사용하여 액세스 요청에 응답합니다.

    https://회사도메인ID.ncpworkplace.com/authn/oauthLogin
    

    HTTP Method:

    GET

    Response:

    파라미터타입필수 여부설명
    codeStringY(성공)Authorization Code Access Token을 발급하는 데 사용되는 일회성 코드
    stateStringY(성공)WORKPLACE에서 제공한 client id 값
    errorStringY(실패)실패 시 반환하는 오류 코드
    error_descriptionStringY(실패)실패 시 반환하는 오류 설명

    예제:

    오류시 http://고객사/oauth2callback?error=access_denied
    성공시 http://고객사/oauth2callback?code=jxCiS2TA80GSocD2
    

    3. 액세스 토큰에 대한 인증 코드 교환

    액세스 토큰에 대한 인증 코드를 교환하려면, 다음과 같이 Access Token Return API 인증 코드를 받으십시오.

    https://회사도메인ID.ncpworkplace.com/authn/accessToken
    

    HTTP Method:

    POST

    Request:

    파라미터타입필수 여부설명
    grant_typeStringY인증 과정에 대한 구분값으로 어떠한 형태의 결과값을 받을지 명시, 항상 'authorization_code'라는 고정된 문자열 사용
    client_idStringYWORKPLACE에서 제공한 client id 값
    client_secretStringYWORKPLACE에서 제공한 client secret 값
    codeStringY2단계에서 발급 받은 코드 Authorization Code
    stateStringN애플리케이션이 요청 및 리디렉션 응답 간 상태를 유지하는 데 사용하는 문자열

    예제:

    https://회사도메인ID.ncpworkplace.com/authn/accessToken?grant_type=authorization_code&client_id=17nRVbxDCSmzymTHMdnv&client_secret=JsjOUSDOtb&code=jxCiS2TA80GSocD2
    

    Response:

    파라미터타입필수 여부설명
    access_tokenStringY(성공)액세스 토큰
    token_typeStringY(성공)액세스 토큰의 타입, 'Bearer' 고정
    expires_inStringY(성공)액세스 토큰의 유효 기간(초), 실제 애플리케이션의 로그인 유지 시간
    errorStringY(실패)실패 시 반환하는 오류 코드
    error_descriptionStringY(실패)실패 시 반환하는 오류 설명

    4. 인증된 사용자 정보 반환

    다음과 같이 인증된 사용자 정보를 반환해 주십시오.

    https://회사도메인ID.ncpworkplace.com/authn/userProfile
    

    HTTP Method:

    POST

    Request:

    파라미터타입필수 여부설명
    client_idStringYWORKPLACE에서 제공한 client id 값
    client_secretStringYWORKPLACE에서 제공한 client secret 값
    access_tokenStringY3단계에서 응답받은 Access Token(URLEncode한 값으로 리터 Access Token을 그대로 전달)

    예제:

    https://회사도메인ID.ncpworkplace.com/authn/userProfile?client_id=17nRVbxDCSmzymTHMdnv&client_secret=JsjOUSDOtb&access_token=imLS80bZNkpKtM9FWvZt7MjMTcXIyIN0ygyr8DERsgzetKFIUWqArHlCUQ1VJ6I....
    

    Response:

    파라미터타입필수 여부설명
    login_idStringY(성공)로그인 ID
    errorStringY(실패)실패 시 반환하는 오류 코드
    error_descriptionStringY(실패)실패 시 반환하는 오류 설명

    Logout URL

    https://회사도메인ID.ncpworkplace.com/authn/logoutProcess
    

    SAML

    다음 절차에 따라 SAML2.0 기반 SSO 연동을 진행해 주십시오.

    1. 콘솔에 연동 정보 입력

    1. 네이버 클라우드 플랫폼 콘솔에서 Services > Business Applications > WORKPLACE 메뉴를 차례대로 클릭해 주십시오.
    2. Developers 메뉴를 클릭해 주십시오.
      • 알림 팝업 창이 나타나는 경우, 팝업 창의 내용을 확인한 후 [닫기] 버튼을 클릭해 주십시오.
    3. SSO 설정을 클릭해 주십시오.
    4. [로그인 연동] 버튼을 클릭해 주십시오.
      • SmartWork 솔루션(WORKPLACE와 NAVER WORKS 결합 이용)을 이용하는 경우, 이 단계는 건너 뛰어 주십시오.
    5. SAML을 선택해 주십시오.
    6. SSO 설정 항목을 지정한 후 [적용] 버튼을 클릭해 주십시오.
      workplace-workplace-developers1_ssoidp2_ko
      • SSO URL: 제공되는 SSO URL을 복사하여 고객사 시스템의 로그인 페이지 URL(SSO URL 항목)에 입력해 주십시오.
      • Response Issuer: 제공되는 Response Issuer을 복사하여 고객사 시스템에 입력해 주십시오.
      • Application: [추가] 버튼을 클릭하여 Application 정보를 입력해 주십시오.
        • Application Name: SSO 연동하려는 Application 이름을 영문으로 입력해 주십시오.
        • ACS URL: 고객사 시스템에서 제공하는 ACS URL을 입력해 주십시오.
        • SP Issuer(Entity ID): 고객사 시스템에서 제공하는 SP Issuer(Entity ID)를 입력해 주십시오. 한 도메인에서 SP Issuer는 중복될 수 없습니다.
      • Certificate: 추가한 Application별로 [다운로드] 버튼을 클릭해 인증서를 다운로드한 후 고객사 시스템의 인증서 항목에 첨부해 주십시오.
      • NAME ID: '로그인 아이디'로 고정되어 표시됩니다.
      • NAME ID Format: 'UNSPECIFIED'로 고정되어 표시됩니다.

    2. SAML Request 생성 및 전달

    SSO URL의 파라미터로 SAML Request를 생성하여 고객사 인증 시스템에 전달합니다.

    Request URL

    Developer Console의 SAML Apps 등록 시 발급되는 SSO URL을 전달합니다.

    예제:

    https://{회사id}.ncpworkplace.com/authn/saml/samlLogin

    HTTP Method

    POST

    Request

    Request 항목을 참고해 주십시오.

    파라미터타입필수 여부설명
    SAMLRequestStringYSAML 2.0 Request 명세에 따른 문자열 - Base64로 인코딩
    RelayStateStringY인증 실패 시 재시도하는 URL

    SAML Request 명세

     <saml2p:AuthnRequest
         xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
         AssertionConsumerServiceURL="{WORKPLACE에 등록한 ACS URL}"
         ID="{ID}"
         IssueInstant="{SAML Request 생성 일시}"
         ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" 
         ProviderName="{Service Provider Name}"
         Version="2.0">
         <saml2:Issuer
             xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">{WORKPLACE에 등록한 SP Issuer}</saml2:Issuer>
         <saml2p:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
     </saml2p:AuthnRequest>
    
    항목타입필수설명
    AuthnRequest AssertionConsumerServiceURLStringY줄여서 ACS URL이라 하며, SAML Response를 받을 URL. 등록한 ACS URL과 동일해야 함
    AuthnRequest IDStringYWORKPLACE 인증 시스템에서 발행하는 ID로, SAML Response 생성 시 사용
    AuthnRequest IssueInstantDate(UTC)YSAML Request 생성 일시
    AuthnRequest ProtocolBindingStringY'HTTP-POST'로 보내므로 SAML Response는 반드시 POST 방식으로 전송
    AuthnRequest ProviderNameStringN고객사명
    IssuerStringY등록한 SP Issuer(Entity Id)를 사용
    NameIDPolicy FormatStringY"UNSPECIFIED"를 고정값으로 사용

    3. SAML Request 검증

    고객사 인증 시스템에서는 SAML Request를 받은 후 이를 검증하여 로그인 페이지를 실행합니다.
    이때, SSO를 사용하는 도메인이면 고객사의 로그인 페이지로, 그렇지 않다면 WORKPLACE의 로그인 페이지를 실행합니다.

    4. SAML Response 생성 및 전달

    로그인에 성공하면 SAML Response를 생성하여 고객사의 ACS URL로 전달합니다.

    Request URL

    SAML Request에 명시한 ACS URL을 사용합니다.(등록한 ACS URL과 동일해야 함)

    HTTP Method

    POST

    Request

    파라미터타입필수 여부설명
    SAMLResponseStringYSAML 2.0 Response 명세에 따른 문자열 - Base64로 인코딩
    RelayStateStringNSP 측에서 전달할 때만 Response에 전달
    참고

    SAML Response 안에는 등록한 인증서로 전자 서명한 값이 포함되어 있으므로, 고객사는 반드시 전자 서명 값을 검증해야 합니다.

    SAML Response 명세

    <?xml version="1.0" encoding="UTF-8"?>
    <saml2p:Response xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
    Destination="{WORKPLACE 에 등록한 ACS URL}"
     ID="{WORKPLACE에서 발행하는 ID}"
     InResponseTo="{SAML Request에 포함된 ID}"
     IssueInstant="{SAML Response 생성 일시}"
      Version="2.0">
      <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
      {Response Issuer}
      </saml2:Issuer>
      <ds:Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
          "{디지털 서명}"
      </ds:Signature>
      <saml2p:Status>
        <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
      </saml2p:Status>
      <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
      ID="{WORKPLACE에서 발행하는 ID}"
      IssueInstant="{SAML Response 생성 일시}"
      Version="2.0">
        <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">
        {Response Issuer}
        </saml2:Issuer>
        <saml2:Subject>
          <saml2:NameID Format="unspecified">
          "{로그인한 사용자 로그인 ID}"
          </saml2:NameID>
          <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
            <saml2:SubjectConfirmationData
            InResponseTo="{SAML Request에 포함된 ID}"
            NotOnOrAfter="{SAML Response 종료 일시}"
            Recipient="{ACS URL}"/>
          </saml2:SubjectConfirmation>
        </saml2:Subject>
        <saml2:Conditions NotBefore="{SAML Response 시작 일시}"
        NotOnOrAfter="{SAML Response 종료 일시}">
          <saml2:AudienceRestriction>
            <saml2:Audience>{WORKPLACE에 등록한 SP Issuer}
            </saml2:Audience>
          </saml2:AudienceRestriction>
        </saml2:Conditions>
        <saml2:AuthnStatement AuthnInstant="{SAML Response 생성 일시}"
         SessionIndex="{WORKPLACE에서 발행하는 ID}">
          <saml2:AuthnContext>
            <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml2:AuthnContextClassRef>
          </saml2:AuthnContext>
        </saml2:AuthnStatement>
      </saml2:Assertion>
    </saml2p:Response>
    

    SAML Response 예제

    <?xml version="1.0" encoding="UTF-8"?>
    <saml2p:Response ID="4ec6c869-4f1f-4027-adc2-90a5dc5cb597"
        InResponseTo="ajinaekefnokobjefcegddakfdphcchikhgphael" IssueInstant="2021-12-29T06:24:26.000Z"
        Version="2.0" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol">
        <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">http://회사id.ncpworkplace.com/authn/saml/metadata</saml2:Issuer>
        <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
            <ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
                <ds:Reference URI="#4ec6c869-4f1f-4027-adc2-90a5dc5cb597">
                    <ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                    <ds:DigestValue>EcKuJWielgJv1XCEeb1lDR6yP7w=</ds:DigestValue>
                </ds:Reference>
            </ds:SignedInfo>
           <ds:SignatureValue>oE1jjGQhtkRVxSp4....</ds:SignatureValue>
            <ds:KeyInfo>
                <ds:X509Data>
                    <ds:X509Certificate>MIIDHDCCAgSgAwIBAgIGAWm....</ds:X509Certificate>
                </ds:X509Data>
            </ds:KeyInfo>
        </ds:Signature>
        <saml2p:Status><saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/></saml2p:Status>
        <saml2:Assertion ID="cf10bea7-f97d-4273-b431-36b1228244e3" IssueInstant="2021-12-29T06:24:26.000Z"
            Version="2.0" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
            <saml2:Issuer>http://회사id.ncpworkplace.com/authn/saml/metadata</saml2:Issuer>
            <saml2:Subject>
                <saml2:NameID NameQualifier="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">test@samltest.com</saml2:NameID>
                <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"><saml2:SubjectConfirmationData InResponseTo="ajinaekefnokobjefcegddakfdphcchikhgphael"
                    NotBefore="2021-12-29T06:24:26.000Z" NotOnOrAfter="2021-12-29T06:34:26.000Z"
                    Recipient="https://인증사/acs/samltest.com"/></saml2:SubjectConfirmation>
            </saml2:Subject>
            <saml2:Conditions NotBefore="2021-12-29T06:24:26.000Z" NotOnOrAfter="2021-12-30T06:24:26.000Z">
                <saml2:AudienceRestriction>
                    <saml2:Audience>worksmobile.com</saml2:Audience>
                </saml2:AudienceRestriction>
            </saml2:Conditions>
            <saml2:AuthnStatement AuthnInstant="2021-12-29T06:24:26.000Z"
                SessionIndex="ajinaekefnokobjefcegddakfdphcchikhgphael"
                SessionNotOnOrAfter="2021-12-30T06:24:26.000Z">
                <saml2:AuthnContext>
                    <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml2:AuthnContextClassRef>
                </saml2:AuthnContext>
            </saml2:AuthnStatement>
        </saml2:Assertion>
    </saml2p:Response>
    
    

    SAML Response의 각 항목은 다음과 같습니다.

    항목타입필수 여부설명
    Response DestinationStringYSAML Request에 포함된 ACS URL
    Response IDStringYWORKPLACE에서 발행하는 ID
    Response InresponseToDate(UTC)YSAML Request에 포함된 ID
    Response IssueInstantDate(UTC)YSAML Response 생성 일시
    SignatureStringY디지털 서명
    Assertion IDStringNWORKPLACE에서 발행하는 ID
    Assertion IssueInstantDate(UTC)NSAML Response 생성 일시
    Subject NameIDStringY로그인한 사용자의 로그인 ID
    SubjectConfirmationData InResponseToStringYSAML Request에 포함된 ID
    SubjectConfirmationData NotOnOrAfterDate(UTC)YSAML Response 종료 일시
    SubjectConfirmationData RecipientStringYACS URL
    Conditions NotBeforeDate(UTC)YSAML Response 시작 일시
    Conditions NotOnOrAfterDate(UTC)YSAML Response 종료 일시
    AudienceStringYSAML Request에 포함된 Issuer
    AuthnStatement AuthnInstantDate(UTC)YSAML Response 생성 일시
    AuthnStatement SessionIndexStringYWORKPLACE에서 발행하는 ID

    SP 방식 연동

    SP 방식은 SAML(Security Assertion Markup Language) 2.0이나 OAuth 2.0으로 SSO 연동을 할 수 있습니다. WORKPLACE와 회사 시스템을 연동하면 WORKPLACE가 Service Provider가 되어 WORKPLACE에 로그인함으로써 회사 시스템에 자동 로그인이 적용됩니다.

    SP 방식 연동 설정을 하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔에서 Services > Business Applications > WORKPLACE 메뉴를 차례대로 클릭해 주십시오.
    2. Developers 메뉴를 클릭해 주십시오.
      • 알림 팝업 창이 나타나는 경우, 팝업 창의 내용을 확인한 후 [닫기] 버튼을 클릭해 주십시오.
    3. SSO 설정을 클릭해 주십시오.
    4. SSO를 설정하려는 서비스 옆의 [로그인 연동] 버튼을 클릭해 주십시오.
    5. 다음 내용을 참조하여 로그인 연동 설정을 해 주십시오.

    Google Workspace 로그인 연동

    SAML 2.0 방식의 SSO 연동을 이용해 Google Workspace와 로그인 연동을 할 수 있습니다.

    참고
    • Google Workspace 사용 환경에 따라 설정 단계가 이 사용 가이드의 설명과 상이할 수 있습니다. 자세한 사용법은 Google Workspace의 사용 가이드를 참조해 주십시오.
    • WORKPLACE의 로그인 아이디와 Google Workspace 계정 정보(이메일)가 동일해야 로그인 가능합니다.

    Google Workspace와 로그인 연동을 하는 방법은 다음과 같습니다.

    1. Google Admin과 네이버 클라우드 플랫폼 콘솔에 각각 로그인해 주십시오.

    2. Google Admin 화면에서 앱 > 앱 및 모바일 앱을 차례대로 클릭해 주십시오. 다음 화면에서 앱 추가 > 맞춤 SAML 앱 추가를 클릭해 주십시오.
      workplace-workplace-11-3-googlesso_ko

    3. Google Admin 화면에서 앱 세부정보 화면에 앱 이름을 입력해 주십시오. 앱 아이콘에 앱 로고를 업로드해 주십시오. 로고 이미지는 네이버 클라우드 플랫폼 콘솔의 Developers > SSO 설정에서 다운로드해 주십시오.
      workplace-workplace-11-3-googlesso_ko

    4. Google Admin 화면에서 2단계 Google ID 공급업체 세부정보의 옵션 2에서 SSO URL 항목의 URL 복사해 두고, 인증서 항목의 인증서를 [다운로드] 버튼을 클릭해 다운로드한 후 계속을 클릭해 주십시오.

    workplace-workplace-11-3-googlesso_ko

    1. 네이버 클라우드 플랫폼 콘솔에서 Services > Business Applications > WORKPLACE > Developers 메뉴를 차례대로 클릭해 주십시오.

    2. Google Workspace 옆의 [로그인 연동] 버튼을 클릭해 주십시오.

    3. 위 순서 4에서 복사한 SSO URL을 네이버 클라우드 플랫폼 콘솔의 SSO URL 입력란에 붙여넣어 주십시오.
      workplace-workplace-developers1_ssogoogleworkspacessourl_ko

    4. 위 순서 4에서 다운로드한 인증서를 다운로드한 후 네이버 클라우드 플랫폼 콘솔의 Certificate 항목의 [파일 첨부] 버튼을 클릭해 업로드해 주십시오.
      workplace-workplace-developers1_ssogooglesamlcertificate_ko

    5. 네이버 클라우드 플랫폼 콘솔의 SSO 설정 화면의 ACS URLEntity ID 항목에 표시되는 URL과 ID를 각각 복사해 Google Admin의 서비스 제공업체 세부정보 팝업 창의 ACS URL엔티티 ID 입력란에 각각 붙여넣어 주십시오.
      workplace-workplace-developers1_ssogooglesamlacsurl_ko

      workplace-workplace-11-3-googlesso_ko

    6. Google Admin의 서비스 제공업체 세부정보 팝업 창에서 계속을 클릭해 주십시오.

    7. Google Admin의 속성 매핑 팝업 창에서 마침을 클릭해 주십시오.
      workplace-workplace-11-3-googlesso_ko

    8. 서비스 수정을 클릭해 주십시오.
      workplace-workplace-11-3-googleApproval7-2_ko

    9. 모든 사용자에 사용하도록 설정을 선택한 후 저장을 클릭해 주십시오.
      workplace-workplace-11-3-googleApproval7-3_ko

    10. Google Admin의 오른쪽 상단 아이콘 클릭하여 등록된 SAML 앱을 확인해 주십시오.
      workplace-workplace-11-3-googleApproval8_ko

    11. 네이버 클라우드 플랫폼 콘솔에서 [적용] 버튼을 클릭해 주십시오.

    참고
    • WORKPLACE와 Google Workspace 간 SSO 연동이 완료되면 Google 계정으로 WORKPLACE에 로그인하여 WORKPLACE를 사용할 수 있습니다.
    • 전체 서비스에 Google Workspace의 바로가기를 등록할 수 있습니다. 자세한 내용은 상단 메뉴 관리를 참조해 주십시오.

    기타 서비스 로그인 연동

    OAuth 2.0 또는 SAML(Security Assertion Markup Language) 2.0 방식의 SSO 연동을 지원하는 다양한 서비스와 로그인 연동을 할 수 있습니다.

    1. 네이버 클라우드 플랫폼 콘솔에서 Services > Business Applications > WORKPLACE 메뉴를 차례대로 클릭해 주십시오.

    2. Developers 메뉴를 클릭해 주십시오.

      • 알림 팝업 창이 나타나는 경우, 팝업 창의 내용을 확인한 후 [닫기] 버튼을 클릭해 주십시오.
    3. SSO 설정을 클릭해 주십시오.

    4. 그 외 서비스 옆의 [로그인 연동] 버튼을 클릭해 주십시오.

    5. 연동 방식을 선택해 주십시오.

    6. 선택한 연동 방식에 따라 설정 항목을 입력해 주십시오.

      • SAML 2.0 기반 SSO 설정 항목
      • Web Login URL: SAML 2.0 1. 웹 로그인 페이지에서 제작한 Request URL 입력
      • Logout URL: 고객사 로그아웃에서 제작한 Request URL 입력
      • Logout Domain: WORKPLACE 로그아웃에서 제작한 Request URL 입력
      • 파일 등록 (*.pem): SAML Respnse를 전자 서명할 때 사용하는 인증서를 등록(해당 인증서를 이용하여 유효성 검증)
    7. [적용] 버튼을 클릭해 주십시오.

    SAML 2.0 1. 웹 로그인 페이지

    SAML Request를 검증하고 고객사의 로그인을 처리한 후 SAML Response를 생성하여 ACS URL로 반환해 주십시오.

    https://고객사도메인/고객사로그인페이지
    
    참고

    WORKPLACE의 인프라 보안 정책에 따라 80 혹은 443 포트만 사용할 수 있습니다.

    HTTP Method: GET

    Request:

    파라미터타입필수 여부설명
    SAMLRequestStringYSAML 2.0 Request 명세에 따른 문자열
  • Deflate + Base64로 인코딩한 값
  • RelayStateStringY인증 실패 시 재시도하는 URL

    SAML 2.0 2. SAML Request 검증

    SAML Request는 Deflate + Base64로 인코딩되어 있습니다. SAML Request를 검증해 주십시오.

    SAML Request 명세:

    <?xml version="1.0" encoding="UTF-8"?>
    <saml2p:AuthnRequest
      xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
      AssertionConsumerServiceURL="{ACS URL}"
      ID="{WORKPLACE 인증 시스템에서 발행하는 ID}"
      IssueInstant="{Request 생성 일시}"
      ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
      ProviderName="ncpworkplace.com"
      Version="2.0">
      <saml2:Issuer
          xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">ncpworkplace.com</saml2:Issuer>
      <saml2p:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
    </saml2p:AuthnRequest>
    

    SAML Request 항목:

    항목설명
    AuthnRequest AsssertionConsumerServiceURL줄여서 ACS URL이라 하며, SAML Response를 전달하는 URL
    AuthnRequest IDWORKPLACE 인증 시스템에서 발행하는 ID로, SAML Response 생성 시 사용
    AuthnRequest IssueInstantSAML Request 생성 일시
    AuthnRequest ProtocolBinding'HTTP-POST'로 보내므로 SAML Response는 반드시 POST 방식으로 전송
    AuthnRequest ProviderName서비스 제공자 이름으로, 'ncpworkplace.com'으로 발송
    Issuer서비스 제공자의 시스템에서 발행하는 ID로, SAML Response 생성 시 사용

    SAML Request Example:

    <?xml version="1.0" encoding="UTF-8"?>
    <saml2p:AuthnRequest
      xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
      AssertionConsumerServiceURL="https://회사ID.ncpworkplace.com/...."
      ID="bemkplgpdoemkhjmncgmbcdibglpngclfombpmed"
      IssueInstant="2018-02-14T03:33:49.999Z"
      ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
      ProviderName="ncpworkplace.com"
      Version="2.0">
      <saml2:Issuer
          xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">ncpworkplace.com</saml2:Issuer>
      <saml2p:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>
    </saml2p:AuthnRequest>
    

    WORKPLACE 로그아웃

    고객사 시스템에서 로그아웃한 후 WORKPLACE에서 로그아웃 시 사용합니다. 로그아웃 요청을 받으면 WORKPLACE에서는 로그인되어 있는 WORKPLACE의 계정을 로그아웃하고, 전달받은 redirect_uri로 redirect합니다.

    redirect_uri는 white_url로 관리되므로 네이버 클라우드 플랫폼 콘솔 Developers의 SSO 설정에서 Logout Redirection Domain에 등록해야 합니다.

    https://회사ID.ncpworkplace.com/authn/logoutProcess
    

    HTTP Method: GET/POST

    Request:

    파라미터타입필수 여부설명
    redirect_uriStringYWORKPLACE에서 로그아웃한 후 redirect할 인코딩된 URL

    Response:

    redirect_uri로 redirect합니다.

    고객사 로그아웃

    WORKPLACE에서 로그아웃한 후 고객사 시스템에서도 로그아웃 처리할 때 사용합니다.

    https://고객사도메인/로그아웃
    
    참고

    WORKPLACE의 인프라 보안 정책에 따라 443 포트만 사용할 수 있습니다.

    HTTP Method: GET

    Request:

    파라미터타입필수 여부설명
    redirect_uriStringN고객사 시스템에서 로그아웃 처리한 후 redirect할 redirect_uri(URL 인코딩되어 있음)

    SSO 연동 완료 후

    SSO 연동이 완료되면 기존에 사용하던 기업정보시스템의 로그인 정보로 WORKPLACE 로그인이 가능하여 로그인 정보 관리에 편리해 집니다.

    사용자 로그인

    • 사용자가 WORKPLACE 기업 URL(https://기업ID.ncpworkplace.com)로 접속하는 경우, 기업정보시스템 혹은 타 서비스(예: 구글) 로그인 페이지로 바로 이동됩니다.

    • 사용자가 WORKPLACE 기본 URL(https://www.ncpworkplace.com)로 접속하는 경우:

      • 로그인 페이지 하단의 [SSO 연동 설정] 버튼을 클릭합니다.
      • 회사 아이디를 입력하고 로그인 버튼을 클릭합니다.
      • 연동된 타 서비스(<예시> 구글, 회사 기업정보시스템)의 로그인 페이지로 이동되며, 타 서비스에 로그인 시 WORKPLACE를 바로 사용할 수 있습니다.

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.