보안

카우치베이스 서버와 Okta 통합하기: 원활한 인증을 위한 단계별 가이드

Okta와 Couchbase Server 통합에 대한 종합 가이드에 오신 것을 환영합니다! 

이 문서에서는 다음을 사용하여 안전하고 원활한 인증 흐름을 설정하는 단계별 프로세스를 안내합니다. OktaID 공급자 (IdP) 및 카우치베이스 서버를 SAML 서비스 공급자 (SP). 이 가이드가 끝나면 사용자가 SAML을 사용하여 Couchbase 서버 UI에 로그인하고 로그아웃할 수 있는 완전한 기능의 SSO 설정이 완료됩니다.

전제 조건

복잡한 SAML 통합에 대해 자세히 알아보기 전에 SAML의 기본 사항과 디버깅 기술을 확실히 파악하는 것이 중요합니다. 아직 읽어보지 않으셨다면 SAML의 기본 사항과 디버깅 프로세스에 대한 이전 글을 다시 읽어보시길 강력히 추천합니다. 이러한 기초 지식을 갖추면 이 SAML 통합에 관한 글이 훨씬 더 유익하고 이해하기 쉬울 것입니다. 핵심 개념을 이해하는 데 시간을 할애하면 주제를 더 깊이 파고들 때 경험과 이해도가 향상될 것입니다.

구성 단계로 들어가기 전에 원활한 설정 프로세스에 필요한 모든 것이 준비되어 있는지 확인하는 것이 중요합니다. 다음은 준비해야 할 전제 조건입니다.

필요한 소프트웨어 및 계정

    1. Okta 개발자 계정: Okta를 ID 공급자로 구성하려면 Okta 개발자 계정이 필요합니다. 계정이 없는 경우 무료 계정에 가입할 수 있습니다. 여기.
    2. 카우치베이스 서버: 다음이 필요한지 확인 전체 관리자 또는 적어도 외부 사용자 보안 관리자 액세스 권한이 필요합니다. 이는 Couchbase Server에서 SAML 설정을 구성하는 데 중요합니다.
    3. 텍스트 편집기: 필요한 경우 Visual Studio Code, Sublime Text, 메모장++와 같은 텍스트 편집기를 사용하면 XML 파일이나 스크립트를 편집하는 데 유용합니다.

필요한 지식과 기술

    1. SAML의 기본 이해: 어설션, IdP, SP 및 SSO와 같은 SAML 개념에 익숙하면 도움이 됩니다.
    2. XML 기본 사항: SAML은 XML 기반 어설션을 사용하므로 XML에 대한 기본적인 이해가 있으면 설정 프로세스에 도움이 됩니다.

필수 데이터

    1. 카우치베이스 서버 URL: 인터넷을 통해 카우치베이스 서버에 액세스할 수 있는지, 외부로 향하는 URL을 알고 있는지 확인하세요.
    2. 서명 키 및 인증서: 개인 키와 인증서, 그리고 선택적으로 SAML 메시지를 서명하고 해독하는 데 사용할 수 있는 체인 파일을 업로드할 수 있습니다.

선택 사항이지만 유용합니다.

    1. 네트워크 도구: curl 또는 Postman과 같은 도구는 HTTP 요청 및 SAML 어설션을 테스트하는 데 유용할 수 있습니다.
    2. 디버깅 도구: 브라우저 기반 디버깅 도구 또는 플러그인은 다음과 같은 SAML 응답 및 요청 문제 해결에 도움을 줄 수 있습니다. Saml 트레이서.
    3. 인증서 서식 지정 도구: 브라우저 기반 X.509 인증서 도구 를 사용하여 인증서를 포맷합니다. 

이러한 전제 조건을 갖추면 이 가이드의 나머지 부분을 따라갈 준비가 된 것입니다. 다음 섹션에서는 구성할 내용을 더 잘 이해할 수 있도록 SAML 인증의 작동 방식에 대한 개요를 제공합니다.

 

Okta를 IdP로 구성하기

이제 기본 사항을 다루었으니, 이제 Okta가 ID 공급자(IdP)로 작동하도록 구성할 차례입니다. Couchbase 서버는 SAML을 활성화하기 위해 메타데이터 파일 또는 URL을 요구하므로 IdP부터 시작해야 합니다.

Okta에서 새 SAML 애플리케이션 만들기

    1. Okta 개발자 콘솔에 로그인합니다: Okta 개발자 콘솔로 이동하여 로그인합니다.
    2. 애플리케이션으로 이동합니다: 대시보드에서 애플리케이션 탭을 클릭합니다.

    3. 애플리케이션 추가: 를 클릭합니다. 앱 통합 만들기 버튼을 클릭하여 새 애플리케이션을 만듭니다.
    4. SAML 2.0을 선택합니다:  선택 SAML 2.0 를 로그인 방법으로 사용합니다.
    5. 클릭 다음 를 클릭하여 애플리케이션 설정으로 이동합니다.

Okta에서 SAML 애플리케이션 설정 구성

    1. 일반 설정:
      • 이름: 애플리케이션의 이름을 입력합니다. 사용하겠습니다: 카우치베이스
    2. 클릭 다음
    3. SAML 설정:
      • 통합 인증 URL (ACS URL): 이 시점에서 우리는 플레이스홀더: https://www.nowhere.com로 이동해야 합니다. 아직 이 URL이 없기 때문입니다. 나중에 다시 돌아와서 ACS 구성을 완료하겠습니다.
      • 대상 URI (SP 엔티티 ID)를 입력합니다: 카우치베이스 서버의 엔티티 ID를 설정합니다. 이는 Okta가 서비스를 인식하는 데 사용할 고유 식별자입니다. "couchbase-demo-integration"을 사용하겠습니다.
      • 이름 ID 형식: 일반적으로 요구 사항에 따라 '지정되지 않음' 또는 '이메일 주소'로 설정합니다. 이 구성에서는 지정되지 않음을 사용하겠습니다.
      • 애플리케이션 사용자 이름: 사용자 아이디를 매핑할 방법을 선택합니다(일반적으로 "이메일" 또는 "Okta 사용자 아이디").

    4. 완료: 애플리케이션 설정을 완료할 때까지 '마침' 또는 '다음'을 클릭합니다.

Okta 메타데이터 다운로드

    1. 설정 지침을 확인합니다: 애플리케이션을 만든 후 '로그인' 탭으로 이동하여 '자세한 내용'을 클릭합니다.


    2. 이 페이지를 계속 열어 두세요: 다음 단계에서 Couchbase 서버를 설정할 때 이 페이지의 필드를 복사할 것이므로 이 페이지를 열어 두세요.

SP 역할을 하도록 카우치베이스 서버 설정하기

이제 Okta를 iDP(ID 공급자)로 설정했으므로 이제 Couchbase 서버가 SAML 서비스 공급자(SP)로 작동하도록 준비할 차례입니다. 이 섹션에서는 초기 설정 및 구성 단계를 안내합니다.

초기 구성

    1. 카우치베이스 서버 UI에 로그인합니다: Couchbase 서버의 관리 UI에 로그인합니다. 여기에서 SAML 설정을 구성할 수 있습니다.

    2. 보안을 클릭합니다: 왼쪽 탐색에서 보안을 선택합니다.
    3. SAML 탭을 클릭합니다: 상단에서 SAML 탭을 찾아 클릭합니다. 그러면 SAML 구성 페이지가 열립니다.

    4. SAML 인증을 사용하도록 설정합니다: 텍스트 아래에 확인란이 있습니다. 이 설정을 켭니다.

메타데이터 구성

    1. SP 엔티티 ID: 카우치베이스 서버의 엔티티 ID를 설정합니다. 이것은 Okta가 서비스를 인식하는 데 사용할 고유 식별자입니다. Okta 화면에서 사용한 것과 동일한 엔티티 ID를 사용합니다: 카우치베이스 데모 통합
    2. 조직 세부 정보: 조직 이름 및 연락처 필드에 사용자 정보를 입력합니다.
    3. SP 기본 URL 유형: 선택  사용자 지정 URL 를 클릭하고 인터넷에서 서비스에 액세스할 수 있는 URL을 사용합니다. 다음을 지정합니다. https://127.0.0.1:8091 로컬에서 Couchbase 서버를 실행하고 있기 때문입니다.
    4. 서명 메타데이터: 다음 사항을 확인하십시오. 아래에 지정된 인증서를 사용하여 메타데이터 서명 토글이 활성화됩니다.

인증서 관리

    1. 개인 키 업로드: 키 및 인증서 섹션을 열고 개인 키를 업로드합니다.
    2. 인증서 업로드인증서를 업로드할 수도 있습니다.
    3. 인증서 체인: 선택 사항으로 인증서 체인이 필요한 경우, 인증서 체인도 업로드하세요.

ID 공급자 구성

    1. 메타데이터 열기: 이 구성의 메타데이터 섹션을 엽니다.

    2. IDP 메타데이터 구성: Okta 구성 화면으로 돌아가서 다음을 복사합니다. 메타데이터 URL
    3. 엽니다: 새 브라우저 창에 URL을 붙여넣기
    4. 콘텐츠를 복사합니다: 전체 파일을 선택하고 콘텐츠를 클립보드에 복사합니다.
    5. XML을 붙여넣습니다: Couchbase 서버로 돌아가서 IDP 로드 메타데이터를 URL에서 다음과 같이 변경합니다. 파일 를 클릭하고 XML을 텍스트 영역에 붙여넣습니다:

      URL을 지정하여 ID 공급자의 메타데이터를 직접 로드할 수 있는 옵션이 있다는 점에 주목할 필요가 있습니다. 이 방법을 선택하는 경우 해당 CA(인증 기관) 인증서도 업로드해야 합니다. 그렇지 않으면 Couchbase 서버가 IdP에서 메타데이터를 다운로드할 수 없습니다.
    6. 원격 피어 확인을 사용 설정합니다: 원격 피어 확인을 토글하여 켜져 있는지 확인합니다.

    7. 신뢰할 수 있는 지문: 모든 지문 유효성 검사 토글을 사용하도록 설정했는지 확인하세요:
    8. 지문 열기: Okta 화면으로 돌아가서 인증서 지문 섹션을 엽니다.
    9. 지문 복사: SHA1(형식이 지정된) 지문을 클립보드에 복사하여 Couchbase의 신뢰할 수 있는 지문 텍스트 영역에 붙여넣습니다.


    10. 이름 ID 형식 변경: Okta 기본 사용 지정되지 않음. Okta와 Couchbase Server에서 일치하는지 확인해야 합니다. Couchbase를 다음에서 변경합니다. 지속적지정되지 않음 이 필드를 다음과 같이 변경하여 urn:oasis:names:tc:SAML:1.1:nameid-형식:지정되지 않음 로 설정하여 Okta의 기본값과 일치하도록 합니다. 
    11. 구성 저장: 클릭 저장 를 눌러 지금까지의 구성을 유지합니다.

Okta를 IdP로 계속 구성하기...

이제 Couchbase가 있고 ACS 엔드포인트가 있으므로 Okta로 돌아가서 구성을 완료해야 합니다.

자리 표시자 변경

SAML 설정:

    • 일반으로 이동합니다: Okta로 돌아가서 일반 탭을 엽니다.
    • SAML 설정 열기: 아래로 스크롤하여 SAML 설정으로 이동한 후 편집 링크
    • 다음: 다음을 클릭하여 SAML 설정 탭으로 이동합니다.
    • 통합 인증 URL (ACS URL)을 입력합니다: Couchbase 서버에서 구성한 ACS(어설션 소비자 서비스) URL을 입력합니다. Couchbase 서버 UI에서 "현재 SP 소비 URL"을 복사하여 이 필드에 값을 붙여넣어야 합니다.
    • 대상 URI (SP 엔티티 ID)를 입력합니다: 이 시점에서 Couchbase 서버의 "SP 엔티티 ID"가 "오디언스 URI"를 Okta에 추가합니다.
    • 완료: 먼저 화면 하단의 '다음'을 누른 다음 '마침'을 눌러 변경 내용을 저장합니다.  

애플리케이션에 사용자 할당

    1. 과제로 이동합니다: 로 이동하여 과제 탭을 클릭합니다.
    2. 사용자 할당: 클릭 할당 를 클릭한 다음 사람에게 할당 를 클릭하여 이 SAML SSO 설정을 사용할 사용자를 추가합니다.
    3. 완료되었습니다: 할당을 확인합니다. 

SP 인증서 업로드 및 로그아웃 사용

    1. SAML 구성 열기: Couchbase 서버 UI의 SAML 구성 화면으로 돌아가기 
    2. SP 인증서를 저장합니다: 메타데이터 다운로드 버튼을 클릭합니다.

    3. 파일 열기: 텍스트 편집기에서 방금 다운로드한 메타데이터 파일을 엽니다.
    4. 인증서 추출: 찾기 <KeyDescriptor> 이 파일 안에는 그 안에 <X509Certificate> 태그에 인증서가 포함되어 있습니다.
    5. 인증서 포맷: 열기 https://www.samltool.com/format_x509cert.php 또는 이와 유사한 도구를 사용하여 헤더를 포함하도록 이 인증서의 형식을 지정합니다.

    6. 인증서 저장: 원하는 텍스트 편집기를 사용하여 포맷된 인증서를 새 파일에 저장합니다. 
    7. Okta로 이동: Okta 콘솔로 돌아가 애플리케이션을 엽니다.
    8. 일반으로 이동합니다: Okta로 돌아가서 일반 탭을 엽니다.
    9. SAML 설정 열기: 아래로 스크롤하여 SAML 설정으로 이동한 후 편집 링크
    10. 다음: 다음을 클릭하여 SAML 설정 탭으로 이동합니다.
    11. 고급 표시: 고급 설정 표시를 클릭합니다.

    12. 서명 인증서로 이동: 아래로 스크롤하여 서명 인증서 
    13. 인증서 업로드: 6단계에서 저장한 인증서를 업로드합니다.
    14. 서명된 요청을 사용 설정합니다: 인증서 업로드 필드 아래에서 서명된 요청 사용 설정을 찾을 수 있습니다. 서명 인증서를 사용하여 SAML 요청 유효성 검사 토글을 활성화해야 iDP가 Couchbase에서 받은 SAML 요청의 유효성을 검사할 수 있습니다.

    15. 단일 로그아웃 사용: 단일 로그아웃을 활성화할 수도 있습니다. 이 경우 사용자가 카우치베이스 서버 UI에서 로그아웃 버튼을 클릭하면 카우치베이스 서버가 해당 사용자를 iDP에서 로그아웃합니다.
      • 먼저 Couchbase 서버로 이동하여 로그아웃 URL을 복사해야 합니다.

      • Okta의 단일 로그아웃 URL 필드에 붙여 넣기
      • 또한 엔티티 ID를 SP 발급자 필드에 복사합니다.

      • 원래 메타데이터에는 로그아웃이 활성화되어 있지 않았으므로 Okta로 돌아가서 메타데이터 정보를 다시 복사한 후 Couchbase 서버에서 새로 고쳐야만 로그아웃이 작동합니다.
    16. 완료: 먼저 화면 하단의 '다음'을 누른 다음 '마침'을 눌러 변경 내용을 저장합니다. 

이 단계를 수행하면 Okta를 SAML 서비스 공급자(SP)의 ID 공급자(IdP)로 성공적으로 구성했어야 합니다. 다음 섹션에서는 Okta와 Couchbase 서버 간에 사용자 속성을 매핑하는 방법을 다룹니다.

 

Okta 사용자를 카우치베이스 서버 사용자에 매핑하기

Okta를 ID 공급자(IdP)로, Couchbase 서버를 서비스 공급자(SP)로 성공적으로 구성했다면 다음 단계는 사용자 속성이 둘 사이에 올바르게 매핑되었는지 확인하는 것입니다. 속성 매핑은 원활한 사용자 경험을 제공하고 애플리케이션에서 필요한 사용자 정보를 사용할 수 있도록 하는 데 매우 중요합니다.

사용자 간 매핑

사용자를 매핑하는 가장 간단한 방법은 Couchbase 서버에서 Okta의 사용자와 일치하는 외부 사용자를 만드는 것입니다. 이 예제에서는 바로 그렇게 했습니다. 

    1. Okta에서 이메일 찾기: Okta 대시보드로 돌아가서 사용자의 이메일 주소를 찾습니다.
    2. 카우치베이스 서버 UI 열기: 카우치베이스 서버 UI 열기
    3. 보안을 클릭합니다.: 왼쪽에서 보안 링크를 찾을 수 있습니다.
    4. 사용자 탭을 엽니다.: 상단에 사용자/그룹 탭이 있으며, 이 탭을 클릭하면 Couchbase Server의 사용자가 나열됩니다:
    5. 사용자 추가: 오른쪽 상단의 사용자 추가 버튼을 클릭합니다.
    6. 외부 사용자: 사용자를 "외부"로 설정했는지 확인해야 합니다.  문서 보기.
    7. 사용자 아이디를 입력합니다: Okta 사용자 이름을 이 필드에 복사합니다.

    8. 역할을 설정합니다: 오른쪽에서 사용자가 가져야 하는 정확한 역할을 선택해야 합니다.
    9. 그룹을 설정합니다: (선택 사항) 이전에 지정한 Couchbase 서버 그룹에 외부 사용자를 추가할 수도 있습니다.

사용자와 그룹 간 매핑

사용자를 매핑하는 또 다른 방법은 Couchbase 서버에서 Okta의 그룹과 일치하는 그룹을 만드는 것입니다.

    1. Okta로 이동: Okta 콘솔로 돌아가서 
    2. 그룹 만들기: Okta에서 다음과 같은 그룹을 만듭니다. 테스트
    3. 애플리케이션 열기: 이전에 구성한 애플리케이션을 선택합니다.
    4. 일반으로 이동합니다: Okta로 돌아가서 일반 탭을 엽니다.
    5. SAML 설정 열기: 아래로 스크롤하여 SAML 설정으로 이동한 후 편집 링크
    6. 다음: 다음을 클릭하여 SAML 설정 탭으로 이동합니다.
    7. 그룹 매핑 만들기: 그룹 속성 문까지 아래로 스크롤하여 새 매핑을 만듭니다. 이 경우 그룹이라는 어설션을 만들고 있습니다.
    8. Couchbase 서버 UI로 이동합니다.: Couchbase 서버 UI로 돌아가서 SAML 설정을 엽니다.
    9. 싱글 사인온 설정 열기: 아래로 스크롤하여 설정 > 싱글 사인온을 엽니다.
    10. 그룹 매핑을 설정합니다: Okta 측에서 생성한 그룹 클레임의 이름을 입력합니다.

이 기능을 사용하려면 Okta 그룹의 이름과 일치하는 Couchbase 서버 그룹이 있는지 확인해야 합니다. 그룹이 만들어지면 그룹 매핑을 통해 Couchbase 역할이 추론되는 Couchbase에 Okta 사용자로 로그인할 수 있습니다.

 

결론

축하합니다! 이 포괄적인 가이드를 따라했다면 이제 Okta와 Couchbase 서버 간에 모든 기능을 갖춘 SAML 기반 싱글 사인온(SSO) 및 싱글 로그아웃(SLO) 설정이 완료되었을 것입니다.

요약하자면, SAML을 통해 Couchbase 서버와 Okta를 통합하면 인증 프로세스가 간소화될 뿐만 아니라 보안도 강화되어 데이터 무결성을 손상시키지 않고 원활한 사용자 경험을 제공할 수 있습니다. 이 연결을 설정하는 데 필요한 필수 단계를 안내해 드렸으니 이 가이드가 도움이 되셨기를 바랍니다. 문제가 발생하거나 추가 질문이 있는 경우 언제든지 지원 채널을 통해 문의해 주세요.

 

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

Author

Posted by 이스트반 오르반, 수석 제품 관리자

이스트반 오르반은 Couchbase의 수석 제품 관리자로 영국에 거주하고 있습니다. Istvan은 풀스택 소프트웨어 엔지니어, 팀 리더, Devops 엔지니어로서 다양한 경험을 보유하고 있습니다. 그의 주요 관심 분야는 보안과 싱글 사인온입니다. Istvan은 20년 경력의 전문가로서 여러 대규모 프로젝트를 이끌었습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.