AWS - IAM ( User / Group / Role ) / AWS 정책

TopOfTheHead·2025년 12월 15일

클라우드 / AWS

목록 보기
4/38
post-thumbnail

IAM ( Identity and Access Management )
AWS의 보안 및 관리를 담당하는 글로벌 서비스
AWS 서비스AWS 계정에 할당된 Resource에 대한 Access를 관리하기 위한 기능
글로벌 서비스이므로 전 리전에 대해서 적용 가능

  • IAM 주요 기능
    AWS 계정 관리 및 Resource / AWS 서비스에 대한 권한 제어
    ▶ 해당 IAM User 계정에 대해 AWS 자원에 대한 Access를 허용 및 거부 여부를 설정

    IAM User, Group 생성 및 관리

    계정 보안을 담당
    MFA, 패스워드 정책

  • IAM 권한 검증 과정
    AWS 서비스 / AWS Resource를 사용 시 IAM User에 대해 다음 검증 절차를 수행

    ex ) 특정 IAM User 계정AWS EC2를 사용하는 경우

    1. 해당 IAM User 계정EC2를 사용할 수 있는 정책이 부여되어있는지 검증

    2. 해당 IAM User 계정이 속한 그룹EC2를 이용할 수 있는 정책이 부여되어있는지 검증

IAM 구성

  • IAM User
    。실제 AWS를 사용하는 개별 사용자

    。임의의 IAM User는 여러 그룹에 소속될 수 있다.

  • Group
    IAM User의 집합 개념
    ▶ 오직 IAM User만 포함가능하며 다른 Group을 포함할 수 없다.

    그룹정책을 부여하는 경우 그룹에 속한 IAM User그룹에 부여된 정책권한을 상속받아서 사용가능
    Linuxuser, group과 유사

  • IAM Role
    AWS 인스턴스에게 AWS 서비스를 사용할 수 있도록 일련의 AWS 권한를 정의하는 임시 권한 집합
    EC2 인스턴스, AWS Lambda 등의 인스턴스에 적용하여 권한부여

    EC2 인스턴스RDS 또는 S3 버킷에 접근할 수 있도록 적절한 권한이 부여된 IAM Role을 부여.


    。적용된 EC2 인스턴스가 실행중이더라도 동적으로 IAM Role에게 권한을 인가 or 제거가 가능
    ▶ 실행중인 EC2 인스턴스는 해당 설정이 동적으로 적용

    권한을 가진 IAM RoleEC2 인스턴스에 설정하는 경우 EC2 인스턴스 내부의 어플리케이션도 동일하게 권한을 부여
    EC2 인스턴스 내부 어플리케이션에서 AWS 서비스에 접근하여 해당 권한을 사용가능

정책 ( Policy )
IAM User, Group, IAM Role들이 수행 할 수 있는 AWS 서비스에 대한 특정 권한조건을 정의한 JSON 문서

IAM User 또는 IAM Role이 수행할 수 있는 작업 또는 자원정책을 지정
▶ 해당 Policy를 통해 AWS 서비스요청을 수행할 권한을 획득

정책을 적용 시 그룹에 부여하여 해당 그룹 내 IAM User에게 상속하게 하거나, 직접 정책IAM User에게 적용하는 inline 방식 존재

권한 설정 시 최소 권한의 원칙을 적용
사용자가 필요 이상의 권한을 가지지않도록 방지


Policy를 정의한 JSON 문서 구성
。다음 구성을 조합하여 각 주체가 수행가능한 권한 내용을 자세하게 정의

。각각의 StatementSid / Action / Principal / Effect / Resource / Condition을 지정

Statement 구성요소

  • Sid : 해당 Statement식별자

  • Action :
    AWS 자원에 대해 수행할 기능을 정의
    ex ) "Acition" : [s3:"ListBucket"] : s3 서비스에서 Bucket들을 나열할 수 있는 행동

  • Principal :
    。해당 StatementPolicy를 적용할 IAM User / Group / IAM Role을 정의
    ex ) "Principal" : { "arn:aws:iam::123456789012:root" } : 해당 IAM User에 대해 Policy를 지정

  • Effect :
    AWS 자원에 대한 Action허용( "Allow" ) / 거부( "Deny" )를 설정
    ex ) "Effect" : "Allow" : 허용

  • Resource :
    Action이 적용될 AWS 자원을 설정
    ex ) "Resource" : ["arn:자원명"] : 해당 ARN에 해당하는 AWS Resource에 대해서

  • Condition :
    정책이 적용되는 조건
    IP주소 / 시간대 / ... 등 에 대해서 조건을 설정 가능


    Policy : AdministratorAccess의 경우

    ▶ 모든 자원( = * )에 대해 모든 행동 ( = *)을 허용

AWS IAM 사용 주의사항

  • 최소권한의 법칙을 통해 단순 AWS 서비스 사용 시 Root User 대신 IAM User를 생성하여 사용
    root user의 사용은 반드시 지양해야하며, admin 역할의 IAM User를 생성하여 활용해야한다.

  • 물리적 사용자 당 오직 하나의 IAM User 계정를 생성하여 사용
    。새로운 개발자 발생 시 해당하는 IAM User 계정을 생성하여 제공
    ▶ 한 개발자에 다수의 IAM User 계정을 할당하지 않도록 설정

  • AWS 권한그룹 수준으로 관리
    IAM User들이 소속된 IAM Group정책을 변경하여 보안그룹 수준으로 관리
profile
공부기록 블로그

0개의 댓글