IAM(Identity and Access Management)
IAM에서는 사용자를 생성하고 그룹에 배치한다(IAM은 글로벌 서비스이다)
글로벌 서비스의 경우 특정 리전을 선택 하지 않아도 됌!!
※ 리전 서비스 : 특정 리전에서 사용가능한 서비스
※ 글로벌 서비스 : 어디서나 사용가능한 서비스
- 그룹에는 오직 사용자만 배치할 수 있다.
- 그룹 안에 그룹을 배치할 수 없다.
- 그룹에 포함되지 않는 사용자도 있을 수 있다.
ex) fred
- 한 사용자는 여러 그룹에 포함될 수 있다.
ex) charles, david
사용자를 생성하는 이유
AWS에서 로그인을 수행한다면 2가지의 방식으로 수행할 수 있다.
- 루트 사용자.
- 루트사용자는 모든 권한을 갖는 SSO(Single Sign In) ID
- AWS의 모든 자원과 리소스를 이용할 수 있다는 이야기가 되며, 그 말은 모든 자원을 구매할 수 있음.
- 악용되면 큰일남!
- IAM 사용자 (Least privilege principle : 최소권한의 원칙)
- 따라서 IAM 유저를 만들어 최소 권한을 유지할 수 있게 해야한다
- 또한 Group으로 권한을 관리하기 때문에 쉽게 권한 관리가 가능하다.
IAM : Permissions
- User나 Group에게 정책 권한을 수정하기 위해 JSON 문서가 사용됨.
- 사용자들의 AWS 서비스 이용 권한을 이용하도록 허용.
- Group에 대한 권한을 그룹에 정의하면 그룹에 속한 모든 구성원에게 권한이 적용됨.
- Effect : 권한을 허용할지 말지 (Allow or Deny)
- Principle : 특정 정책이 적용될 사용자, 계정 or 역할로 구성됨.
- Action : API 호출 목록
- Resource : 적용될 Action의 리소스의 목록
IAM : MFA
방어 메커니즘 종류
1) 비밀번호 정책
- 대문자, 소문자, 특수문자 요구
- 강력한 비밀번호 → Security 굿!
- IAM 사용자들의 비밀번호 변경 정책을 허용 or 금지할 수 있음.
- 90일에 한번씩 비밀번호 바꾸세요
- 이전에 사용했던 비밀번호 재사용 금지시킴.
2) 다요소 인증, MFA (Multi Factor Authentication)
- MFA : 비밀번호와 사용자 소유의 물리 장치를 이용한 인증방식
- 비밀번호가 유출되더라도 사용자 소유의 물리적 장치를 사용한 인증을 요구하므로 더 안전!!
- 계정이 침해당하지 않는다.
AWS MFA 장치 옵션
가상 MFA 장치 (Virtual MFA device)
- ex) Google Authenticator, Authy
- 가상 MFA 장치는 원하는 수만큼의 계정 및 사용자 등록이 가능함.
U2F 보안 키 (Universal 2nd Factor Security Key)
- 물리적 장치를 이용해 전자 열쇠에 달고 다닐 수 있음.
- 하나의 보안 키에서 여러 루트 계정과 IAM 사용자를 지원하기 때문에 하나의 키로도 충분
Hardware Key Fob MFA Device
AWS Access 3가지 방법
AWS Management Console
AWS CLI
- CLI를 통해 AWS 서비스들과 상호작용할 수 있도록 해 주는 도구
- 모든 명령어가 AWS로 시작함.
- CLI를 통해 리소스를 관리하는 스크립트를 개발해 자동화 할 수도 있음.
AWS SDK
- 소프트웨어 개발킷
- 특정 언어로 된 라이브러리의 집합
- JAVA, Python, C++ 등등…
- 프로그래밍을 위한 액세스가 가능하도록 해줌.
AWS CloudShell
- 특정 Region들에서만 사용 가능
- AWS 클라우드에서 무료로 사용 가능한 터미널.
- CloudShell에서는 자격증명이 현재 로그인된 계정에 대한 걸로 나옴.
- CLI에서 할때는 하나하나 로그인 해야 했는데…
IAM Role
- 생성한 EC2 인스턴스가 다른 AWS 서비스에게 접근하려고 하면 Role을 부여해서 다른 서비스에 접근할 수 있도록 함.
IAM Security Tool (Audit)
IAM Credentials Report
- 계정 사용자의 정보와 다양한 자격 증명 상태를 보여줌.
IAM Access Advisor (user-level)
- 사용자에게 부여된 서비스의 권한과 해당 서비스에 마지막 액세스 시간이 보임.IAM(Identity and Access Management)
'AWS' 카테고리의 다른 글
[AWS] VPC, Subnet 알아보기 (1) | 2024.06.01 |
---|