ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS IAM(Identity and Access Management) 개념 정리
    서버/AWS 2020. 3. 3. 23:20

     

     

    AWS IAM은 AWS의 어떤 서비스이든 설정을 해야한다. 이만큼 자주 사용되는 개념인데, 용어가 비슷비슷해 헷갈리는 걸 정리해보았다.

     

    먼저 하나 알아둬야 할 개념은 AWS는 누가 호출을 하는지(인증 부분)와 필요한 권한을 가지고 호출을 하는지(권한 부분)을 확인한다는 것이다.

    역할과 권한과 정책의 관계

    그룹 : 사용자가 속하는 영역으로, 사용자는 그룹에 있는 권한을 상속받는다.

     

    역할 : 사용자, 애플리케이션, AWS 서비스 모두 IAM 역할을 부여받을 수 있는데, IAM 역할에 설정된 권한을 상속받는다.

    즉, 서비스 영역(API gateway, Lambda, DynamoDB 등)에서 제공되는 IAM은 모두 역할이라고 생각하면 된다.

     

    역할과 그룹은 어떠한 권한을 지니게 되는데,  이 때 이러한 권한을 정책(Policy)이라고 한다.

     

    계정 -> 사용자 -> [그룹] -> 정책

    계정 -> 역할 -> 정책

     

    IAM 역할의 인증

    먼저 IAM 역할의 사용에 있어서, 인증 부분에 관해서 설명을 하고 넘어가도록 하겠다.

    IAM의 인증 부분을 사용하려면 보안 인증키(security credential)가 필요하다. 루트(root) 계정과 IAM 사용자의 경우엔 영구적인 보안 인증키를 가지게 된다. 하지만 IAM 역할은 보안키를 가질 수 없고, 해당 역할을 부여받은 IAM 사용자 혹은 AWS 서비스 및 특정 애플리케이션에게 임시 보안키를 발급하여 일시적으로 IAM 정책에 있는 서비스에 접근할 수 있도록 한다. 

                                                                       임시 보안키
    특정 애플리케이션 및 AWS 서비스, IAM 사용자     <-------------    역할
    => 이후에 IAM 정책 속에 있는 서비스에 접근 가능

     

    이 때문에 AWS 서비스는 AWS 보안 인증키를 직접 소스 코드에 하드코딩하지 않아도 IAM 정책에 있는 AWS 자원에 대한 접근이 가능하다. 서비스에 부여했던 권한(역할)을 사용할 때, 임시 보안 인증키를 사용하여 서비스에 접근 - 작업이 가능하다. 람다 함수에서 AWS SDK를 사용하는 프로그램 코드는 자동으로 해당 보안 인증키를 사용하여 필요한 권한을 얻는다. 

     

    IAM 사용자의 보안 인증키는 다음과 같이 구성되어 있다.

    • 한 개의 Access key ID : 임시 아이디의 역할
    • 한 개의 Secret access key : 임시 암호의 역할

     

    임시 보안키의 경우엔 유효 기간이 지나면 AWS CLI 혹은 SDK에 의해 자동으로 재발급된다. 즉 인증 영역은 추상화가 잘 이루어져 있기 때문에 깊게 파고들 필요가 없다.

     

     

     

     

    '서버 > AWS' 카테고리의 다른 글

    DynamoDB Query 공식 문서 파헤치기  (0) 2020.03.04
    AWS DynamoDB Document Client란?  (0) 2020.03.04
    AWS Lambda를 위한 동기/비동기 정리  (0) 2020.03.02

    댓글

Designed by Tistory.