IAM은 대부분의 클라우드 서비스에서 제공하는 기능으로, 클라우드 환경에서 접근 권한 및 인증에 사용되는 필수적인 기능이다.
IAM ( IdM )
-
구성 단계에서 접근 권한을 등록 및 승인한 다음 운영 단계에서 개인 또는 그룹을 식별하고 인증 제어하기 위한 조직 및 기술 프로세스.
-
IAM이라는 이름은 가트너라는 회사에서 제시한 이름. 대부분 IAM이라는 이름을 사용.
-
사전에 승인된 액세스 권한 기반으로 애플리케이션, 시스템, 네트워크에 액세스 가능.
-
IDM은 유저의 정보를 제어하기 위한 기술
- 접근 및 기능 수행을 위한 유저 인증 및 인가에 대한 정보
- 어떤 유저가 접근하고 수정할 수 있는지에 대해 서술된 정보를 관리한다.
-
인증 및 인가
- 인증 ( authentication )
- 로그인과 같이 사용자 또는 프로세스의 신원을 확인하는 프로세스
- 인증에 사용하는 데이터는 이미 저장된 데이터를 기반으로 비교
- Identity Management
- 인가 ( authorization )
- 권한 부여
- 누가 무엇을 할 수 있는지 결정하는 규칙
- 개인에게 조직의 기밀 리소스에 대한 부분 또는 전체 액세스 권한이 부여되는 프로세스
- Access Control
- 예시
- 위키에 로그인 하는 과정 → 인증
- 위키 문서에 접근할 수 있는 권한 → 인가
-
IAM 다이어 그램
-
설정 페이즈
- 유저의 신원을 등록
- credential information 프로비저닝
- access authorization
-
동작 페이즈
- 유저 신원 입력
- 프로비저닝 된 credential을 기반으로 인증
- access control
Function
실세계의 온라인 시스템 엔지니어링에서, identity management는 아래의 5가지 기능과 연관지을 수 있음.
-
pure identity function
-
신원의 생성, 관리, 삭제를 위해 사용
-
현실의 존재하는 entity를 identity에 대응시킨다.
-
identity는 attribute 혹은 indentifier로 구성되며, 그러한 구성의 조합이 unique한 identity를 정의하게 된다.
-
user access function
- 유저 정보를 기반으로 로그온을 해주는 함수
- 디지털 신원 기반으로 여러 어플리케이션에 액세스하고 권한을 관리
- 이러한 방식은 액세스 모니터링과 한 유저에 대해 과도하게 권한을 부여하는 것을 최소화 할 수 있음.
-
service function
- 유저에게 개인화 되거나 권한 기반의 시스템을 전달
- 조직은 내부 사용자와 고객을 위해 이러한 서비스를 지속적으로 추가 함.
- 이러한 서비스를 위해 IdM이 필요, IdM은 이러한 하나의 신원으로 조직의 여러 기능을 제공할 수 있음.
- 내부 유저의 경우, 디지털 자산에 대한 접근 통제를 할 수 있음.
- 개인화 된 서비스를 위해 여러 추가 정보 ( 취향, 주소, 연락처 ) 등을 추가로 필요로하는 경우가 많음.
-
identity federation
- 하나의 계정으로 로그인하여 여러 다른 시스템에 접근할 수 있는 기능
- Circle of Trust라고 부르며,
- SAML 과 같은 기능을 의미
- 하나의 계정으로 로그인하면 여러 기능을 사용가능.
-
audit function
System capabilities
- 유저 신원을 생성, 삭제, 수정하기 위해서는 보조적인 기능이 필요 함.
- Authentication
- 엔티티를 입증하기 위한 방법
- 대부분 비밀번호 기반으로 인증을 진행
- 지문, 혹은 제스쳐와 같이 핸드폰에 사용하는 것들도 인증의 한 방식
- Authorization
- 특정 어플리케이션에 대해 유저가 어떠한 동작을 할 수 있는지 정의
- 예를 들어, 쇼핑몰에서 판매 권한과 구매 권한 같은 것이 하나의 예시
- Roles
- 유저들의 역할 그룹
- 특정 동작을 할 수 있는 능력에 연관되어 있음
- Authorization 기반으로 role이 주어짐
- 예를 들어, Superadmin이라는Role은 모든 유저의 비밀번호를 리셋할 수 있는 role이 될 수 있음
- Delegation
- local admin이나 supervisor에게 global admin 권한 없이 시스템을 수정할 수 있게 위임.
클라우드 환경에서 IdM
- 리소스에 대해 개별적으로 접근 제어와 권한을 가지도록 계정을 생성
- IAM은 사용자의 정보를 여러 어플리케이션에서 사용되고, 관리될 수 있도록 해줌.
- 동시에 보안을
- 현재 IAM 시스템들은 클라우드 환경에서 리스크를 줄이기 위해 효과적인 기술.
- 많은 조직들은 각 유저의 접근 권한을 제어하여 정보를 보호하기 위해 IAM을 사용.
- SailPoint, IBM, Oracle 등에서 사용.
- SailPoint IAM 솔루션은 비밀번호 관리, 데이터 접근, 접근 요청, OAuth와 같은 SSO에 사용할 수 있도록 해줌.
클라우드 IAM 솔루션
- AWS, Azure, GCP, Kakao I Cloud 등 여러 클라우드에서 IAM 기능을 제공
- 주요 개념
- 대부분 유사한 기능을 제공
- 리소스 ( VM, Storage 등.. ) 에 대한 개별적으로 접근할 수 있는 접근 제어와 권한을 생성.
- 계정 또는 그룹마다 계정의 보안을 관리.
- 한 루트 계정에 여러 개의 IAM 계정을 생성하여, 각 계정마다 서비스에 대한 접근 통제 가능.
- 이렇게 함으로써 특정 서비스에만 접근 가능하게 계정을 제한할 수 있음.
주요 기능
- 계정에 대한 공유 액세스
- 액세스 키를 공유하지 않고 리소스를 관리하고 사용할 수 있는 권한을 부여 가능
- 권한 세분화
- 개별 유저별로 역할을 다르게 부여하여 세부 접근 권한 부여 가능