AWS IAM

JJStone·2023년 3월 2일
0

AWS IAM

1. AWS IAM 개요

1-1. 개요

  • AWS 계정 및 권한 관리 서비스
  • AWS 서비스와 리소스에 대한 액세스 관리
  • 사용자, 그룹, 역할, 정책으로 구성
  • 리전에 속하는 서비스가 아닌 글로벌 서비스
  • 계정 보안 강화를 위해
    • 루트 계정(AWS 회원가입시 만들어지는 계정)은 최초 사용자 계정 생성 이후 가능하면 사용하지 말 것.
    • 사용자 계정 (IAM 계정)으로 서비스를 사용하고 사용자는 필요한 최소한의 권한만 부여 (최소권한의 원칙)
    • 루트계정과 개별 사용자 계정에 강력한 암호 정책과 멀티팩터 인증 (MFA) 적용

1-2. 엑세스 관리

  • 사용자 (User)

    • 사람, ID, 계정
    • IAM ㄱ
  • 그룹 (Group)

    • 사용자의 모음 (ex. 재무팀, 개발팀 등)
  • 역할 (Role)

    • AWS 리소스에서 사용하는 자격 증명 (ex. AWS EC2에서 실행되는 애플리케이션이 S3, RDS와 같은 AWS 리소스에 액세스하는 권한)
    • 특정 AWS 서비스가 다른 AWS 서비스에 엑세스하여 작업을 수행할 때 필요한 권한
    • 정책을 연결하여 IAM 역할에 작업 수행할 권한을 부여
    • 신뢰 정책
      • IAM 역할을 사용하여 AWS 계정간 엑세스 권한 위임을 하는 기능
      • 신뢰 정책 (Trust Policy)를 사용하여 다른 AWS 계정에 역할을 위임 가능
      • Tip: "엑세스 권한"이라는 단어가 나올경우 대부분 역할 혹은 신뢰 정책에 대한 문제이다.
  • 정책 (Policy)

    • 사용자, 그룹, 역할에 대한 권한 정의 (어떤 것을 할 수 있고, 어떤 것을 할 수 없는지 JSON 문서 형식으로 구성)
    • AWS 리소스에 대한 엑세스 권한을 정의한것
    • 사용자, 그룹, 역할에 정책을 연결하여 사용
    • JSON 문서 형식으로 이루어짐
      • Effect : Statemaent에 대한 Access(허용) or Deny(거부)
      • Action : 권한에 대한 작업 목록
      • Resource : 권한이 적용되는 리소스
      • Condition : 정책이 적용되는 세부 조건
    • ex) 아래와 같이 JSON 문서가 설정되어 있을 때
      • 1번 요소: lambda 서비스에 대한 모든 작업과 모든 리소스에 대해서 허용.
      • 2번 요소: lambda 서비스에 대해 함수를 생성하고 삭제하는것을 220.100.16.0/20 아이피에 대해서 거부한다. (리소스도 마찬가지)
  • IAM 보안 도구

    • IAM 자격 증명 보고서 (Credentials Report)
      • 계정의 모든 사용자와 암호, 액세스 키, MFA 디바이스 등의 자격 증명 상태에 대한 보고서를 다운로드
    • IAM 엑세스 관리자 (Access Advisor)
      • 사용자 또는 역할이 허용된 서비스에 마지막으로 엑세스하려고 시도한 시간을 표시
      • 이 정보를 사용해 필요이상으로 부여된 권한을 재정의 하는데 참고 가능
  • IAM Policy Simulator

    • AWS 계정의 IAM 사용자, 사용자 그룹 또는 역할에 연결된 정책을 테스트
profile
java, scala 개발자 입니다.

0개의 댓글