728x90
반응형
IAM 소개 : 사용자, 그룹, 정책
- IAM : Identity and Access Mangement
- 사용자를 생성, 그룹에 배치 → 글로벌 서비스 해당
- 루트 계정 : 오직 계정을 생성할 때만 사용되야 함 → 사용자를 생성해서 사용
- 하나의 사용자는 조직 내의 한 사람에 해당
- 필요에 따라 그룹으로 묶을 수 있다
- 그룹에는 사용자만 배치 → 다른 그룹을 포함시킬 수 없다
- 한 사용자가 다수의 그룹에 배치될 수 있다
IAM : Permission
- 권한을 부여하기 위해 IAM 정책이라고 불리는 JSON 문서를 지정할 수 있다
- AWS에서는 최소 권한의 원칙을 적용
- cf. 사용자에게 필요로 하는 것 이상의 권한을 주지 않는다
IAM 정책
- 그룹을 생성하고 정책을 그룹 레벨에서 연결
- → 정책이 그룹의 모든 구성원에게 적용, 정책의 상속이 가능
- 특정 사용자에게만 연결이 가능한 정책의 생성도 가능 : Inline 정책
정책의 구조
- Sid : 문장 ID
IAM MFA 개요
- 그룹과 사용자들의 정보가 침해당하지 않도록 보호
- 방어 매커니즘 2가지
- 비밀번호 정책
- MFA
IAM - Password Polity
- 최소 길이 설정
- 특정 글자 요구 : 대문자, 소문자, 특수문자
- IAM 사용자들의 비밀번호 변경 허용/금지
- 일정 기간 후 비밀번호 만료, 새 비밀번호 요구
- 비밀번호 재사용 금지
MFA (Multi Factor Athentication)
- 다요소 인증 : 비밀번호 + 보안 장치
- MFA 생성 토큰 등
- AWS에서 MFA 매커니즘 사용을 필수 권장
- 해킹으로 인해 비밀번호가 누출되더라도 계정 침해되는 것을 방지
MFA 옵션
- 가상 MFA 장치
- U2F 보안 키 : 물리적 보안 장치
- 하드웨어 키 팝 MFA 장치
- ..
AWS 액세스 키, CLI, SDK
- 유저가 AWS에 액세스 하는 방법은 3가지
- AWS 콘솔 : password + MFA 보안
- CLI (Command Line Interface, 명령줄 인터페이스) : 액세스 키 보안
- SDK (Software Developer Kit) : 액세스 키 보안
- 애플리케이션 코드 내에서 API를 호출
- 액세스 키의 생성 ⇒ 관리 콘솔 사용
- 사용자들이 자신들의 액세스 키를 직접 관리
- 자신의 액세스 키를 동료들과 공유해서는 안됨
AWS CLI
- 명령줄 셸에서 명령어를 사용해서 AWS 서비스들과 상호작용할 수 있도록 해주는 도구
- 모든 명령어가 aws로 시작
- AWS 서비스의 공용 API로 직접 액세스가 가능
- CLI를 통해 리소스를 관리하는 스크립트를 개발해 일부 작업을 자동화 가능
- 오픈 소스이며 관리 콘솔을 사용하지 않고 CLI만으로도 사용이 가능
AWS SDK
- 소프트웨어 개발 키트
- 특정 언어로 된 라이브러리의 집합 → 프로그래밍 언어에 따라 개별 SDK가 존재
- 터미널 내에서 사용하는 것이 아님 → 코딩을 통해 애플리케이션 내에 심어두는 것
- 다양한 프로그래밍 언어 지원
IAM Role
- 이를 위해 사용자와 마찬가지로 권한이 필요AWS 서비스 몇 가지는 우리의 계정에서 실행해야 함
⇒ AWS 서비스에 권한을 부여해야 한다 ⇒ IAM Role을 생성 - EC2 인스턴스를 사용하기 위해, 권한을 부여해야 함
- IAM Role을 만들어 EC2, IAM Role을 하나의 개체로 만든다
- EC2 인스턴스가 AWS에 있는 어떤 정보에 접근하려고 할 때, IAM Role 사용
- 권한을 올바르게 부여한 경우, 호출에 접근
IAM 보안 도구
- IAM 자격 증명 보고서
- 계정 수준
- 계정이 있는 사용자와 다양한 자격 증명의 상태를 포함
- IAM 액세스 관리자
- 사용자 수준
- 사용자에게 부여된 서비스의 권한과 해당 서비스에 마지막으로 액세스한 시간 포함
IAM 모범 사례
- 누군가 여러분의 AWS를 이용하고 싶다면 → 자격 증명을 주지 말고 새로운 사용자를 만들어 준다
- 사용자를 그룹에 넣고, 해당 그룹에 권한을 부여
- MFA 사용을 권장
- 권한을 부여할 때마다 역할을 만들고 사용해야 함
- CLI, SDK를 사용할 경우 → 반드시 액세스 키를 만든다
- cf. 액세스 키는 비밀번호와 같다
- 계정 권한의 감사 → IAM 자격 증명 보고서, IAM 액세스 분석기를 사용할 수 있다
- 절대로 IAM 사용자와 액세스 키를 공유하지 말 것
IAM 요약
- AWS 사용자와 IAM 사용자가 매핑
- 사용자는 AWS 콘솔에 대한 비밀번호를 갖는다
- 사용자를 그룹에 두어 사용하는 것이 바람직
- 그룹은 사용자만을 포함
- 다른 그룹을 포함할 수는 없음
- 사용자나 그룹에 권한을 부여
- IAM 정책을 생성 → JSON 문서
- AWS에서 역할을 사용할 수 있다
- 어떤 권한을 주려고 할 때는 IAM 역할을 만들어야 한다
- 보안과 관련해 MFA를 활성화 → 로그인 시 2번째 장치를 이용, 강한 비밀번호 정책
- CLI 또는 SDK를 이용해 액세스하려면, 반드시 액세스 키를 만들어야 함
- 프로그래밍 방식으로 접근할 수 있다
- IAM 대시보드를 감사 → 자격 증명 보고서(사용자 관련 정보), IAM 액세스 관리자(특정 사용자 정보)
'Cloud' 카테고리의 다른 글
[AWS/Cloud] 강의 노트 : 고가용성 및 스케일링성: ELB 및 ASG (0) | 2023.09.10 |
---|---|
[AWS/Cloud] 강의 노트 : EC2 인스턴스 스토리지 (0) | 2023.09.04 |
[AWS/Cloud] 강의 노트 : EC2 기초 (0) | 2023.09.02 |
[AWS/Cloud] 강의 노트: AWS 시작하기 (0) | 2023.08.30 |
[AWS/Cloud] SAA-03 취득 주절주절 후기, 공부 방법 정리 (0) | 2023.08.26 |