IAM에 대해 알아보자

kshired·2022년 7월 1일
0

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 계정을 생성하여, 각 계정마다 서비스에 대한 접근 통제 가능.
    • 이렇게 함으로써 특정 서비스에만 접근 가능하게 계정을 제한할 수 있음.

주요 기능

  • 계정에 대한 공유 액세스
    • 액세스 키를 공유하지 않고 리소스를 관리하고 사용할 수 있는 권한을 부여 가능
  • 권한 세분화
    • 개별 유저별로 역할을 다르게 부여하여 세부 접근 권한 부여 가능
profile
글 쓰는 개발자

0개의 댓글