IAM
Identity and Access Management 의 약자이자 유저를 관리하고 접근 레벨 및 권한에 대한 관리를 가능하게 해주며 크게 다음과 같은 일을 한다.
- 접근 키(Access Key) 와 비밀키(Secret Access Key)
- 매우 세밀한 접근 권한 부여 기능(Granular Permission)
- 비밀번호를 수시로 변경 가능케 해줌
- Multi-Factor Authentiocation(다중 인증 ) 가능
접근 키(Access Key) 와 비밀키(Secret Access Key)
새로운 AWS 계정을 만들면 그 유저는 루트 유저가 된다.
그 루트 유저 안에서 다른 유저를 생성 가능하다.
만약 유저 A를 만들었다고 가정하면 IAM은 A라는 유저에 대해 접근 키(Access Key) 와 비밀키(Secret Access Key)를 생성해준다.
이 키들은 비밀번호로 로그인하는 방식이 아닌 CLI나 API를 통해 AWS를 원격에서 사용할 수 있게 해준다.
매우 세밀한 접근 권한 부여 기능(Granular Permission)
AWS에는 DynamoDB라는것이 있다. 테이블 생성, 삭제, 복사 를 할 수 있을때 유저 A에게 테이블 생성 기능의 권한만 줄 수 있고, 삭제, 복사의 권한도 줄 수 있다.
이 경우는 회사외의 다른 곳에서 DB에 접근을 할때 삭제를 못하게 한다던지 등등 으로 사용할 수 있다.
비밀번호를 수시로 변경 가능하게 한다.
한달 분기별로 AWS 사용자들의 비밀번호를 업데이트를 강요할 수 있다.
다중 인증 기능
AWS에 로그인할때 페이스북, 구글등의 인증을 통해 보안을 두껍게 할 수 있다.
특히 루트 유저는 아마존에서도 MFA를 적극 권장한다고 한다.
루트 유저는 다른 유저 말고도 그룹, 유저, 역할, 정책을 생성할 수 있다.
그룹은 쉽게 말해서 하나의 그룹은 하나, 다수의 유저가 존재할 수 있다.
역할은 유저와 의미가 비슷하나 하나 혹은 다수의 역할을 지정할 수 있다.
정책은 주로 json형태로 되어있는 문서를 가리키며 앞에서 언급했던 세밀한 접근권한을 일일히 설정하여 하나의 정책 document를 만들 수 있다.
정책은 그룹, 역할에 추가시킬 수 있다.
하나의 그룹 안에 다수의 유저가 존재 가능하다.
IAM은 유니버설(Universal)하다
-> 지역 설정이 필요 없다.
대부분의 서비스는 Regional 하다. 그래서 지역마다 기능이 다를 수 있다.
하지만 IAM은 지역 설정이 없이 공통적으로 사용한다.
댓글