AWS 영수증 읽기

개발자를 위한 AWS 보안 활용

Rahul Singh

Technical Product Manager

기록 하나에 담긴 내용

CloudTrail: API 호출 하나, 기록 하나

  1. 호출된 작업: eventName
  2. 호출 시각(UTC): eventTime
  3. 호출한 사용자: userIdentity
  4. 대상 리소스: requestParameters

다섯 개의 번호가 매겨진 필드와 각 필드의 예시 값을 보여주는 기록 카드입니다: eventName, eventTime, userIdentity, requestParameters, errorCode. 다섯 번째 항목은 주황색이며 값은 AccessDenied입니다.

개발자를 위한 AWS 보안 활용

기록 하나에 담긴 내용

CloudTrail: API 호출 하나, 기록 하나

  1. 호출된 작업: eventName
  2. 호출 시각(UTC): eventTime
  3. 호출한 사용자: userIdentity
  4. 대상 리소스: requestParameters
  5. 거부 여부와 이유: errorCode

다섯 개의 번호가 매겨진 필드와 각 필드의 예시 값을 보여주는 기록 카드입니다: eventName, eventTime, userIdentity, requestParameters, errorCode. 다섯 번째 항목은 주황색이며 값은 AccessDenied입니다.

개발자를 위한 AWS 보안 활용

로그가 명시하는 주체

필드 두 개, 신원 하나

  • 세션: 호출자, arn 필드, arn:aws:sts:로 시작
  • 역할: 권한, sessionIssuer 필드, arn:aws:iam:로 시작

두 영역이 위아래로 배치되어 있습니다. 위쪽 Principal 영역은 세션 ARN assumed-role/ReportsRole/deploy-42에서 이를 발급한 역할 ARN role/ReportsRole으로 내려가는 실선 화살표를 보여줍니다. 아래쪽 Actor 영역은 세션 이름, sourceIPAddress, userAgent에 대한 점선 상자 세 개가 모두 Inferred라고 적힌 점선 상자를 가리키는 모습을 보여줍니다.

개발자를 위한 AWS 보안 활용

로그가 명시하는 주체

필드 두 개, 신원 하나

  • 세션: 호출자, arn 필드, arn:aws:sts:로 시작
  • 역할: 권한, sessionIssuer 필드, arn:aws:iam:로 시작

행위자는 필드가 아닙니다

  • 추론 정보: 세션 이름, sourceIPAddress

두 영역이 위아래로 배치되어 있습니다. 위쪽 Principal 영역은 세션 ARN assumed-role/ReportsRole/deploy-42에서 이를 발급한 역할 ARN role/ReportsRole으로 내려가는 실선 화살표를 보여줍니다. 아래쪽 Actor 영역은 세션 이름, sourceIPAddress, userAgent에 대한 점선 상자 세 개가 모두 Inferred라고 적힌 점선 상자를 가리키는 모습을 보여줍니다.

개발자를 위한 AWS 보안 활용

필드는 40개가 아니라 4개만

필드 40개 중 중요한 건 4개

  • 행위자(Actor): 작업을 일으킨 당사자
  • 주체(Principal): AWS가 확인한 신원
  • 작업(Action): 호출된 작업
  • 리소스(Resource): 영향을 받은 대상

회색 필드 막대가 빽빽하게 늘어선 이벤트 기록에서 네 개만 파란색으로 강조되어 있고, 아래쪽 화살표는 actor, principal, action, resource 네 줄로 이루어진 간결한 카드로 이어집니다.

개발자를 위한 AWS 보안 활용

필드는 40개가 아니라 4개만

필드 40개 중 중요한 건 4개

  • 행위자(Actor): 작업을 일으킨 당사자
  • 주체(Principal): AWS가 확인한 신원
  • 작업(Action): 호출된 작업
  • 리소스(Resource): 영향을 받은 대상

각 필드의 출처

  • 작업은 eventName에서, 리소스는 requestParameters에서
  • 주체는 userIdentity에서, 행위자는 추론

회색 필드 막대가 빽빽하게 늘어선 이벤트 기록에서 네 개만 파란색으로 강조되어 있고, 아래쪽 화살표는 actor, principal, action, resource 네 줄로 이루어진 간결한 카드로 이어집니다.

개발자를 위한 AWS 보안 활용

기본적으로 켜짐, 또는 기본적으로 꺼짐

관리 이벤트

  • 제어 플레인 호출
  • 모든 KMS 호출 포함, 따라서 Decrypt도 여기 해당
  • 이벤트 기록: 무료 90일 콘솔 조회

 

상자 안에 제어 플레인 호출 이름 세 개가 있고, 실선 화살표가 Recorded by default라고 적힌 상자로 이어집니다.

 

개발자를 위한 AWS 보안 활용

기본적으로 켜짐, 또는 기본적으로 꺼짐

관리 이벤트

  • 제어 플레인 호출
  • 모든 KMS 호출 포함, 따라서 Decrypt도 여기 해당
  • 이벤트 기록: 무료 90일 콘솔 조회

데이터 이벤트

  • 객체 읽기, 함수 호출, 항목 쓰기
  • 트레일(Trail): 지속적 전송, 별도 과금
  • 선택기(selector)가 리소스 유형과 읽기·쓰기 여부를 지정

상자 안에 제어 플레인 호출 이름 세 개가 있고, 실선 화살표가 Recorded by default라고 적힌 상자로 이어집니다.

상자 안에 데이터 플레인 호출 이름 세 개가 있고, 점선 화살표가 Not recorded until you ask라고 적힌 점선 상자로 이어집니다.

개발자를 위한 AWS 보안 활용

그건 아무도 기록하지 않았습니다

세 시점으로 이루어진 타임라인입니다: 기록할 항목을 선택하는 시점, 파일을 다운로드하는 시점, CloudTrail을 여는 시점입니다. 점선이 첫 번째 시점을 마지막 시점까지 이어가며, 거기서 이벤트를 찾음 상자와 아무것도 없음 상자로 갈라집니다.

미리 결정, 나중에 확인

개발자를 위한 AWS 보안 활용

그건 아무도 기록하지 않았습니다

세 시점으로 이루어진 타임라인입니다: 기록할 항목을 선택하는 시점, 파일을 다운로드하는 시점, CloudTrail을 여는 시점입니다. 점선이 첫 번째 시점을 마지막 시점까지 이어가며, 거기서 이벤트를 찾음 상자와 아무것도 없음 상자로 갈라집니다.

미리 결정, 나중에 확인

  • 고객 데이터에는 데이터 이벤트 켜짐
  • 나머지는 꺼짐
개발자를 위한 AWS 보안 활용

앞을 내다보는 증거

IAM Access Analyzer

  • 정책 검증(Policy validation): 작성한 정책을 점검

세 단계가 순서대로 이어집니다. 역할이 사용한 이벤트 이름 GetObject, ListBucket, Decrypt가 담긴 상자가 IAM Access Analyzer로 이어지고, 다시 네임스페이스가 지정된 IAM 작업 s3:GetObject, s3:ListBucket, kms:Decrypt를 담은 생성된 정책으로 이어집니다.

개발자를 위한 AWS 보안 활용

앞을 내다보는 증거

IAM Access Analyzer

  • 정책 검증(Policy validation): 작성한 정책을 점검
  • 정책 생성(Policy generation): 최대 90일치 트레일 활용
  • 이벤트 기록이 아닌 트레일 필요

세 단계가 순서대로 이어집니다. 역할이 사용한 이벤트 이름 GetObject, ListBucket, Decrypt가 담긴 상자가 IAM Access Analyzer로 이어지고, 다시 네임스페이스가 지정된 IAM 작업 s3:GetObject, s3:ListBucket, kms:Decrypt를 담은 생성된 정책으로 이어집니다.

개발자를 위한 AWS 보안 활용

부여됐지만 한 번도 사용되지 않음

막대 두 개가 있습니다. 위쪽 막대는 부여된 작업 42개를 보여줍니다. 아래쪽 막대는 좁은 녹색 구간(작업 3개)과 넓은 점선 구간(사용되지 않은 작업 39개)으로 나뉩니다.

미사용 액세스 결과(Unused access findings)

  • 아무도 호출하지 않은 역할, 키, 작업
개발자를 위한 AWS 보안 활용

부여됐지만 한 번도 사용되지 않음

막대 두 개가 있습니다. 위쪽 막대는 부여된 작업 42개를 보여줍니다. 아래쪽 막대는 좁은 녹색 구간(작업 3개)과 넓은 점선 구간(사용되지 않은 작업 39개)으로 나뉩니다.

미사용 액세스 결과(Unused access findings)

  • 아무도 호출하지 않은 역할, 키, 작업

사용된 것과 필요한 것은 다릅니다

개발자를 위한 AWS 보안 활용

부여됐지만 한 번도 사용되지 않음

막대 두 개가 있습니다. 위쪽 막대는 부여된 작업 42개를 보여줍니다. 아래쪽 막대는 좁은 녹색 구간(작업 3개)과 넓은 점선 구간(사용되지 않은 작업 39개)으로 나뉩니다.

미사용 액세스 결과(Unused access findings)

  • 아무도 호출하지 않은 역할, 키, 작업

사용된 것과 필요한 것은 다릅니다

측정된 최소 권한

  • 증거를 입력하면 더 엄격한 정책이 출력됨
개발자를 위한 AWS 보안 활용

연습해 봅시다!

개발자를 위한 AWS 보안 활용

Preparing Video For Download...