참고링크
가입 진행
AdministratorAccess 체크.
빌링을 제외한 모든 권한을 부여하는 것
비밀 액세스 키는 절대 공개되어서는 안된다.
IAM 사용자 생성 및 권한 부여 완료
MFA 디바이스 할당까지 해준 후 우선 IAM 유저를 생성한 이 루트 계정을 로그아웃 할 것.
그리고 IAM 계정으로 로그인
IAM
"AWS Identity and Access Management(IAM)를 사용하면 AWS 서비스와 리소스에 대한 액세스를 안전하게 관리할 수 있습니다. 또한, AWS 사용자 및 그룹을 만들고 관리하며 AWS 리소스에 대한 액세스를 허용 및 거부할 수 있습니다."
- AWS 어카운트 관리 및 리소스/사용자/서비스의 권한 제어
- 사용자의 생성 및 관리 및 계정의 보안
- 사용자의 패스워드 정책 관리(일정 시간마다 패스워드 변경 등)
- 다른 계정과의 리소스 공유
- Identity Federation(Facebook 로그인, 구글 로그인 등)
- 계정에 별명 부여 가능 -> 로그인 주소 생성 가능
- IAM은 글로벌 서비스 (Region별 서비스가 아님)
구성
- 정책 : 언제 어디서 누가 어떻게 무엇을?
정책은 사용자, 그룹, 역할에 부여가 될 수 있는데,
그룹에 있는 모든 사용자는 해당 정책을 공유한다.
역할은 서비스들이 무엇을 할 수 있는가에 대해 결정한다.
결과적으로는 이 정책이 결정하는 것.
권한 검증
사용자의 종류
- 루트 사용자
: 결제 관리를 포함한 계정의 모든 권한을 가지고 있음.
- 관리 목적 이외에 다른 용도로 사용하지 않는 것을 권장
- 탈취 되었을 때 복구가 매우 어려움 -> MFA를 설정하는 것을 권장
- MFA (Multi-factor authentication): 일회용 패스워드를 생성하여 로그인
- IAM 사용자
: IAM을 통해 생성해서 사용하는 사용자
- 한 사람 혹은 하나의 어플리케이션을 의미
- 설정 시 콘솔 로그인 권한 부여 가능 (어플리케이션 같은 경우 콘솔 로그인 필요 X)
- 설정 시 AWS 서비스를 이용할 수 있음
- Access Key (유저 이름. 아이디에 해당)
- Secret Access Key (패스워드에 해당)
- AdminAccess를 부여하더라도 루트 사용자로 별도의 설정을 하지 않으면 Billing 기능을 사용할 수 없음
(권한이 없다고 나온다)
루트 계정으로 로그인하여 결제 정보에 대한 IAM 사용자 권한을 활성화 해보자.
그리고 IAM 사용자로 로그인해 보니 빌링 접근이 가능해졌다
IAM 자격 증명 보고서
보고서를 다운로드해보자
계정이 많다면 쭈욱 나열되겠지?
모범 사용 사례 짚어보기
- 루트 사용자는 사용하지 않기
- 불필요한 사용자는 만들지 않기
- 가능하면 그룹과 정책을 사용하기
- 최소한의 권한만을 허용하는 습관을 들이기 (Principle of least privilege)
- MFA를 활성화 하기
- AccessKey 대신 역할을 활용하기
- IAM 자격 증명 보고서 (Credential Report) 활용하기