
: 완전 관리형 비관계형 데이터베이스 서비스(NoSQL)
: 선택된 region 간에 DynamoDB 테이블을 자동으로 복제한다.
대규모로 확장되는 전역 애플리케이션에 대해 신속한 로컬 읽기 및 쓰기 성능을 지원한다.


: 완전 관리형 In-Memory Read Performance를 향상시켜주는 인메모리 캐시 서비스
초당 요청 수가 몇 백만 개인 경우에도 몇 밀리초에서 몇 마이크로초까지 최대 10배의 성능을 제공한다.
: Lambda의 trigger를 이용하면 DynamoDB의 stream event를 쉽게 전달 받을 수 있어 원하는 후속처리를 쉽게 할 수 있다.

: 실시간으로 데이터 스트림을 수집, 처리 및 분석 수행

: 스트리밍 데이터를 AWS로 로드하여 "처리 및 전송"을 수행하는 방법을 제공한다.
스트리밍 데이터를 캡처하고 변환하여 S3, Redshift, Amazon ES, ... 등으로 로드한다.

: 수집된 데이터를 일정 기간 동안 내구성 있게 저장하기 위한 서비스
: 빠르게 수집되고 있는 비디오 형식의 데이터를 캡처하여 AWS로 프레임 단위로 스트리밍한다.

: 완전 관리형 서비스로서 표준 ANSI:1999 SQL을 사용하여 방대한 규모의 스트리밍 데이터를 실시간으로 처리한다.
표준 SQL을 사용하여 스트리밍 데이터를 변환하고 통찰력을 확보한다.

: 빠르고 강력한 Petabyte 규모의 완전 관리형 Data warehouse 서비스
저장 비용과 쿼리 비용이 발생한다.
: AWS 리소스에 대한 액세스를 중앙에서 안전하게 제어할 수 있는 계정 단위 AWS 점근 제어 서비스
사용자, 그룹, 역할, 정책을 생성할 수 있으며, 만들어진 IAM Entity에 정책을 적용하여 AWS 리소스에 대한 접근 제어를 한다. -> 최소 권한의 원칙 준수
여러 사용자가 그룹에 소속된다. 그룹에 권한을 부여하면 그 그룹에 속한 사용자에게 권한이 부여되게 된다.

역할(role) 사용의 이점
: 교차 계정 액세스 권한 부여가 가능하고, 임시 권한을 부여하여 보안을 강화할 수 있다.
AWS root 계정
: 가입시 생성되는 계정
모든 것을 다 수행할 수 있는 super user이다. 정보보안 감사 정책에 의거 root 계정 사용 제한을 권고한다. IAM 관리자 계정 생성 후 root 계정은 잠금 처리를 권장한다.
IAM 계정
: 일반 사용자 계정
업무 별로 분리해서 사용하고 그룹단위로 묶는다.
IAM 계정 생성 후 AdministratorAccess 권한(정책)을 부여하여 관리자로 임명하고 운영에 사용한다.
권고 방안
: root 및 권한을 많이 부여 받은 IAM 사용자는 MFA 방식으로 제한한다.
-> MFA를 사용하지 않으면 리소스에 접근을 차단하는 정책을 사용한다.
: Administrator 권한을 부여 받은 IAM이 일반 사용자 계정을 만들고 권한을 할당한다.
: 일반 사용자 IAM은 최소 권한(정책, policy)의 원칙에 의거, 필요한 권한만 부여 후 업무에 사용한다.
User(사용자)
: 접근을 수행하는 account(계정)
Group(그룹)
: 공통 역할을 하는 계정들의 집합
Role(역할)
: 생성된 role은 사용자나 그룹에 할당하는 것이 아니라 EC2와 같은 AWS 서비스 리소스에 할당한다.
Policy(정책)
: 하나 또는 다수의 permission을 정의한 문서로 JSON 파일로 구성된다.
- Identity-based policies(자격증명 기반 정책)
- Resource-based policies(리소스 기반 정책)
Permission(권한)
: 어떤 리소스와 어떤 작업을 허용/거부할지를 결정하여 정책에 포함 시킨다.
: IAM 사용자가 설정할 수 있는 암호의 복잡성 유형을 정의한다.
-> 사용자의 계정 관리 규정 준수
: AWS 리소스에 대한 액세스를 제어할 수 있는 임시 보안 자격 증명을 생성하여 신뢰받는 사용자에게 제공한다.
단기적으로 몇 분에서 몇 시간까지 지속되도록 구성할 수 있다.

: IAM 사용자, 역할 또는 그룹과 같은 보안 주체에 연결할 수 있는 권한 정책
AWS 관리형 정책
: AWS에서 생성하고 관리하는 관리형 정책
고객 관리형 정책
: 고객이 AWS 계정에서 생성하고 관리하는 관리형 정책
AWS 관리형 정책이 아닌 정책을 보다 정밀하게 제어한다.
내 입맛대로 조합해서 부여한다.
인라인 정책(1:1)
: 사용자가 생성하고 관리하며, 단일 사용자, 그룹 또는 역할에 직접 포함되는 정책


: AWS 리소스에만 적용되는 인라인 정책(S3 bucket, Amazon SQS, ...)
누가 리소스에 액세스할 수 있고 어떤 작업을 수행할 수 있는지 지정한다.
AWS는 모든 정책 유형에서 적어도 하나의 허용이 있는지 확인한다.

=> Kevin이 S3 버킷에 사진을 업로드 할 수 있을까? -> PutObject
: 어떤 리소스와 어떤 작업을 허용/거부 할지를 결정한다. 거부가 우선된다.

Effect : 명시된 정책에 대한 Allow, Deny 사용
Principal, NotPrincipal : 대상(주체) 지정, 해당 리소스의 요청을 전달할 수 있는 보안주체가 기술된다.
Action, NotAction : 서비스의 API Calls 지정, 허용/차단 접근 타입
Resource, NotResource: Action이 영향을 미치는 리소스 대상(요청의 목적지)
Condition: 조건 지정. 조건을 충족되는 경우에만 해당 정책을 적용한다.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:GetItem",
"dynamodb:PutItem"
],
"Resource": [
"arn:aws:dynamodb:ap-northeast-2:26123454234:table/item_table"
],
"Condition": {
"IpAddress": {
"aws:SourceIp": "10.10.1.10"
},
}
}
]
}

: 자격 증명 기반 정책을 통해 IAM 엔티티에 부여할 수 있는 최대 권한을 설정하는 고급 기능
이미 명시적으로 허용된 넓은 범위의 권한을 특정 사용자 또는 그룹을 대상으로 허용범위를 제약하는 방법으로 매우 효과적이다.
A 회사는 AWS 사용양이 증가하고 있습니다. 많은 Amazon EC2 instance와 상당한 Amazon S3 storage를 사용하고 있습니다. 아래 표와 같이 직무에 따라 새 직원에게 접근 권한을 부여하려고 합니다. 다음을 구성해 보세요.


































CloudTrail
: AWS 인프라 전반에서 계정 활동을 확인한다.
누가 또는 무엇이 어떤 작업을 수행했는지, 어떤 리소스에 대해 조치가 취해졌는지, 언제 이벤트가 발생했는지, AWS 계정에서 활동 분석 및 응답에 도움이 되는 기타 세부 정보를 식별한다.
IAM Access Analyzer
: 리소스 및 데이터에 대한 의도하지 않은 액세스라는 보안 위험을 식별한다.
결과를 검토하여 액세스가 의도한 안전한 액세스인지 또는 액세스가 의도하지 않은 보안 위험인지 확인한다.
GuardDuty
: AWS 계정과 워크로드를 보호할 수 있도록 악의적 또는 무단 동작을 지속적으로 모니터링하는 AWS 위협 탐지 서비스
위협 인텔리전스 피드를 통해 의심되는 공격자를 식별하고 기계 학습을 사용하여 계정 및 워크로드 활동의 이상을 감지한다.
Security Hub
: 지원되는 AWS 파트너 솔루션의 보안 결과 데이터를 자동으로 집계할 수 있으므로, AWS 환경 전체에서 보안 및 규정 준수를 포괄적으로 파악할 수 있다.
Inspector
: 보안과 배포된 애플리케이션의 규정 준수를 개선하는 자동화된 보안 평가 서비스
규모에 맞는 지속적인 자동 취약성 관리로 사용자 지정 애플리케이션 취약점을 스캔하고 설명하는 보고서를 제공하는 서비스
Macie
: Amazon Macie는 완전관리형 데이터 보안 및 데이터 프라이버시 서비스.
ex) 개인 식별 정보(PII)와 같은 민감한 데이터 수집
기계 학습 및 패턴 일치를 활용하여 AWS에서 민감한 데이터를 검색하고 보호한다.
MFA 설정