SSO, SAML, OAuth, RBAC는 모두 인증 및 권한 부여와 관련된 주요한 개념들입니다.
- SSO (Single Sign-On): SSO는 사용자가 여러 시스템 또는 애플리케이션에 대해 단일 자격 증명으로 로그인할 수 있는 인증 메커니즘입니다. 사용자가 한 번 로그인하면 다른 모든 시스템에 자동으로 인증됩니다. 이것은 사용자 경험을 향상시키고 보안을 강화합니다.
- 기업 내부에서 여러 개의 서비스 또는 애플리케이션을 사용하는 경우, 한 번의 로그인으로 모든 서비스에 액세스할 수 있습니다. 예를 들어, 회사의 이메일, 업무용 소프트웨어, 그룹웨어 등 여러 서비스에 대해 단일 로그인을 사용할 수 있습니다.
- Google: Google Workspace를 통해 Gmail, Google Drive, Google Calendar 등 다양한 서비스에 대한 SSO를 제공합니다.
- SAML (Security Assertion Markup Language): SSO의 구현 방식 중 하나입니다. SAML은 XML 기반의 표준 인증 프로토콜로, 서로 다른 도메인 간에 인증 및 권한 정보를 안전하게 전달하는 데 사용됩니다.
- 사용자가 클라우드 기반의 서비스에 접속할 때, 이 서비스는 사용자의 신원을 확인하기 위해 해당 사용자의 아이디나 비밀번호를 직접 요구하지 않고, SAML을 통해 사용자의 인증 정보를 받아 올 수 있습니다.
- OAuth (Open Authorization): OAuth는 주로 서로 다른 서비스 간에 사용자 데이터에 대한 접근 권한을 위임할 때 사용됩니다. OAuth의 핵심은 Access Token입니다.
- 사용자가 트위터나 페이스북과 같은 소셜 미디어 서비스를 사용하여 다른 애플리케이션에 로그인할 때, OAuth를 사용하여 해당 애플리케이션이 사용자의 소셜 미디어 계정에 접근 권한을 요청합니다.
- Facebook: Facebook은 OAuth를 사용하여 사용자가 Facebook 계정을 사용하여 외부 애플리케이션에 로그인할 수 있도록 지원합니다.
- GitHub: GitHub은 OAuth를 통해 다른 서비스나 애플리케이션이 GitHub 계정으로 사용자를 인증하고 GitHub API에 접근할 수 있도록 합니다.
- RBAC (Role-Based Access Control): RBAC는 사용자에게 역할을 할당하고 각 역할에는 특정 작업 또는 자원에 대한 액세스 권한이 부여됩니다. 이를 통해 시스템 관리자는 사용자가 어떤 작업을 수행할 수 있는지 쉽게 관리하고 제어할 수 있습니다. 이는 보안을 강화하고 권한 부여를 단순화하는 데 도움이 됩니다.
- 기업 네트워크에 접속하는 사용자들에 대해, 각각 다른 역할과 권한을 할당할 수 있습니다. 예를 들어, "관리자", "사용자", "게스트" 등의 역할을 정의하고, 각 역할에 대해 특정 네트워크 자원에 대한 접근 권한을 부여할 수 있습니다. "관리자" 역할은 모든 자원에 대한 완전한 액세스 권한을 가질 수 있지만, "게스트" 역할은 제한된 자원에만 접근할 수 있을 수 있습니다.
- Amazon Web Services (AWS): AWS Identity and Access Management (IAM)은 RBAC를 통해 사용자와 리소스 간의 액세스를 관리합니다. 각 사용자에 대해 역할을 할당하고 해당 역할에 따라 권한을 부여합니다.
'개발지식' 카테고리의 다른 글
http와 https의 차이 (0) | 2024.02.14 |
---|---|
사내 github에 내 package를 게시해보자 (github packages) (0) | 2024.02.01 |