본문 바로가기
Develop

[AWS] Root Account - IAM Account | 계정과 보안 개념

by hongreat 2023. 3. 12.

AWS의 ROOT & IAM 계정

소개

  • IAM 계정은 루트에서 만들 수 있는 계정입니다. 한 계정(루트)으로 여러명이 사용할 수 있게 해주는 기능입니다.
  • 유저와 그룹이 있습니다. 반드시 그룹이 있어야 하는 것은 아닙니다!!
  • 유저를 그룹화 할 수 있으며, 한 유저가 여러개의 그룹을 갖는 것도 가능합니다.
  • Alias를 이용해 유저의 별칭을 만들 수 있고, 이렇게 만든 유저는 별도로 로그인도 가능해서 AWS 실제 유저로서 동작합니다.

권한 및 IAM 계정

  • IAM 계정에 대해서 권한을 생성하고 관리할 수 있습니다. 적용됐는지 확인 여부는 IAM 계정에서 해당 권한에 대한 액션이 실제로 되고 안되고를 보면 알 수 있습니다.
  • 만약 관리자 권한에서 IAM 계정으로 제약이 걸린다면, IAM 계정의 권한 부여는 제약의 개념입니다.

MFA(Multi Factor Authentication)

  • 사용자가 생성한 로그인 비밀번호 + 디바이스에서 생성하는 암호(혹은 토큰)입니다.
  • 디바이스는 모바일 앱 혹은 서드파티 기기일 수도 있습니다.

AWS CLI

  • 루트 계정에서 IAM 유저의 access key 를 별도로 생성할 수 있습니다.
  • CLI에서 IAM 계정을 등록할 수 있으며, 명령어는 aws configure입니다.
  • aws iam list-users 명령어로 IAM 유저를 확인할 수 있습니다.
  • 리스트가 출력되지 않고 unknown 에러가 나올때 : `Unknown output type : None` 
    • 아웃풋 포맷이 설정되어있지 않아 발생하는 에러 입니다.

aws configure

명령어를 통한 설정 진입 후 output 타입에 json을 적어주면 user의 list가 잘 출력됩니다.

 

 

 

IAM Role(역할)

  • Role의 기능은 권한 등을 그룹화 할 수 있습니다.
  • 역할이 존재하는 이유는 EC2에 해당하는 역할을 만든다고 했을 때, 역할과 그 역할에 해당하는 IAM 계정을 읽게 되는데, 이는 곧 EC2를 다룰 수 있는 유저의 권한을 확인하고 액션에 제한을 둘 수 있음을 의미합니다.
  • 개인적인 커스텀이 가능합니다.
    • AWS의 세부 자원(ex: ecs)에 대한 읽고, 쓰고, 수정하는 기능들을 디테일하게 설정 할 수 있습니다.