본문 바로가기

AWS

[AWS] IAM 알아보기

IAM(Identity and Access Management)

IAM에서는 사용자를 생성하고 그룹에 배치한다(IAM은 글로벌 서비스이다)

   글로벌 서비스의 경우 특정 리전을 선택 하지 않아도 됌!!

      ※ 리전 서비스 : 특정 리전에서 사용가능한 서비스

      ※ 글로벌 서비스 : 어디서나 사용가능한 서비스

- 그룹에는 오직 사용자만 배치할 수 있다.

      -  그룹 안에 그룹을 배치할 수 없다.

- 그룹에 포함되지 않는 사용자도 있을 수 있다.

      ex) fred

- 한 사용자는 여러 그룹에 포함될 수 있다.

      ex) charles, david

사용자를 생성하는 이유

AWS에서 로그인을 수행한다면 2가지의 방식으로 수행할 수 있다.

  1. 루트 사용자.
    • 루트사용자는 모든 권한을 갖는 SSO(Single Sign In) ID
    • AWS의 모든 자원과 리소스를 이용할 수 있다는 이야기가 되며, 그 말은 모든 자원을 구매할 수 있음.
    • 악용되면 큰일남!
  2. IAM 사용자 (Least privilege principle : 최소권한의 원칙)
    • 따라서 IAM 유저를 만들어 최소 권한을 유지할 수 있게 해야한다
    • 또한 Group으로 권한을 관리하기 때문에 쉽게 권한 관리가 가능하다.

IAM : Permissions

  • User나 Group에게 정책 권한을 수정하기 위해 JSON 문서가 사용됨.
    • 사용자들의 AWS 서비스 이용 권한을 이용하도록 허용.
  • Group에 대한 권한을 그룹에 정의하면 그룹에 속한 모든 구성원에게 권한이 적용됨.
  • Effect : 권한을 허용할지 말지 (Allow or Deny)
  • Principle : 특정 정책이 적용될 사용자, 계정 or 역할로 구성됨.
  • Action : API 호출 목록
  • Resource : 적용될 Action의 리소스의 목록

IAM : MFA

방어 메커니즘 종류

1) 비밀번호 정책

  • 대문자, 소문자, 특수문자 요구
    • 강력한 비밀번호 → Security 굿!
  • IAM 사용자들의 비밀번호 변경 정책을 허용 or 금지할 수 있음.
    • 90일에 한번씩 비밀번호 바꾸세요
  • 이전에 사용했던 비밀번호 재사용 금지시킴.

2) 다요소 인증, MFA (Multi Factor Authentication)

  • MFA : 비밀번호와 사용자 소유의 물리 장치를 이용한 인증방식
    • 비밀번호가 유출되더라도 사용자 소유의 물리적 장치를 사용한 인증을 요구하므로 더 안전!!
  • 계정이 침해당하지 않는다.

AWS MFA 장치 옵션

가상 MFA 장치 (Virtual MFA device)

  • ex) Google Authenticator, Authy
  • 가상 MFA 장치는 원하는 수만큼의 계정 및 사용자 등록이 가능함.

U2F 보안 키 (Universal 2nd Factor Security Key)

  • 물리적 장치를 이용해 전자 열쇠에 달고 다닐 수 있음.
  • 하나의 보안 키에서 여러 루트 계정과 IAM 사용자를 지원하기 때문에 하나의 키로도 충분

Hardware Key Fob MFA Device

AWS Access 3가지 방법

AWS Management Console

AWS CLI

  • CLI를 통해 AWS 서비스들과 상호작용할 수 있도록 해 주는 도구
  • 모든 명령어가 AWS로 시작함.
  • CLI를 통해 리소스를 관리하는 스크립트를 개발해 자동화 할 수도 있음.

AWS SDK

  • 소프트웨어 개발킷
  • 특정 언어로 된 라이브러리의 집합
    • JAVA, Python, C++ 등등…
  • 프로그래밍을 위한 액세스가 가능하도록 해줌.

AWS CloudShell

  • 특정 Region들에서만 사용 가능
  • AWS 클라우드에서 무료로 사용 가능한 터미널.
  • CloudShell에서는 자격증명이 현재 로그인된 계정에 대한 걸로 나옴.
    • CLI에서 할때는 하나하나 로그인 해야 했는데…

IAM Role

  • 생성한 EC2 인스턴스가 다른 AWS 서비스에게 접근하려고 하면 Role을 부여해서 다른 서비스에 접근할 수 있도록 함.

IAM Security Tool (Audit)

IAM Credentials Report

  • 계정 사용자의 정보와 다양한 자격 증명 상태를 보여줌.

IAM Access Advisor (user-level)

  • 사용자에게 부여된 서비스의 권한과 해당 서비스에 마지막 액세스 시간이 보임.IAM(Identity and Access Management)

'AWS' 카테고리의 다른 글

[AWS] VPC, Subnet 알아보기  (1) 2024.06.01