AWS - IAM

Kim's DevOps·2023년 7월 2일

AWS

목록 보기
8/9

IAM(Identity and Management)

AWS의 리소스 접근을 안전하게 관리하는 시스템, 인증과 접근 허가 기능을 구현

1. 인증

인증: 현재 사용하는 이용자가 누구인지에 관한 정보를 AWS에 전달하는 과정

사용자에게는 각각 고유한 ID가 제공된다, 이 ID와 진짜 사용자만 알수 있는 정보 (비밀번호)와 함께 로그인 정보로 입력 -> 입력한 정보가 올바르면 AWS에 로그인 가능

2. 접근 허가

접근 허가: AWS 사용자가 어떤 기능을 사용할 수 있는가를 관리하고 허가 하는것

일반 사용자는 서버를 새롭게 만들 수 없지만 관리자는 만들 수 있다 같은 구별을 얘기하는 것이다

3. 루트 사용자

AWS 관리 콘솔에 로그인이 가능한 계정

루트 사용자는 AWS 모든 리소스에 접근할 수 있는 매우 강력한 접근 권한을 가진 계정임
그래서 대부분 AWS 루트 사용자는 계약해지나 사용자 관리등 특수한 작업 이외에는 이용하지 않고
통산적으로 개발에 사용하는 일반 사용자(IAM사용자)를 만들고 권한을 부여하는편이다

4. 사용자과 그룹

사용자 별로 접근 허가를 설정할 수도 있지만 사용자 수가 적으면 크게 문제가 안된다 하지만 만약 사용자가 늘어난다면?? 개별 접근 허가 설정하는것이 쉽지는 않을 것이다 또한 누락이 발생할 수도있다. 이런 경우를 대비해 그룹을 이용한 접근 허가 관리 방법을 제공한다

그룹을 이용하여 접근허가를 사용자가 아닌 그룹에 부여 -> 해당 그룹에 포함돤 사용자는 부여된 접근 허가 권한을 가진것으로 간주

그래서 사용자 수가 많지 않더라도 사용자와 그룹을 이용하여 관리할 것을 권장한다

IAM의 안정성 확인

1. AWS 계정 루트 사용사의 액세스 키 잠금

AWS에서는 사용가자 대시보드를 이용해서 대화형으로 조작하는 방법 외에 프로그램을 통해 리소스를 조작하는 시스템 또한 제공을 한다

사용자가 조작 할때는 -> ID와 비밀번호를 이용
프로그램 등으로 조작할때는 -> 액세스 키(Access key) 라는 정보를 이용한다

하지만 루트 사용자는 강력한 접근 권한을 가져서, 일반적으로는 루트 사용자의 권한을 이요해 프로그램으로 AWS 리소스를 조작하는 것은 권장하지 않음
-> 루트 사용자의 액세스 키는 없는 상태로 두는것을 권장

2. MFA(Multi-Factor Authentication) 활성화

초기 상태 에서 루트 사용자는 메일 주소와 비밀번로의 조합만으로 로그인 가능하지만 접급 권한의 강력함에 비해 상대적으로 안전한 인증방법이 아니다
그래서 AWS에서는 MFA를 사용한다

AWS에서는 비밀번호 + 인증 디바이스 두가지로 MFA를 수행함
인증 디바이스는 USB, 소형 기기와 같은 전용 하드웨어 유형도잇고 스마트폰을 가상 MFA 디바이스로 이용하는 방법도 있음

3. 개별 IAM 사용자 생성

루트 사용자는 강력한 권한을 가지므로 일상적인 개발 조작을 수행하는 일반 사용자 IAM 사용자를 생성하여 필요한 권한을 할당함

개별 IAM 사용자라 하더라고 루트 사용자와 마찬가지로 MFA를 활성화 가능함
-> 인프라의 안정성을 높이기 위해서 가능하면 MFA 활성화 하는것을 권장함

4. 사용자 그룹을 이용한 접근 권한 할당

개별 IAM 사용자는 일일히 권한을 줘야하는 불편함 발생 사용자 그룹에 접근 권한을 할당해 효율적으로 누락 없이 사용자에게 접근 권한을 부여

PowerUserAccess 정책: AWS 안의 리소스에 대한 모든 접근 권한을 가짐
IAMFullAccess 정책: IAM 에 대한 모든 접근 권한을 가짐
두 정책 모두 AWS 계정 자체에 대한 계약 해지는 할 수 없으므로 루트 사용자 보다는 안전함

5. 사용자에 대한 강력한 암호 정책 구성

쉬운 비밀번호를 이용 할 수 없도록 비밀번호 내용이나 기한에 대한 제한을 추가함
암호 정책 변경 관리에서 설정이 가능함

profile
많은 생각은 필요없다. 그냥 하자!

0개의 댓글