AWS/AWS 기초
IAM 기초
SALEE
2023. 4. 7. 09:28
728x90
IAM
AWS 리소스를 사용하기 위한 모든 요청은 IAM을 통해서 이루어짐
AWS 계정
Account Owner ID(Root Account)
- 구독한 모든 서비스에 대한 접근
- 과금 정보에 대한 접근
- 콘솔 및 API 사용
- 기술 지원 계약 변경
- 너무 많은 권한을 보유하고 있고, 권한을 제어할 수 없는 슈퍼유저
- 가급적 사용하지 않는 것을 권고
IAM 사용자, 역할, Federated 사용자
- 지정된 일부 서비스에 대한 접근
- 콘솔 및 API 사용
- 기술 지원 요청
애플리케이션을 위한 임시 보안 자격 증명
- 지정된 일부 서비스에 대한 접근
- 콘솔 및 API 사용
AWS 작업
Console 기반 작업
- 쉽게 시작 가능
- 반복 작업에 적합하지 않음
- 시간이 오래 걸림
Script 기반 작업
- 반복 작업에 적합
- 원하는 항목에 대한 수정이 용이
- 리소스의 준비 상태 확인이 어려움
- 문제 발생 시 복원 어려움
프로비저닝 엔진 사용
- 자동화 구현에 용이
- 반복 작업에 적합
- 에러 발생 시 원복 쉬움
- 최초 구현이 복잡
CDK(Cloud Development Kit) 사용
- 코드 기반
- 원하는 형상에 대한 정의
- 초기 코딩의 복잡성
클라이언트가 AWS 리소스에 보내는 모든 조회, 업데이트, 생성, 삭제 요청은 모두 API로 이루어짐
AWS는 API를 보호하기 위해서 Signature를 사용
AWS에서의 자격 증명은 Access Key ID 그리고 Secret Key 조합으로 이루어져 있음
- 인증 - 클라이언트가 자신이 주장하는 사용자와 같은 사용자 인지를 확인하는 과정
- 인가 - 클라이언트가 하고자 하는 작업이 해당 클라이언트에게 허가 된 작업인지를 확인하는 권한 부여 과정
IAM(Identity and Access Management)
Identity
- AWS로 요청할 수 있는 보안 주체를 AWS Account 내에 만들어주는 역할Access Management
- 어떤 보안 주체 어떤 리소스에 대해 어떤 권한을 가지는지 정의하는 도구로 동작
I is for Identity : AWS IAM Role
- 정의된 권한 범위 내 AWS API를 사용할 수 있는 임시 자격 증명
- IAM Role 사용하면 사용자 권한을 공유하거나 매번 필요한 권한 부여 불필요
I is for Identity : 외부 사용자 - IAM Role
- SAML 같은 연계 프로토콜을 사용해서 외부 사용자를 역할과 매핑
AM is Access MAnagements : AWS에서의 인가
- 모든 AWS 서비스는 접근 제어 정책을 기반으로 인가됨
- 매 API 호출 시, 적용된 정책을 통해 인가 수행
- 정책은 IAM 역할/ 사용자/ 그룹, AWS 리소스, 임시 자격증명 세션, OU 등에 적용할 수 있음
- AWS Root 어카운트는 기본적으로 AWS 리소스에 대한 모든 권한을 가짐
- AWS 정책은 기본 디폴트가 Deny이고, 명시적 Allow < 명시적 Deny의 우선순위
IAM Policy 구조
- Effect - 명시된 정책에 대한 허용 혹은 차단
- Principal - 접근을 허용 혹은 차단하고자 하는 대상
- Action - 허용 혹은 차단하고자 하는 접근 타입
- Resource - 요청의 목적지가 되는 서비스
- Condition - 명시된 조건 유효하다고 판단될 수 있는 조건
제출된 요청이 성공하기 위해선, IAM 보안 주체의 적법한 서명값이 포함되어 있고(인증), 정책(Policy)에 의해 해당 요청이 정확하게 인가되어야 함
IAM 정책의 종류
- Identity-based 정책 - 요청하는 주체에게 연결이 되는 정책
- Resource-based 정책 - 요청을 받는 리소스에 연결이 되는 정책
IAM 모범 사례
- AWS 계정 root 사용자 액세스 키 잠금
- 권한 있는 사용자에게 MFA 활성화
- 개별 IAM 사용자 만들기
- 그룹을 사용하여 IAM 사용자에게 권한을 할당
- 최소 권한 부여
- 서비스 권한 제어에 역할 사용
- 역할을 사용하여 권한 위임
- 자격 증명을 정기적으로 교체
- 보안 강화를 위해 정책 조건 사용
- AWS 계정의 활동 모니터링 및 감사
속성 기반 접근 제어(Attribute Based Access Control)
- IAM 보안 주체의 요소(Attribute, 태그)를 이용해서 단일 Policy로 각기 다른 리소스에 재사용가능한 접근 제어
AWS Organizations
- 멀티 AWS 계정 환경을 위한 AWS 계정의 중앙 거버넌스 및 관리 서비스
[출처] : AWS IAM과 친해지기 - 김태수, AWS | AWS Builders 온라인 시리즈
https://www.youtube.com/watch?v=c70glL9Znzs
728x90