AWS
[AWS] IAM
gilssang97
2021. 12. 19. 11:28
AWS(Amazon Web Service) - 웹에서 지원하는 서비스
- 클라우드 컴퓨팅 - 원격 상의 서버가 직접 작동되고 동작되는 형태
- 서버리스(Serverless) 기능 지원
- As You Pay Go 서비스
- Free-tier 서비스
- 루트(Root) 사용자
IAM(Identitiy and Access Management)
유저를 관리하고 접근 레벨 및 권한에 대한 관리
- 접근 키와 비밀 키를 이용해 접근
- 접근 키를 ID, 비밀 키를 PW와 같이 생각하면 된다.
- 매우 세밀한 접근 권한 부여 기능 (Full Access 혹은 DynamoDB의 테이블에 대한 생성 삭제 복사 등에 대한 권한 부여)
- 비밀번호를 수시로 변경 가능케 해줌 (보안적인 이유 - 분기별로)
- Multi-Factor Authentication(다중 인증) 기능
- 루트 계정의 경우에는 권한 지정을 안 해도 되지만 IAM 계정은 권한 필요
- face, Google 등을 이용해 추가 인증을 요구해 보안을 강화
- 그룹
- 하나의 그룹에는 하나 혹은 다수의 유저가 존재할 수 있다.
- 여러 사용자에게 공통으로 권한을 부여할 수 있게 만들어진 개념이다.
- 하나의 그룹에 여러 명의 사용자를 지정해서 공통적으로 권한을 주어야 하는 상황있을 때 쓰면 유용하다.
- 유저
- 역할
- 사용자에게 부여하는 것이 아닌 Service에 부여한다.
- 하나 혹은 다수의 Policy를 담고 있으며 유저 혹은 그룹이 가질 수 있다.
- ex) EC2 서비스에 S3에 대한 접근 권한을 주고싶다.
- 정책
- 세밀한 접근 권한을 지정하여 접근 권한을 만듬
- 특정 리소스를 사용하는데 필요한 허가들을 담고 있는 정책
- 정책은 그룹, 역할에 추가시킬 수 있다.
- 권한을 부여하는 방법이다. 하나 이상의 AWS 리소스에 대한 어떤 작업을 수행할 수 있는지 허용 규칙을 JSON 형식으로 작성된다.
- ex) 어떤 사용자에게 S3에 대한 접근 권한을 주고싶다.
- 세밀한 접근 권한을 지정하여 접근 권한을 만듬
IAM은 유니버설(Universal)하다!
- 지역 설정이 필요 없다. (지역에 구애받지 않는다.)
IAM 정책 시뮬레이터
- 개발 환경(Staging or Develop)에서 실제환경(Production)으로 빌드하기 전 IAM 정책이 잘 작동되는지 테스트하기 위함
- A 유저에게 주어진 권한이 Scope B라고 했을 때, 실제 Scope B만큼의 권한이 올바르게 주어졌는지 확인한다.
- IAM과 관련된 문제들을 디버깅하기에 최적화된 툴 (이미 실제로 유저에 부여된 다양한 정책들도 테스트 가능)