AWS 계정 관리
AWS Organizations
- 파일 시스템 처럼 트리 구조를 이용해 계정을 그룹화함
- Organization : 관리하고 싶은 계정 그룹을 묶는 부모 그룹. Organization 단위로 결제를 통합할 수 있음
- Root : Organization의 트리 구조에서 최상위의 개념
- Organization Unit : 자식 계정을 묶는 논리 그룹. 하위에 다른 Organization Unit을 생성할 수도 있음
- 계정 : 개별 계정
AWS Organizations의 기능
1. 계정 생성
2. 결제 일원 관리
3. 계정에서 이용 가능한 AWS 서비스에 제한 설정(JSON 형식의 권한 설정)
AWS Organizations의 도입과 정책 설정
1. 마스터 계정으로 Organization을 생성
2. Organization에 연결하는 계정의 설정
- 기존 계정을 초대해서 연결
- 신규 계정을 생성해서 연결
3. Organization Unit의 생성과 계층 구조의 정의
4. 서비스 제어 정책의 생성과 적용
AWS Organizations의 베스트 프랙티스
- 마스터 계정으로 CloudTrail을 활성화
- 마스터 계정은 계정 관리 전용으로 설정
- Organization Unit애 서비스 제어 정책을 적용해 권한 제한
- Organization 내에 화이트 리스트와 블랙 리스트를 혼합하지 않음
계정 관리의 로드 맵
- 관리 주체와 관리 범위를 결정
- Organization을 관리하는 담당을 결정
- 권한 부여 규칙을 생성
- Organization Unit의 구성 설계
AWS 환경 분리
계정으로 분할
|
장점 |
단점 |
운용 측면 |
계정 별로 자신이 관리하는 AWS 리소스만 표시 되므로 생각지 못한 사고를 피할 수 있고, 담당자 또한 확인이나 작업 효울이 올라감 |
모든 계정에 IAM 사용자를 생성해야 됨 |
비용 관리 측면 |
계정(시스템) 별로 어떻게 사용 됐는지(비용이 얼마나 나오는지) 확인이 용이함. 1계정 1청구처 방식으로 생각하고 결제는 AWS Organization의 기능을 이용해서 1개의 계정으로 모음 |
계정이나 VPC마다 필요한 AWS 서비스를 이용하는 경우에는 환경의 수만큼 리소스의 수가 늘어남에 따라 비용이 증가 됨. 서포트 요금도 증가할 수 있음 |
동일 계정 내에서 VPC를 분리
- 비추
AWS 권한 관리
IAM 정책
{
"Version" : IAM 정책의 문법 버전
"Statement" : [
{
"Action" : [
어떤 AWS 서비스에 대해 어떤 작업을 허가(거부) 할지 설정
],
"Effect" : 해당 정책이 허가(Allow) 인지 거부(Deny) 인지 설정,
"Resource" : [
어떤 AWS 리소스에 대해 작업을 허가(거부) 할지 설정
]
}
]
}
IAM 정책 생성 방법
1. 처음부터 JSON으로 정의를 생성
2. AWS가 표준으로 제공하고 있는 AWS 관리 정책을 복사해서 수정
3. 정책 생성기를 이용(GUI 제공)
IAM 사용자와 IAM 그룹
- 같은 권한을 부여하고 싶은 IAM사용자를 한꺼번에 관리
- IAM 그룹 생성 -> 정책 연결 -> 검토 -> IAM 사용자 생성(그룹 선택)
루트 사용자 관리
1. AWS 계정 전체의 설정 변경(메일 주소/패스워드 변경 등)
2. AWS 서포트의 플랜 변경
3. EC2에서의 메일 상한 완화 신청
4. 역방향 DNS 신청
5. 침입 테스트 신청
6. AWS 계정 정지
관리 콘솔 밖에서 AWS 서비스 작업
액세스 키와 시크릿 키를 이용한 AWS 리소스 작업
1. 엑세스 키와 시크릿 키 생성
2. CLI 설치
3. CLI 설정(엑세스 키와 시크릿 키)
4. AWS 리소스에 액세스
키 유출 대책
1. IAM의 권한을 필요한 서비스나 이용하는 리전으로 제한(근본적인 대응책은 아님)
2. 프로그램이 아닌 환경변수로 설정
3. AWS 제공의 기밀 정보를 실수로 커밋하는 것을 방지하는 git-secrets를 도입
4. 키 페어를 하드코딩하지 않아도 되는 방식인 IAM이나 Cognito로 대체
Cognito
1. Cognito Identity : 인증 및 인가 서비스
- User Pools : 독자적인 Identity Provider 서비스
- Fedetated Identities : 인증 완료 사용자에게 AWS 서비스 이용 및 허가를 부여하는 서비스
2. Cognito Sync : 디바이스 간 데이터 동기화 서비스
AWS 권한 관리의 베스트 프랙티스
1. 역할별 IAM 그룹으로 권한 관리
2. 이용자별 IAM 사용자를 발행
3. 권한은 필요 최소한으로 할당
4. 권한과 사용자를 정기적으로 정리해서 최적의 상태 유지
'책 > AWS 시스템 설계와 마이그레이션' 카테고리의 다른 글
02. 전체 설계 (0) | 2019.02.25 |
---|---|
01. AWS 서비스 개요 (0) | 2019.02.23 |