m1ndy5's coding blog

IAM (Identity and Access Management) 본문

클라우드 with AWS/AWS

IAM (Identity and Access Management)

정민됴 2023. 3. 15. 19:14

IAM이란?

  • AWS 리소스에 대한 엑세스를 안전하게 제어할 수 있는 서비스
  • 사용자가 액세스할 수 있는 AWS 리소스를 제어하는 권한을 중앙에서 관리 가능
  • IAM을 사용하여 리소르를 사용하도록 인증 및 권한 부여된 대상을 제어할 수 있음
  • 사용자, 그룹, 역할을 생성하여 정책(json으로 되어있는 어떤 업무가 가능한지 명시된 text)를 통해 권한 부여

    최소 권한의 원칙

  • root 사용자로 모든 서비스를 사용하는 것은 보안상 좋지 않다.
  • 각 사용자에게 필요한 최소한의 권한만 주는 것을 원칙으로 한다.

    해야할 일

  • 루트 사용자의 엑세스 키를 삭제해야함 -> 키가 공개되면... 끝!
  • IAM 사용자를 생성함 -> 루트로 사용하지 않고 하위 사용자로 서비스를 사용
  • 다중 인증(MFA)를 활성화

    IAM User

  • 기본적으로 적용되는 보안 인증 정보는 없음
  • 사용자에게 보안 인증 정보를 할당해야 인증이 가능하고 그 다음 권한을 연결해야함
  • 사람 혹은 애플리케이션을 대표할 수 있음

    IAM Group

  • IAM User의 모음
  • 기본 그룹은 없음
  • 그룹 안에 그룹 넣을 수 없음
  • 한 사용자는 여러 그룹에 속할 수 있음
  • 개개인에게 권한을 부여하는 것 말고 그룹 전체에 대해 권한 지정가능

    IAM Role

  • AWS 리소스에 대한 엑세스 권한을 위임하는데 사용됨
  • 임시 엑세스를 제공
  • IAM 정책을 사용하여 ㅇ
  • 고객 인라인 정책 -> 사용자, 그룹, 역할에 1 to 1 정책으로 명시적으로 할당하는 방식. 일반적으로 일회성 상황에 대한 권한을 적용하기 위해 사용됨*
  • 같은 유저가 관리하는 서비스라도 다른 서비스에게 접근하려면 role이 필요함*
  • 질문 : ec2와 rds을 연결할 때 따로 role을 지정하지 않았는데 왜 접근이 가능? -> ec2에서 rds 자체에 접근하거나 변경할 일이 있으면 있어야 하지만 rds 안에 있는 mysql을 변경하거나 사용하는 건 상관없음

    IAM 권한

  • 정책을 사용하면 IAM 사용자, 그룹, 역할에 부여된 권한을 세밀하게 조정할 수 있음

    권한을 결정하는 우선순위

  1. 명시적으로 차단되어 있으면 밑에 허용되어있더라도 차단
  2. 명시적으로 허용되어 있으면 허용
  3. 명시가 되어있지 않으면 기본적으로 다 차단

**한 유저가 여러 그룹에 속해있을 때 그룹별로 권한이 다르면 어떻게 됨?

  • 유저의 권한, 그룹의 권한, 서비스 권한을 다 합쳐서 봄. 예를 들어서 유저는 허용되어 있지만 그룹의 권한은 차단되어 있다면 차단됨.

    IAM 정책

  • 하나 이상의 권한으로 구성된 공식 statement
  • 사용자, 그룹, 역할과 같은 IAM 엔티티에 연결됨
  • 하나의 정책이 여러 개의 엔티티에 연결될 수 있음
  • 하나의 엔티티에 여러 개의 정책이 연결될 수 있음

'클라우드 with AWS > AWS' 카테고리의 다른 글

AWS VPC (Virtual Private Cloud)  (0) 2023.03.09
AWS Elastic Compute Cloud(EC2)  (0) 2023.02.21
AWS S3  (0) 2023.02.21
AWS 공동 책임 모델  (0) 2023.02.20
AWS 대표 서비스  (0) 2023.02.20