본문 바로가기

Dev. Server/AWS

[AWS] IAM이란?

출처 : https://sra.io/blog/aws-iam-exploitation/

 

● IAM (Identity and Access Manager) 

: AWS의 리소스에 대한 개별적으로 접근제어와 권한을 가지도록 계정 또는 그룹을 생성, 관리하는 서비스입니다.

어떤 IAM 계정은 EC2 서비스만 접근할 수 있도록 권한을 부여하고, 다른 IAM 계정은 S3 서비스만 접근할 수 있도록 권한을 나눌 수 있습니다.

초기 AWS 계정 생성시 해당 계정의 모든 AWS 서비스 및 리소스에 완전한 엑세스 권한이 있는 하나의 ID, 즉 AWS 계정 루트 사용자로 시작합니다.

일상적인 작업, 관리 작업조차도 이 루트 사용자 계정으로 사용하지 않는 것을 권장하고 있습니다.

 

IAM 계정이 없다면 AWS 계정 자체가 모든 서비스에 대한 권한이 있기 때문에 보안상 취약합니다.

따라서 IAM 계정을 생성해서 각 IAM 계정에 필요한 권한만 갖도록 설정할 수 있습니다.

또한 IAM 계정은 access key를 개별적으로 관리할 수 있기 때문에 보안성이 높아집니다.

 

● 주요 기능

1. 계정에 대한 공유 엑세스 : 암호나 액세스 키를 공유하지 않고도 AWS 계정의 리소스를 관리하고 사용할 수 있는 권한을 다른 사람에게 부여 가능
2.  세분화된 권한 : 리소스에 따라 여러 사람 또는 EC2 인스턴스에서 실행되는 애플리케이션에 안전하게 제공
3. 멀티 팩터 인증(MFA) : 계정 작업을 위해 암호나 액세스 키뿐 아니라 특별히 구성된 디바이스 코드도 제공
4.  자격 증명 연동 : 기업 네트워크나 인터넷 자격 증명 공급자와 같은 다른 곳에 이미 암호가 있는 사용자에게 AWS 계정에 대한 임시 액세스 권한 부여 가능
5.  IAM 액세스 방식 : AWS Management Console, AWS 명령줄 도구(CLI, Window용 PowerShell), AWS SDK, IAM HTTPS API

 

 

출처 : https://claudecloud.tistory.com/2

위와 같은 예시로 본다면 Group Admins은 거의 모든 권한을 부여 받았거나, 솔루션들의 설정 권한, 대금 결제, 신규 계정 생성 등의 권환이 있을것입니다.

Group Developers는 개발자별로 자신이 속한 개발 부서 또는 분야에서 사용하는  AWS 솔루션들의 접근 권한을 부여 받았을 것 입니다.

Group Test는 별도의 설정권한 없이 실행권한 위주로만 권한을 부여 받았을 것 입니다.

 

 

다음 포스팅에서는 AWS IAM 직접 권한 부여 및 관리를 해보겠습니다.