출처: 인프런, Simon Kim, AWS(Amazon Web Service) 입문자를 위한 강의
시작 전에
먼저 MFA를 활성화하고 시작할 것을 권장
IAM이란?
IAM(Identity and Access Management)
- 유저를 관리하고 접근 레벨 및 권한에 대한 관리
- 맨 처음에 생성한 계정은 root 계정이 됨
그 root user 안에서 다른 계정을 생성할 수 있음
유저 A를 만들었으면 IAM는 유저 A에 대한 접근키 Access Key와 비밀키 Secret Access Key를 생성해줌
유저 A는 이 키들을 가지고 AWS 기능 사용 가능
- 매우 세밀한 접근 권한 부여 기능 Granular Permission
ex. 유저 A에게 디비 생성기능만 주고 삭제기능을 주지 않을 수 있음
- 비밀번호를 수시로 변경 가능케 해줌 -> 한달 혹은 분기별로 한번씩 모든 AWS 사용자의 비밀번호 변경을 강요함
- Multi-Factor Authentication(다중 인증) 기능 -> root 유저는 MFA를 반드시 해야 함
유저 외에 생성 가능한 것
-
그룹: 1명 이상의 유저를 가질 수 있음
-
유저:
-
역할: 하나 혹은 다수의 정책 지정 가능
유저마다 다양한 정책을 부여하면서 권한 부여 가능
-
정책: 주로 json형태의 다큐먼트, 세밀한 형태의 접근 권한들을 만들 수 있음
-
정책은 그룹, 역할에 추가시킬 수있다
-
하나의 그룹 안에 다수의 유저가 존재 가능 -> 그룹에 역할 또는 정책을 추가하면 그 그룹 안의 모든 유저에게 역할 또는 정책이 영향을 미침
IAM은 유니버설함(universal)
IAM 정책 시뮬레이터
- 개발환경(Staging or Develop)에서 실제환경(Production)으로 빌드하기 전 IAM 정책이 잘 작동되는지 테스트하기 위함
- IAM과 관련된 문제들을 디버깅하기에 최적화된 툴(이미 실제로 유저에 부여된 다양한 정책들도 테스트 가능)
사용자 만들기
사용자 > 사용자 추가 > 사용자 이름 작성 > AWS액세스 유형 선택 > 권한설정(선택사항) > 태그(선택사항) > 사용자 만들기
- AWS액세스 유형 선택은 아래 두 가지 중 하나만 선택해도 되고 둘다 선택해도 됨
- 액세스 키 - 프로그래밍 방식 액세스
- 암호 - AWS 관리 콘솔 액세스
- 비밀액세스키는 표시하고 다시 숨기기하면 다시 확인할 수 없으므로 csv로 미리 저장해두는 것을 권장
그룹 만들기
그룹 생성 > 그룹 이름 작성 > 그룹에 사용자 추가 > 권한 정책 연결
역할
정책
정책 생성
1) 정책 생성 > 서비스 선택 > 작업 선택 > 리소스 선택 > 태그(선택사항) > 정책검토: 이름 및 설명 작성 >
2) JSON > 수동으로 JSON 다큐먼트에 정책 다큐먼트 작성 가능
정책 시뮬레이터
대시보드 > 정책 시뮬레이터
현재 aws_learner에는 아무런 정책이 없어서 Ren Simulation한 경우 Permission이 모두 denied되었음
그렇다면 aws_learner에게 db를 읽을 수 있는 권한을 준다
그럼 왼쪽에 추가한 정책이 보이고 Ren Simulation결과 일부 기능은 allowed된 것을 확인할 수 있다