[AWS] IAM

IAM이란?

AWS Identity and Access Management의 약자로, AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다.

IAM을 사용하면 사용자가 액세스할 수 있는 AWS 리소스를 제어하는 권한을 중앙에서 관리할 수 있고, 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어한다.

 

IAM으로 할 수 있는 것들 

  • 사용자 관리: 
    • IAM을 통해 사용자 계정을 생성하고 관리할 수 있다.
    • 각 사용자는 고유한 액세스 키와 비밀 액세스 키를 가지며, 이를 사용하여 AWS 서비스에 접근할 수 있다. 
  • 그룹 관리:
    •  IAM 사용자를 그룹으로 묶어서 권한을 한번에 할당하거나 취소할 수 있다.
    • 그룹은 특정 업무나 역할에 따라 사용자를 묶어서 효율적으로 권한을 관리하는데 사용된다. 
  • 역할 (Role) 관리: 
    • AWS 리소스에 대한 일시적인 권한을 부여하기 위해 역할을 사용할 수 있다.
    • 역할은 인스턴스, Lambda 함수, 사용자 등에 할당되며, 필요한 시점에 일시적으로 권한을 가질 수 있다. 
  • 권한 관리:
    •  IAM을 통해 사용자 또는 그룹에게 AWS 서비스와 리소스에 대한 세부적인 권한을 할당할 수 있다. 
    • 필요한 권한만 부여함으로써 보안을 강화하고, 최소한의 권한 원칙을 준수할 수 있다. 
  • 멀티팩터 인증 (MFA): 
    • IAM은 멀티팩터 인증을 지원하여, 비밀 액세스 키뿐만 아니라 추가적인 인증 요소를 요구함으로써 보안성을 높일 수 있다. 
  • 인증 및 접근 제어: 
    • IAM은 AWS 리소스에 접근하는 모든 요청에 대해 인증과 권한을 확인한다.
    • 이를 통해 불법적인 접근 시도를 차단하고, 사용자들이 권한을 넘어서 리소스에 접근하는 것을 방지한다.

 

이러한 기능들을 통해  CICD 파이프라인을 구축할 때 IAM에서 사용자를 생성하고 권한을 설정하면 github action에서 s3와 codeDeploy에 접근할 수 있는 것이다.

 

Reference

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/introduction.html

chatGPT

'개념 정리' 카테고리의 다른 글

[JAVA] OOP  (0) 2023.08.10
[Cloud] CDN  (0) 2023.07.29
[Cloud] IaaS, PaaS, SaaS  (0) 2023.06.28
[Network] 프록시 개념  (0) 2023.06.02