해당 포스팅은 AWS 강의실(https://www.youtube.com/@AWSClassroom)를 보고 공부한 내용을 정리한 블로그입니다.
아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
네 자신의 불행을 생각하지 않게 되는 가장 좋은 방법은 일에 몰두하는 것이다.
Ludwig van Beethoven
IAM 아마존 소개
AWS Identity and Access Management(IAM)를 사용하면 AWS 서비스와 리로스에 대한 액세스를 안전하게 관리할 수 있습니다. 또한, AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 거부할 수 있습니다.
- 누가 언제 어떻게 무엇을 할 수 있는지 관리하는 것을 설정하는 서비스!
IAM
- AWS 어카운트 관리 및 리소스/사용자/서비스의 권한 제어
- 서비스 사용을 위한 인증 정보 부여
- 사용자의 생성 및 관리 및 계정의 보안
- 사용자의 패스워드 정책 관리(일정 시간마다 패스워드 변경 등)
- 다른 계정과의 리소스 공유
- Identity Federation(Facebook 로그인, 구글 로그인)
- 계정에 별명 부여 가능 -> 로그인 주소 생성 가능
- IAM은 글로벌 서비스(Region 별 서비스가 아님)
IAM 구성
- 사용자
- 실제 AWS를 사용하는 사람 혹은 애플리케이션을 의미
- 그룹
- 사용자의 집합
- 그룹에 속한 사용자는 그룹에 부여된 권한을 행사
- 정책
- 사용자와 그룹, 역할이 무엇을 할 수 있는 지에 관한 문서
- 개발자는 ... 회계팀은 ... => 누가 언제 어디서 무엇을 어떻게 설정
- JSON(JavaScript Object Notation) 형식으로 정의
- 사용자와 그룹, 역할이 무엇을 할 수 있는 지에 관한 문서
- 역할
- AWS 리소스에 부여하여 AWS 리소스가 무엇을 할 수 있는 지를 정의
- 혹은 다른 사용자가 역할을 부여받아 사용
- 다른 자격에 대해서는 신뢰관계 구축가능
- 역할을 바꾸어가며 서비스 사용가능
JSON
- JavaScript Object Notation
- 주로 다양한 프로그램 간에 데이터를 주고받기 위해 사용
- 매우 다양한 언어에서 언어 자체에서 지원하거나 플러그인으로 사용가능
- 키-value로 구성
- 예를 들기
IAM 구성
권한 검증
사용자의 종류
- 루트 사용자: 결제 관리를 포함한 계정의 모든 권한을 가지고 있음
- 관리 목적 이외에 다른 용도로 사용하지 않는 것을 권장
- 탈취되었을 때 복구가 매우 어려움 -> MFA를 설정하는 것을 권장
- MFA(Multi-factor authentication): 일회용 패스워드를 생성하여 로그인
- IAM 사용자: IAM을 통해 생성해서 사용하는 사용자
- 한사람 혹은 하나의 애플리케이션을 의미
- 설정시 콘솔 로그인 권한 부여 가능
- 설정시 AWS 서비스를 이용할 수 있음
- AccessKey: 유저 이름
- SecretAccessKey: 패스워드
- AdminAccess를 부여하더라도 루트 사용자로 별도의 설정을 하지 않으면 Billing 기능을 사용할 수 없음.
IAM 자격 증명 보고서
- 계정의 모든 사용자와 암호, 액세스 키, MFA 장치 등의 증명 상태를 나열하는 보고서를 생성하고 다운로드 가능
- 4시간에 한번씩 생성가능
- AWS 콘솔, CLI, API에서 생성 요청 및 다운로드 가능
- 포함되는 정보
- 암호
- 암호의 활성화 여부
- 마지막으로 사용된 시간
- 마지막으로 변경된 시간
- 언제 변경되어야 하는지
- 액세스 키
- 액세스 키 활성화 여부
- 마지막으로 사용된 시간
- 마지막으로 변경된 시간
- 어떤 서비스에서 마지막으로 사용되었는지
- 기타
- MFA 사용 여부
- 사용자 생성 시간
IAM 모범 사용 사례
- 루트 사용자는 사용하지 않기
- 불필요한 사용자는 만들지 않기
- 가능하면 그룹과 정책을 사용하기
- 최소한의 권한만을 허용하는 습관을 들이기(Principle of least privilege) ⇒ 오타 아닌가?
- MFA 활성화하기
- AccessKey 대신 역할을 사용하기
'CICD > AWS' 카테고리의 다른 글
[AWS] EC2 개념 및 실습 (2) | 2024.07.22 |
---|---|
[AWS] 가상화란 (0) | 2024.07.21 |
[AWS] AWS 계정 생성하는 방법! (0) | 2024.07.21 |
[AWS] AWS 구조 (0) | 2024.07.21 |
[AWS] 클라우드 컴퓨팅 종류 (0) | 2024.07.18 |