데이터 애널리스트 업무 이해하기

[SNOWFLAKE/스노우플레이크 공부] Pro 자격증 준비에 필요한 토막 지식 정리_OAuth,SCIM

도쿄뱅 2024. 10. 13. 19:06
반응형

[SNOWFLAKE/스노우플레이크 공부] Pro 자격증 준비에 필요한 토막 지식 정리_OAuth,SCIM


 

 

OAuthSCIM은 각각 인증 및 권한 부여사용자 관리 자동화와 관련된 프로토콜로, 주로 클라우드 서비스와 애플리케이션에서 사용돼요. 이 두 가지는 조직의 보안 관리사용자 계정 관리를 보다 효율적으로 수행하는 데 도움을 줍니다.

1. OAuth란?

OAuthOpen Authorization의 줄임말로, 서드파티 애플리케이션이 사용자 대신 리소스에 접근할 수 있도록 허용하는 인증 및 권한 부여 프로토콜이에요.

주요 개념

  • 목적:
    • OAuth의 목적은 사용자가 자신의 로그인 자격 증명을 공유하지 않고도 서드파티 애플리케이션이 특정 리소스에 접근할 수 있도록 허용하는 거예요.
    • 예를 들어, 당신이 어떤 앱에 로그인할 때, 그 앱이 Google 계정을 통해 로그인하는 옵션을 제공하는 경우가 있죠? 이때 OAuth가 사용돼요.
  • 작동 방식:
    • 사용자가 리소스 소유자이고, 리소스 서버는 사용자 데이터를 보유하고 있는 서버예요. **클라이언트(서드파티 애플리케이션)**가 사용자 대신 리소스에 접근하려고 할 때 OAuth를 통해 인증을 받아요.
    • 사용자는 클라이언트가 특정 권한을 얻을 수 있도록 **권한 부여 토큰(Access Token)**을 제공해요. 이 토큰을 사용하여 클라이언트는 리소스 서버에 접근할 수 있게 됩니다.
  • OAuth 2.0:
    • OAuth 2.0은 현재 가장 널리 사용되는 버전이에요. 이 버전에서는 인증 과정이 간소화되었고, 다양한 인증 플로우를 지원해 여러 상황에서 유연하게 사용할 수 있어요.
    • OAuth 2.0의 주요 플로우는 Authorization Code Flow, Implicit Flow, Client Credentials Flow, Resource Owner Password Credentials Flow 등이 있어요. 각각의 플로우는 애플리케이션의 특성에 따라 적합한 방식으로 선택됩니다.

사용 사례

  • SNS 로그인:
    • 사용자들이 자신의 Google이나 Facebook 계정으로 타 사이트에 로그인할 때 사용해요. 이때, 사용자는 자신의 계정 비밀번호를 제공하지 않고도 인증을 완료할 수 있어요.
  • API 접근 제어:
    • 애플리케이션이 특정 사용자 데이터를 가지고 있는 **클라우드 서비스(API)**에 접근할 때, 해당 API의 데이터를 안전하게 공유할 수 있어요.

2. SCIM이란?

SCIMSystem for Cross-domain Identity Management의 줄임말로, 사용자 및 그룹 정보를 클라우드 서비스 간에 자동으로 교환할 수 있게 해주는 프로토콜이에요.

주요 개념

  • 목적:
    • SCIM의 목적은 사용자 계정 생성, 수정, 삭제 등의 작업을 자동화해서 ID 관리를 쉽게 할 수 있도록 하는 거예요.
    • 특히 기업에서는 많은 사용자를 여러 애플리케이션에서 관리해야 하죠? 이때 SCIM을 사용하면 중앙 관리 시스템에서 사용자를 자동으로 추가하거나 제거할 수 있어요.
  • 작동 방식:
    • SCIM은 REST API 기반으로 동작해요. 이를 통해 사용자의 프로필 정보를 관리하는 시스템(예: ID 제공자)이 클라우드 서비스에 사용자 정보(이름, 이메일, 그룹 등)를 전달해요.
    • SCIM API는 사용자 데이터를 JSON 형식으로 주고받으며, HTTP 요청을 통해 사용자의 추가, 수정, 삭제 작업을 자동으로 수행해요.
  • SCIM 2.0:
    • SCIM 2.0은 현재 사용되는 표준 버전으로, 사용자 관리에 필요한 스키마엔드포인트가 정의되어 있어요. 이를 통해 사용자와 그룹의 정보가 일관되게 전달될 수 있도록 해줘요.

사용 사례

  • SSO(싱글 사인 온)ID 관리 시스템과의 연동:
    • Okta, Azure AD, Ping Identity와 같은 SSO 제공자클라우드 애플리케이션 간에 SCIM을 사용해서 사용자 프로비저닝을 자동화할 수 있어요.
    • 예를 들어, 직원이 회사에 새로 입사하면, SCIM을 통해 해당 사용자의 계정이 여러 클라우드 애플리케이션에 자동으로 생성되고, 퇴사 시에는 자동으로 삭제되죠.
  • 다양한 애플리케이션 간 사용자 정보 동기화:
    • 조직의 HR 시스템에서 관리되는 사용자 정보가 클라우드 애플리케이션(예: Slack, GitHub, Google Workspace)과 자동으로 동기화될 수 있어요.

3. 비유로 이해하기

  • OAuth:
    • 마치 호텔 리셉션에서 방 열쇠를 받는 것 같아요. 호텔 직원은 고객에게 **방 열쇠(권한 부여 토큰)**를 줘서, 고객이 직접 방에 들어갈 수 있도록 해줘요. 호텔 직원(리소스 소유자)은 고객(클라이언트)에게 **모든 방의 마스터 키(비밀번호)**를 주지 않고, 필요한 특정 방에만 접근할 수 있도록 제한된 열쇠만 줍니다.
  • SCIM:
    • 회사 HR 시스템에서 직원 출입증자동으로 발급하고, 자동으로 만료 처리하는 것과 비슷해요. 새로운 직원이 입사하면 출입증이 자동으로 발급되고, 퇴사하면 출입증이 자동으로 비활성화돼요. 이를 통해 여러 사무실이나 시스템 간에 직원의 출입 권한을 효율적으로 관리할 수 있어요.

4. OAuth와 SCIM의 차이점

  • OAuth리소스 접근에 대한 권한 부여를 다루는 반면, SCIM사용자와 그룹의 계정 정보 관리에 초점을 맞추고 있어요.
  • OAuth앱이 데이터를 접근하는 방식에 대해 다루고, SCIM사용자 데이터를 애플리케이션 간에 어떻게 동기화할지를 다루죠.
  • 쉽게 말해, OAuth는 사용자가 무엇에 접근할 수 있는지를 제어하고, SCIM은 누가 존재하는지를 관리해요.

5. 정리

  • OAuth: 사용자가 자신의 비밀번호를 직접 제공하지 않고도, 서드파티 애플리케이션이 특정 리소스에 접근할 수 있도록 권한 부여하는 방식이에요.
  • SCIM: 사용자 계정 관리자동화하고, 클라우드 애플리케이션 간에 사용자 정보 동기화를 간편하게 하는 프로토콜이에요.

이 두 기술은 기업의 보안 관리사용자 관리를 보다 쉽게 하고, 클라우드 환경에서 효율적인 데이터 보호사용자 정보 동기화를 가능하게 해줘요.

 


[SNOWFLAKE/스노우플레이크 공부] Pro 자격증 준비에 필요한 토막 지식 정리_OAuth,SCIM

반응형