IAM이란
https://www.youtube.com/watch?v=c70glL9Znzs 를 본 내용 토대로 정리하고 실제로 해보았다.
AWS에서 인증/ 인가란?
인증 : 자신의 주장하는 사용자와 같은 사용자인지를 확인하는 과정
인가 : 클라이언트가 하고자 하는 작업이 해당 클라이언트에게 허가된 작업인가 확인하는 과정
AWS로 향하는 모든 요청은 인증/인가 과정을 거치게 된다.
IAM 이란?
I dentity A ccess M anagement이다.
Identity는 aws로 요청을 할 수 있는 보안주체(principal)를 aws 어카운트 내에 만들어주는 역할을 하고
Access Management 어떤 보안주체, 어떤 리소스에 대해 어떤 권한을 가지고 있는지 정의하는 도구로 동작하게 된다.
Identity에 대해서 더 알아보자!
iam의 role!
iam의 role은 권한이 아니고 인증방법이다!
Iam user는 두가지 aws 접근유형을 가진다.
- 유저 네임 + 패스워드 입력으로 콘솔에 로그인
- Access key 와 Secert key로 구성된 credentical를 포함해서 인증을 받는 유형
둘 다 creadentical를 이용해서 서비스에 접근하는 보안주체이다.
장기 creadentical를 사용하면 보안적으로 위험한데 role 은 자동으로 로테이션되는 임시 자격증명을 사용하기 때문에 role를 사용하면 훨씬 안전하게 사용할 수가 있다.
임시 creadentical은 일정 기간이 지나면 만료가 되는 token이 함께 구성이되어 있어 발급이 된다.(assume한다)
발급받아서 특정 액션을 수행할 수 있게 된다.
Access Management에 대해서 더 알아보자!
이것이 권한이다!
Access Management는 접근제어 정책 기반으로 이루어진다.
정책은 aws 내에서 할 수 있는 행위들을 json형태로 기술해 놓은 permission문서입니다.
aws에 요청하는 모든 api호출은 매번 이 정책을 통해서 인가가 수행된다. 기본적으로 모든 명시되지 않는 정책들은 deny가 디폴트 값이다.
deny 우선 순위가 높기때문에! 잘 이해하고 작성하도록 하자..
iam policy 구조를 살펴보자!
- principal : 접근을 허용 혹은 차단하고자 하는 대상
- action : 허용 혹은 차단하고자하는 접근 타입
- resource : 요청의 목적지가 되는 서비스
- condition: 명시된 조건 유효하다고 판단될 수 있는 조건
~ 더 알아보기 ~
iam 정책 유형 : https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/access_policies.html
IAM의 정책 및 권한 - AWS Identity and Access Management
IAM의 정책 및 권한 정책을 생성하고 IAM 자격 증명(사용자, 사용자 그룹 또는 역할) 또는 AWS 리소스에 연결하여 AWS에서 액세스를 관리합니다. 정책은 자격 증명이나 리소스와 연결될 때 해당 권한
docs.aws.amazon.com
iam 모범 사례 : https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/best-practices.html
IAM의 보안 모범 사례 - AWS Identity and Access Management
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
다음 장에서는 iam를 사용해보자