클라우드/aws

IAM이란

윤듀2 2023. 7. 9. 02:24

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 접근유형을 가진다.

 

  1. 유저 네임 + 패스워드 입력으로 콘솔에 로그인
  2. 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 구조를 살펴보자!

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를 사용해보자