처음 만난 AWS 문서


11.1 IAM

IAM은 어떤 서비스 일까요?

IAMIdentity and Access Management의 약자이며, 이름이 가진 의미처럼 AWS 리소스에 대한 권한을 관리하는 서비스입니다.

그럼 IAM에 대해 자세히 한 번 알아볼까요?

IAM

IAM은 AWS 서비스와 리소스에 대한 액세스를 관리하기 위한 서비스이며, IAM 사용자 및 그룹을 만들어서 관리합니다.

그리고 권한을 사용해서 AWS 리소스에 대한 액세스를 허용하거나 거부할 수 있습니다.

이러한 IAM은 추가 비용 없이 제공 되며, 사용자가 사용한 다른 AWS 서비스에 대해서만 요금이 부과 됩니다.

그리고 Key를 발급함으로써 AWS 외부에서 API로 접근할 수도 있습니다.


지금부터는 IAM의 기본 개념에 대해서 알아보도록 하겠습니다.

IAM Basic

먼저 User가 있습니다.
User는 AWS 서비스 사용자를 의미하는데, 사람 또는 외부 애플리케이션이 User가 됩니다.

그리고 GroupUser들의 집합을 의미합니다.

다음으로 RoleAWS의 작업과 리소스에 대한 액세스를 부여하는 권한 세트를 의미합니다.
Role이라는 단어의 뜻처럼 어떤 역할을 부여하는 것이죠.

다음으로 Policy특정 AWS 요소의 특정 기능을 사용하기 위한 정책을 의미하며, PermissionPolicy들의 집합을 의미합니다.

위의 오른쪽 그림과 함께 IAM의 이러한 기본 개념을 잘 익혀두기 바랍니다.


그렇다면 IAM은 어떻게 사용하면 될까요?
IAM은 Root계정 노출없이 사용자에게 제한적인 권한(Role)을 부여하고 싶을때 사용합니다.
사용하는 방식에는 크게 Programmatic Access와 Management Console Access 두 가지가 있습니다.

먼저 Programmatic AccessAWS SDK등을 이용하여 AWS 서비스에 API로 접근하는 방식입니다.
Access key ID, Secret access key로 구성된 키가 발급 되며 일반적으로 많이 사용하는 방법입니다.

그리고 AWS Management Console Access브라우저를 통해 전용 Console login link로 접속하는 방식입니다.
Management Console Access 방식은 AWS Management Console에 제한된 로그인이 필요할 때 사용한다고 보면 됩니다.

아래 그림은 IAM 사용 형태를 나타낸 것입니다.

IAM Usage

먼저 AWS의 리소스와 서비스에 접근하려고 하는 사용자 및 그룹이 있으며, 각 사용자 및 그룹은 필요한 Policy들을 갖고 있습니다.
그리고 AWS Lambda 같은 다른 서비스가 AWS의 서비스에 접근할 수 있도록 하기 위해서 Role을 부여한 것도 볼 수 있습니다.


마지막 업데이트: 2023년 11월 12일 00시 00분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.