안전하게 배포하기

개발자를 위한 AWS 보안 활용

Rahul Singh

Technical Product Manager

체크리스트의 목적

전체 너비의 배포 바 위에 나란히 놓인 두 개의 카드. 왼쪽 카드는 설정이라는 레이블이 붙어 있고, 녹색 체크 표시가 있는 세 가지 구성 값을 담고 있으며 하나의 올바른 값이라는 캡션이 달려 있습니다. 오른쪽 카드는 질문이라는 레이블이 붙어 있고, 빈 점선 답변 슬롯 옆에 세 개의 물음표를 담고 있으며 여러분의 답변이라는 캡션이 달려 있습니다. 두 카드에서 화살표가 아래로 배포 바까지 이어집니다.

  • 여섯 가지 질문을 배포 전에 묻는 것입니다
  • 여섯 가지 설정을 켜는 것이 아닙니다
개발자를 위한 AWS 보안 활용

요청 순서에 따른 여섯 가지 질문

다음 순서로 질문하세요

  1. 호출자의 토큰을 누가 검증하나요?
  2. AWS가 확인하는 신원은 무엇인가요?

테넌트 보고서 서비스가 수직 경로로 그려지기 시작합니다: 테넌트 사용자, API Gateway, 보고서 함수 순서입니다. 번호 1과 2가 질문이 적용되는 두 지점에 표시되어 있습니다.

개발자를 위한 AWS 보안 활용

요청 순서에 따른 여섯 가지 질문

다음 순서로 질문하세요

  1. 호출자의 토큰을 누가 검증하나요?
  2. AWS가 확인하는 신원은 무엇인가요?
  3. 한 테넌트가 다른 테넌트의 행을 읽지 못하도록 막는 것은 무엇인가요?
  4. 데이터베이스 비밀번호는 어디에 저장되나요?

테넌트 보고서 서비스가 수직 경로로 그려져 있습니다: 테넌트 사용자, API Gateway, 보고서 함수, DynamoDB 순서이며, Secrets Manager가 옆으로 분기됩니다. 번호 1부터 4까지가 질문이 적용되는 네 지점에 표시되어 있습니다.

개발자를 위한 AWS 보안 활용

요청 순서에 따른 여섯 가지 질문

다음 순서로 질문하세요

  1. 호출자의 토큰을 누가 검증하나요?
  2. AWS가 확인하는 신원은 무엇인가요?
  3. 한 테넌트가 다른 테넌트의 행을 읽지 못하도록 막는 것은 무엇인가요?
  4. 데이터베이스 비밀번호는 어디에 저장되나요?
  5. 키는 누가 보유하고, 누가 사용했나요?
  6. 내일의 다운로드가 기록을 남길까요?

테넌트 보고서 서비스가 수직 경로로 그려져 있습니다: 테넌트 사용자, API Gateway, 보고서 함수, DynamoDB, S3 보고서 순서이며, Secrets Manager와 KMS 키가 옆으로 분기됩니다. 여섯 개의 번호가 질문이 적용되는 여섯 지점에 표시되어 있습니다. 점선 경계가 전체 서비스를 감싸고 그 아래의 점선 CloudTrail 상자로 이어집니다.

개발자를 위한 AWS 보안 활용

체크했다고 안전한 것은 아닙니다

이 서비스에서 얻은 세 가지

  1. 키가 아닌 역할: 모든 객체를 읽습니다

보고서 서비스의 세 가지 번호 조각입니다. 첫 번째에서는 보고서 함수에 녹색 체크 표시가 있고, 주황색 점선 테두리가 버킷 내 세 테넌트 접두사 전체에 걸쳐 있습니다. 두 번째에서는 녹색 테넌트 필터가 함수 내부에 있고, 그 바깥 요청 경로에는 비어 있는 주황색 게이트가 있습니다. 세 번째에서는 버킷에 녹색 체크 표시가 있고, 감사자에서 AWS 관리형 키로 이어지는 주황색 점선 경로가 키에 도달하지 못하고 멈춰 있습니다.

개발자를 위한 AWS 보안 활용

체크했다고 안전한 것은 아닙니다

이 서비스에서 얻은 세 가지

  1. 키가 아닌 역할: 모든 객체를 읽습니다
  2. 테넌트 열: 필터가 코드 안에 있습니다
  3. 암호화 적용: 키를 공유할 수 없습니다

보고서 서비스의 세 가지 번호 조각입니다. 첫 번째에서는 보고서 함수에 녹색 체크 표시가 있고, 주황색 점선 테두리가 버킷 내 세 테넌트 접두사 전체에 걸쳐 있습니다. 두 번째에서는 녹색 테넌트 필터가 함수 내부에 있고, 그 바깥 요청 경로에는 비어 있는 주황색 게이트가 있습니다. 세 번째에서는 버킷에 녹색 체크 표시가 있고, 감사자에서 AWS 관리형 키로 이어지는 주황색 점선 경로가 키에 도달하지 못하고 멈춰 있습니다.

개발자를 위한 AWS 보안 활용

구성만으로는 드러나지 않는 격차

허용됨이라는 레이블이 붙은 하나의 외부 상자 안에, 겹치지 않는 두 개의 내부 상자가 있습니다. 사용됨이라는 레이블의 녹색 실선 상자에는 역할이 호출한 세 가지 IAM 작업이 들어 있습니다. 호출된 적 없음이라는 레이블의 주황색 점선 상자에는 한 번도 호출되지 않은 세 가지 IAM 작업이 들어 있습니다.

  • 작성한 날에는 정확했습니다: 당시 서비스가 호출한 모든 작업
개발자를 위한 AWS 보안 활용

구성만으로는 드러나지 않는 격차

허용됨이라는 레이블이 붙은 하나의 외부 상자 안에, 겹치지 않는 두 개의 내부 상자가 있습니다. 사용됨이라는 레이블의 녹색 실선 상자에는 역할이 호출한 세 가지 IAM 작업이 들어 있습니다. 호출된 적 없음이라는 레이블의 주황색 점선 상자에는 한 번도 호출되지 않은 세 가지 IAM 작업이 들어 있습니다.

  • 작성한 날에는 정확했습니다: 당시 서비스가 호출한 모든 작업
  • 지금은 너무 광범위합니다: 더 이상 호출하지 않는 절반
  • 해결 방법: 90일간의 기록에서 실제 사용된 작업만 부여하세요
개발자를 위한 AWS 보안 활용

설정이 아니라 이유를 기록하세요

하나의 선택을 이루는 두 부분

  • 코드가 설정하는 값
  • 그렇게 설정한 이유

저장소에 있음이라는 레이블의 구성 라인이, 이유라는 레이블과 기록되지 않음이라는 캡션이 붙은 빈 점선 상자 위에 놓여 있습니다. 화살표가 그 아래로 내려가 선택함, 거부함, 변경 조건, 날짜라는 네 개의 레이블 슬롯이 있는 녹색 기록 카드로 이어집니다.

개발자를 위한 AWS 보안 활용

설정이 아니라 이유를 기록하세요

하나의 선택을 이루는 두 부분

  • 코드가 설정하는 값
  • 그렇게 설정한 이유

 

  • 기록하고 승인하면: 결정이 됩니다
  • 기록하지 않으면: 놀라운 상황이 됩니다

저장소에 있음이라는 레이블의 구성 라인이, 이유라는 레이블과 기록되지 않음이라는 캡션이 붙은 빈 점선 상자 위에 놓여 있습니다. 화살표가 그 아래로 내려가 선택함, 거부함, 변경 조건, 날짜라는 네 개의 레이블 슬롯이 있는 녹색 기록 카드로 이어집니다.

개발자를 위한 AWS 보안 활용

같은 질문, 새로운 호출자

행위자와 호출자라는 두 개의 제목 아래 세 개의 행이 있으며, 각 행위자와 그가 작동시키는 호출자를 짝지어 보여줍니다: 익숙한 사례로 흐리게 표시된 사람과 브라우저 세션, 커밋과 파이프라인, 요청과 에이전트입니다. 세 경우 모두 하나의 게이트라는 캡션이 붙고 세 개의 번호 표시가 있는 하나의 파란색 게이트로 모입니다.

  • 워크로드 아이덴티티: 사람이 아닌 호출자를 위한 신원
개발자를 위한 AWS 보안 활용

같은 질문, 새로운 호출자

행위자와 호출자라는 두 개의 제목 아래 세 개의 행이 있으며, 각 행위자와 그가 작동시키는 호출자를 짝지어 보여줍니다: 익숙한 사례로 흐리게 표시된 사람과 브라우저 세션, 커밋과 파이프라인, 요청과 에이전트입니다. 세 경우 모두 하나의 게이트라는 캡션이 붙고 세 개의 번호 표시가 있는 하나의 파란색 게이트로 모입니다.

  • 워크로드 아이덴티티: 사람이 아닌 호출자를 위한 신원
  • 동일한 세 가지 질문: AWS가 확인할 수 있는 신원, 작업 범위를 넘지 않는 범위, 수행한 작업의 기록
  • 달라진 점: 호출자
개발자를 위한 AWS 보안 활용

다음 단계는 무엇일까요

두 개의 띠가 쌓여 있습니다. 계정이라는 레이블의 위쪽 띠에는 GuardDuty, Security Hub, AWS Config, Organizations라는 네 개의 동일한 상자가 있습니다. 점선 구분선 아래, 여러분의 서비스라는 레이블의 아래쪽 띠에는 영상 앞부분에서 사용된 것과 동일한 여섯 개의 번호 표시가 있습니다.

  • 여러분의 서비스: 여섯 가지 질문
  • 그 위의 계정: GuardDuty, Security Hub, AWS Config, Organizations
개발자를 위한 AWS 보안 활용

연습해 봅시다!

개발자를 위한 AWS 보안 활용

Preparing Video For Download...