만자의 개발일지

[AWS] IAM이란 본문

AWS

[AWS] IAM이란

박만자 2021. 11. 12. 21:00

IAM

IAM(AWS Identity and Access Management)은 AWS리소스를 사용하도록 인증 및 권한 부여된 대상을 제어합니다.

예를 들어 출입이 허가된 인원들은 출입 카드를 통해 출입하거나, 리스트에 방문 기록을 하고 허가를 받아야 합니다.

IAM은 이러한 출입 권한을 부여하는 출입카드나, 방문 허가 같은 기능을 가지고 있는 AWS 서비스 입니다. 보안 주체가 인증(Authentication)과 권한(Authorization)을 받아 리소스에 대한 요청을 승인하는 것이 IAM의 주요 작동 방식입니다.

 

 

Policy

IAM Policy는 AWS의 서비스의 권한을 부여하여 리소스에 액세스 접근을 막거나 허용할 수 있습니다.

이러한 Policy는 Entity에 적용할 수 있습니다.

 

Entity

  • User : IAM을 통해 IAM User를 생성할 수 있습니다. Role과 Policy로 사용자의 권한을 조정할 수 있습니다.
  • Group : User의 집합입니다. Group단위로도 권한을 조정할 수 있습니다.
  • Role : Policy의 집합입니다. 여러개의 Policy를 합쳐 하나의 Role을 만들 수도 있고, 다른 Role과 Policy를 합쳐 하나의 Role로 만들 수도 있습니다.

Policy는 크게 3가지 유형으로 나뉩니다.

  • Inline
  • Managed
  • Customer

 

Inline Policy

Inline Policy는 User나 Group 을 생성할때 직접 Policy를 심어주는 것을 말합니다. 중요한 점은 User, Group, Policy는 

1대1 관계여야 한다는 것입니다. 예를들어 어떤 Policy를 한 User에 부여하게되면 그 Policy는 다른 User나 Group에 적용시킬 수 없게 됩니다. 꼭 하나의 Inline Policy는 하나의 개체에만 존재해야 합니다.

그리고 User나 Group을 삭제하면 Inline Policy도 같이 삭제됩니다.


Managed Policy

Managed Policy는 AWS에서 생성되고 관리되어집니다. 따라서 직접 Policy를 만들 필요가 없고 다수의 User와 Group에 적용 가능하지만 Managed Policy를 수정하는 것은 불가능합니다.

 

ex) AmazonDynamoDBFullAccess


Customer Policy

Customer Policy는 직접 새로 만드는 Policy를 뜻합니다. 기존에 존재하는 Managed Policy를 가져와서 필요한 부분을 넣고 불필요한 부분을 삭제해 개인의 입맛에 맞는 Policy를 구성할 수 있습니다.

Managed Policy에 원하는 Policy가 없다면 Customer Policy로 요구사항에 맞게 수정하고 사용하면 됩니다.

 

 

이렇게 3가지 Policy 종류에 대해 알아봤는데요 사실 Inline Policy는 잘 사용되지 않고 Managed Policy에 원하는게 없을 경우 Customer Policy로 직접 만들어 사용하는 경우가 대부분입니다.

 

참고

'AWS' 카테고리의 다른 글

[AWS] CodeCommit이란  (0) 2021.11.16
[AWS] CI/CD란?  (0) 2021.11.16
[AWS] AWS 스토리지 서비스  (0) 2021.10.26
[AWS] 엔드포인트(EndPoint)란  (7) 2021.09.18
[AWS] 로드 밸런서란?  (0) 2021.09.15
Comments