사진찍는 개발자📸👩‍💻

[SAA] IAM(Identify and Access Management) 본문

develop/AWS

[SAA] IAM(Identify and Access Management)

hsleeee 2024. 1. 26. 00:56
반응형
SMALL

1. IAM (Identify and Access Management)

- Users & Groups

  • 사용자를 생성하고 그룹 내에 배치하기 때문에 글로벌 서비스에 해당
  • Root 계정은 default로 생성 되나, 사용 및 공유 해서는 안됨
  • Group 내에는 사용자만 배치 가능, 다른 그룹 포함 불가

- Permissions

  • 사용자(그룹)에게 권한, 또는 IAM Policy 라고 불리는 JSON 문서 지정 가능
  • 해당 문서를 통하여 사용자들의 권한 정의 가능
  • AWS에서는 least privilege principle(최소 권한의 원칙)을 사용하여 사용자가 꼭 필요로 하는 권한만 제공

- Policies Structure

  • 구성 요소
    Version: 정책 언어의 버전 (ex: "2024-01-01")
    Id: 정책을 식별하는 ID (Optional)
    Statement: 한 개 이상의 statements (Required)
  • Statement 구성 요소
    Sid(시드): Statement의 식별자 (Optional)
    Effect(효과): 특정 API의 접근 권한(Allow/Deny)
    Principal(원칙): 특정 정책이 적용될 사용자, 계정 혹은 역할
    Action(조치): Effect에 기반하여 허용 및 거부되는 API 호출의 목록
    Resource(리소스): 적용될 Action의 리소스 목록
    Condition(조건): Statement가 언제 적용될 지 결정 (Optional)

- Password Policy

  • 다양한 옵션을 이용한 비밀번호 정책 생성 가능
  • 비밀번호 최소 길이 설정
  • 특정 유형의 글자 사용(대문자, 소문자, 숫자, 특수문자)
  • IAM 사용자들의 비밀번호 변경 권한 제공
  • 비밀번호 만료 기간 설정
  • 비밀번호 재사용 금지

- MFA(Multi Factor Authentication)

  • Virtual MFA device: 하나의 장치에서 토큰을 여러개 지원, 원하는 수 만큼의 계정 및 사용자 등록 가능 (ex: Google Authenticator, Authy)
  • Universal 2nd Factor(U2F) Security Key: 하나의 보안 키에서 여러 루트 계정과 IAM 사용자 지원(ex: Yubikey by Yubico)
  • Hardware Key Fob MFA Device: (ex: Provided by Gemalto)
  • Hardware Key Fob MFA Device for AWS GovCloud(US): (ex: Provided by SurePassID)

2. AWS CLI (Command Line Interface)

- AWS CLI (Command Line Interface)

  • Command-line shell에서 명령어를 사용하여 AWS 서비스들과 상호작용할 수 있도록 하는 도구
  • AWS 공용 API로 직접 액세스 가능
  • 일부 작업 자동화 가능

- AWS SDK (Software Development Kit)

  • 특정 언어로 구성된 라이브러리의 집합
  • AWS의 서비스에 프로그래밍을 위한 액세스 가능

3. IAM Role

- IAM Security Tools

  • IAM Credentials Report: account level, 계정에 있는 사용자와 다양한 자격 증명의 상태 포함
  • IAM Access Advisor: user level, 사용자에게 부여된 서비스의 권한과 해당 서비스에 마지막 액세스 시간 확인 가능, 해당 도구를 사용하여 어떤 권한이 사용되지 않는지 확인할 수 있고, 이를 통해서 사용자의 권한을 조정하여 최소 권한의 원칙을 지킬 수 있음

- IAM Guidlines & Best Practices

  • Root 계정은 AWS 계정 설정 외에는 사용 X
  • One physical user = One AWS user
  • 사용자를 그룹에 넣어 해당 그룹에 권한 부여 가능
  • 비밀번호 정책을 강력하게 할 것
  • MFA 사용 가능할 경우 꼭 사용할 것
  • AWS 서비스에서 권한을 부여할 때 마다 Role을 만들고 사용해야 함
  • CLI 혹은 SDK를 사용할 경우 Access Key를 만들어서 사용할 것
  • 계정 권한 감사는 IAM Credential Report 사용
  • Never Share IAM users & Access Keys
반응형
LIST