Cloud Native/AWS

AWS 이론: IAM

lys4321 2026. 2. 24. 01:39

IAM 개요

  • Identity and Access Management의 약자
  • 누가, 무엇을, 어떻게 접근하나 를 관리
  • AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스
    • 사용자가 액세스할 수 있는 AWS 리소스를 제어하는 권한을 관리할 수 있다
  • 처음엔 AWS 계정 Root 사용자라는 단일 로그인 자격 증명으로 시작하여 IAM을 사용해 다른 ID 를 설정하고 액세스 권한을 부여
  • IAM 사용 시의 장점
    • AWS 계정에 대한 공유 엑세스 생성이 가능
      • 암호나 액세스 키를 공유하지 않고도 AWS 계정의 리소스를 관리하고 사용할 수 있는 권한을 다른 이에게 부여 가능(계정이 가진 권한을 계정 주인이 다른 사람에게 부여가 가능하다는 의미)
    • 세분화된 권한
      • 예를 들어서 한 AWS 서비스에 대해 어떤 이에게는 읽기 권한을, 또 다른 이에겐 액세스 권한을 주는 것처럼 세부적으로 권한을 부여할 수 있다.
    • EC2 인스턴스에서 실행되는 애플리케이션을 위한 AWS 리소스 액세스
      • EC2 인스턴스에게 IAM 기능을 사용하여 자격 증명을 제공할 수 있다. 이로 인해 애플리케이션은 다른 AWS 리소스에 액세스할 수 있는 권한을 받게 됨
    • 멀티 팩터 인증(MFA) 을 사용해 보안 강화
    • 아이덴티티 페더레이션(Identity Federation)
      • 다른 곳에 이미 암호가 있는 사용자에게 AWS 계정에 대한 액세스를 허용을 해주나, 임시 자격 증명으로 부여
      • 예시로 들만한 것은 인스타그램 로그인을 위해 구글 계정으로 로그인 하는 것(같은 인물의 다른 계정)

IAM의 매커니즘

  • AWS에서 요청이 발생하는 경우
    • 사용자가 직접 행동하는 경우
    • 외부 프로그램이 API로 호출하는 경우
    • AWS 서비스가 다른 서비스를 호출하는 경우
    • 자동화 및 스케줄 설정에 의해 발생하는 경우
  • 단계 및 작업 내용
    • Principal(주체)
      • 요청을 하는 주체, 요청을 보내기전 Authentication을 먼저 거치고 성공해야 함
      • 종류
        • IAM User
        • IAM Role
        • Federated User
        • Application
    • Request(요청)
      • 구성요소
        • Principal
          • 요청을 하는 보안 주체의 정보
        • Actions/Operations(콘솔/API 및 CLI)
          • 보안 주체가 하려는 작업에 대한 정보
        • Environment data
          • 보안 주체에 대한 컨텍스트에 대한 정보
        • Resource
          • 보안 주체가 요청하려는 자원에 대한 정보
        • Resource data
          • 요청하려는 자원에 대한 메타데이터에 대한 정보
      • 예시 : '아무개'가 '이런일'을 하려하는데 '어느시점에 어떤 방법'으로 '어떤 자원중'에 '특별히 이렇게 생긴 것'을 요청
    • Authorization(권한 평가)
      • 들어온 요청에 대해 이 요청을 보낸 사람이 권한을 만족하는지 검사
      • IAM은 모든 적용 가능한 정책을 한꺼번에 평가해 허용여부를 결정
      • 종류
        • Identity-based policies
          • 사용자/역할에 붙는 정책
          • JSON이나 Visual Editor 형태
        • Resource-based policies
          • 리소스 자체에 붙는 정책
          • JSON 형태
        • other policies
          • 기타 검사 정책
          • JSON 형태
    • Actions/Operations(행동 실행)
      • 허용 완료 후 요청처리 단계
      • 요청 내 Actions/Operations 에 대하여 실행
    • Resources(자원 저장)
      • 요청 내 Resource, Resource data에 대하여 실행

IAM 자격 증명

  • IAM 단어
    • IAM 리소스
      • IAM 서비스가 저장하는 리소스
      • 종류
        • IAM 사용자
        • IAM 그룹
        • IAM 역할
        • 권한 정책
        • 자격 증명 공급자 객체
    • IAM 엔터티
      • AWS가 인증에 사용하는 IAM 리소스
      • RBAC에서는 엔터티를 보안 주체로 지정
      • 종류
        • IAM 사용자
        • IAM 역할
    • 보안 주체
      • AWS 리소스에 대한 작업/연산을 요청할 수 있는 AWS 계정 루트 사용자, IAM 사용자, IAM 역할
      • 보안 주체에는 인간 사용자, 워크로드, 페더레이션 보안 주체 및 맡은 역할 등이 포함
        • 인간 사용자
          • 사용하는 인간
        • 워크로드
          • 비즈니스 가치를 창출하는 리소스 및 코드 모음
        • 페더레이션 보안 주체
          • Active Directory, Okta 등 같은 다른 ID 공급자가 자격 증명과 보안 인증 정보를 관리하는 사용자
          • 비슷한 것으로는 SSO라고 생각된다.
        • IAM 역할
          • 계정이 가능한 것, 불가능한 것을 결정하는 특정 권한을 지닌 IAM 자격 증명
      • 보안 주체의 유형에 따라 AWS에 요청할 수 있는 영구/임시 보안 인증 정보를 부여

기타 정리 내용

  • IAM 리소스는

    • Policy
    • Instance profile
    • OIDC provider
    • Etc
    • Identity
      • IAM group
      • Entity
        • Principal
          • IAM user
          • IAM role
            로 이루어지고 Root user 만이 리소스에 해당되지 않으면서 Principal에 해당
  • 기존 자격 증명 소스의 사용자 페더레이션 과정

    • 사용자가 외부 디렉토리에서 ID, PW를 입력해서 정보를 요청
    • 외부 디렉토리는 그 요청을 사용해 정보를 찾아 응답
    • 사용자는 받은 정보로 AWS에 로그인 요청
    • IAM에서 해당 요청을 받아 처리
    • IAM이 처리 후 데이터를 사용자에게 응답
    • 사용자는 받은 데이터로 AWS 리소스에 접근

'Cloud Native > AWS' 카테고리의 다른 글

AWS 이론: S3  (0) 2026.02.24
AWS 이론: RDS  (0) 2026.02.24
AWS 이론: ELB  (0) 2026.02.24
AWS 이론: EC2 Auto Scaling  (0) 2026.02.24
AWS 이론: EC2  (0) 2026.02.24