IAM (Identity & Access Management)
AWS 계정 루트 사용자
모든 AWS 서비스 및 리소스에 대한 전체 액세스 권한을 가진다.
AWS 계정 루트 사용자는 강력한 권한을 가지며 어떠한 제한도 받지 않는다.
※ AWS 에서는 루트 계정을 잠그고 사용하지 않을 것을 권장한다.
안전한 계정 관리 방법
루트 사용자 자격 증명 잠금 : 실제로 루트 계정을 잠글 수는 없지만 일상적 상호 작용에는 루트 계정 자격 증명을 사용하지 않는 것이 좋다
IAM 관리 사용자 생성
IAM 관리 사용자 사용
IAM 보안 주체
보안 주체 : AWS 리소스에 대해 작업을 수행할 수 있는 개체
> IAM 사용자, IAM 역할 (role), 애플리케이션, AWS 서비스 등
자격 증명 공급자 (Idp)
외부 사용자의 자격 증명을 관리하고 이러한 외부 자격 증명에 AWS 리소스에 대한 사용 권한을 부여하는 것
예) 네이버로 로그인하여 인터넷 쇼핑몰을 사용하는 경우
: 네이버(외부)로 로그인하여 쇼핑몰의 사용 권한을 획득할 수 있다.
IAM 사용자
별도의 AWS 계정이 아닌 계정 내의 사용자
AWS 에서 권장하는 사용자 관리 방법
각 사용자는 자체적인 자격 증명을 갖는다
기본적으로 아무 권한이 주어지지 않는다
부여된 권한 내에서 AWS 작업을 수행할 권한이 있다.
IAM 권한 평가 방법
권한 부여 방법
리소스 기반 : 리소스에 해당 리소스를 사용 가능한 IAM 보안 주체(사용자)의 정보를 입력
자격 증명 기반 : 연결된 IAM 보안 주체(사용자)에 사용 가능한 리소스를 입력
권한 부여가 정의되어 있는 정책(Policy)은 키(Key)와 값(Value) 쌍으로 JSON 문서로 AWS에 저장되어 자격 증명 기반 정책은 보안 주체로 연결되고 리소스 기반 정책은 리소스에 연결된다 |
자격 증명 기반 정책
연결 대상 : 사용자/ 그룹/ 역할
제어 : 수행 작업/ 리소스 대상
정책 유형 : AWS 관리형, 고객 관리형, 인라인
AWS 관리형 정책 : AWS에서 미리 생성하여 관리하는 관리형 정책. 이미 만들어진 것을 사용하기 때문에 처음 사용자에게 좋다
고객 관리형 정책 : 고객이 AWS 계정에서 직접 생성하고 관리하는 정책. 직접 만들어 관리하기에 더욱 정밀한 제어가 가능하지만 JSON 문서를 직접 코딩하여 생성 및 편집하여야 한다.
인라인 정책 : 사용자가 일시적으로 생성하고 관리하는 정책. 단일 사용자, 그룹 또는 역할에 직접 포함되는 정책이다.
리소스 기반 정책
연결 대상 : AWS 리소스 (S3, Glacier, KMS 등등)
제어 : 특정 보안 주체가 허용한 작업, 필요한 조건, 항상 인라인 정책으로 정의, AWS 관리형 정책이 없음
IAM 사용자 그룹
사용자 그룹에 정책을 할당
프로젝트별로 정책을 미리 할당해두면 인사의 이동이 있을 때, 사용자에게 일일이 권한을 할당할 필요 없이 그룹에 속하는 것만으로 권한이 할당되어 관리에 용이
IAM 역할 (Role)
권한을 역할에 할당하고 사용자에게 역할을 부여하여 사용자에게 권한을 위임
만약 사용자가 역할을 받으면 기존의 모든 권한은 일시적으로 무시되고 역할에 할당된 권한을 따른다.
※ 역할은 일시적으로 권한을 부여하기 위한 방법이다. 역할로 부여받은 모든 권한은 역할을 수임하는 동안만 유지되며 사용자는 권한을 일시적으로 위임받았다고 한다 |
역할 위임 방법
AWS Management Console, AWS CLI (Command Line Interface), AssumeRole API, AWS STS (Security Token Service)
다중 계정
AWS 권장 사항
권장 사항은 다중 VPC 와 다중 계정
다중 계정
중앙 집중식 계정 관리
AWS Organization을 이용하여 계정을 통합하여 관리
OU (Organization Unit)
OU에 권한을 주면 속해있는 AWS 계정에 상속이 된다.
'AWS' 카테고리의 다른 글
210218_19_약결합 아키텍처 구축_01 (0) | 2021.02.18 |
---|---|
210217_17_Lambda_01 (0) | 2021.02.17 |
210205_11_AWS_고가용성아키텍처 (0) | 2021.02.05 |
210128_10_AWS_NetworkLayer_02_실습 (0) | 2021.01.28 |
210127_09_AWS_NetworkLayer_01 (0) | 2021.01.27 |