728x90
반응형

- IAM이란?

AWS Identity and Access Management(IAM)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다. IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어한다.

AWS 계정을 처음 생성할 때는 해당 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한을 지닌 통합 인증(SSO) 자격 증명으로 시작할 수 있다. 이 자격 증명은 AWS 계정 루트 사용자(Root Account)라고 하며, 계정을 생성할 때 사용한 이메일 주소와 암호로 로그인하여 액세스합니다. 일상적인 작업, 심지어 관리 작업의 경우에도 루트 사용자를 사용하지 않는 것을 강력히 권장합니다. 대신, IAM 사용자를 처음 생성할 때만 루트 사용자를 사용하자. 그런 다음 루트 사용자 자격 증명을 안전하게 보관하고 몇 가지 계정 및 서비스 관리 작업을 수행할 때만 사용합니다.

 

※ IAM의 기능

- AWS 계정에 대한 공유 액세스
암호나 액세스 키를 공유하지 않고도 AWS 계정의 리소스를 관리하고 사용할 수 있는 권한을 다른 사람에게 부여할 수 있다.

- 세분화된 권한
리소스에 따라 여러 사람에게 다양한 권한을 부여할 수 있다. 예를 들어 일부 사용자에게 Amazon Elastic Compute Cloud(Amazon EC2), Amazon Simple Storage Service(Amazon S3), Amazon DynamoDB, Amazon Redshift 및 기타 AWS 서비스에 대한 완전한 액세스를 허용할 수 있다. 다른 사용자에게는 일부 S3 버킷에 대한 읽기 전용 권한, 일부 EC2 인스턴스를 관리할 수 있는 권한 또는 결제 정보에만 액세스할 수 있는 권한을 허용할 수 있다.

- Amazon EC2에서 실행되는 애플리케이션을 위한 보안 AWS 리소스 액세스
EC2 인스턴스에서 실행되는 애플리케이션의 경우 IAM 기능을 사용하여 자격 증명을 안전하게 제공할 수 있다. 이러한 자격 증명은 애플리케이션에 다른 AWS 리소스에 액세스할 수 있는 권한을 제공한다. 예를 들면 이러한 리소스에는 S3 버킷 및 DynamoDB 테이블이 있다.

- 멀티 팩터 인증(MFA)
보안 강화를 위해 계정과 개별 사용자에게 2팩터 인증을 추가할 수 있다. MFA를 사용할 경우 계정 소유자나 사용자가 계정 작업을 위해 암호나 액세스 키뿐 아니라 특별히 구성된 디바이스의 코드도 제공해야 한다.

- 자격 증명 연동
기업 네트워크나 인터넷 자격 증명 공급자와 같은 다른 곳에 이미 암호가 있는 사용자에게 AWS 계정에 대한 임시 액세스 권한을 부여할 수 있다.

- 보장을 위한 자격 증명 정보
AWS CloudTrail을 사용하는 경우 계정의 리소스를 요청한 사람에 대한 정보가 포함된 로그 레코드를 받게 된다. 이 정보는 IAM 자격 증명을 기반으로 한다.

- PCI DSS 준수
IAM에서는 판매자 또는 서비스 공급자에 의한 신용카드 데이터의 처리, 저장 및 전송을 지원하며, Payment Card Industry(PCI) Data Security Standard(DSS) 준수를 검증받았다.

- 무료 사용
AWS Identity and Access Management(IAM) 및 AWS Security Token Service(AWS STS)는 추가 비용 없이 AWS 계정에 제공되는 기능이다. IAM 사용자 또는 AWS STS 임시 보안 자격 증명을 사용하여 다른 AWS 서비스에 액세스하는 경우에만 요금이 부과된다.

 

※ IAM 관리 방식

- AWS Management Console
콘솔은 IAM 및 AWS 리소스를 관리하기 위한 브라우저 기반 인터페이스이다.

- AWS 명령줄 도구
AWS 명령줄 도구를 통해 시스템 명령줄에서 명령을 실행하여 IAM 및 AWS 작업을 수행할 수 있다. 명령줄을 사용하는 것이 콘솔을 사용하는 것보다 더 빠르고 편리할 수 있다. AWS 작업을 수행하는 스크립트를 작성할 때도 명령줄 도구가 유용하다.
AWS에서는 AWS Command Line Interface(AWS CLI) 및 AWS Tools for Windows PowerShell라는 두 가지 명령줄 도구 세트를 제공한다.

- AWS SDK
AWS에서는 다양한 프로그래밍 언어 및 플랫폼(Java, Python, Ruby, .NET, iOS, Android 등)을 위한 라이브러리와 샘플 코드로 구성된 소프트웨어 개발 키트(SDK)를 제공한다. SDK를 사용하면 편리하게 IAM 및 AWS에 프로그래밍 방식으로 액세스할 수 있다. 예를 들어 SDK는 요청에 암호화 방식으로 서명, 오류 관리 및 자동으로 요청 재시도와 같은 작업을 처리한다.

- IAM HTTPS API
서비스로 직접 HTTPS 요청을 실행할 수 있는 IAM HTTPS API를 사용하여 프로그래밍 방식으로 IAM 및 AWS에 액세스할 수 있다. HTTPS API를 사용할 때는 자격 증명을 사용하여 요청에 디지털 방식으로 서명하는 코드를 포함해야 한다.

728x90
반응형

+ Recent posts