이제 IAM Access Analyzer에 대해 알아봅시다
이는 IAM 콘솔 내의 서비스로 어떤 리소스가
외부로 공유될지 알아내는 데 사용됩니다
S3 버킷, IAM 역할, KMS 키
Lambda 함수와 레이어, SQS 큐
Secrets Manager 시크릿이 있습니다
중점은 다음과 같습니다
나열된 항목들에 리소스 정책이 첨부될 수도 있고
아니면 다른 계정들과 공유될 수도 있습니다
이런 항목들을 실수로 공유하지 않게 되면
여러분 회사의 보안에 위협이 될 수 있습니다
일부 앱이 외부 소스에서
액세스할 수 있게 되기 때문입니다
그래서 트러스트 존을 정의해야 하는데
이는 곧 AWS 계정이나
AWS Organization 전체에 상응합니다
신뢰 영역 밖에 있으면서 위 항목들에
액세스가 가능한 것들은 모두 결과로 표시됩니다
예를 들어 S3 버킷이 있는데
그걸 특정 역할, 사용자, 계정, IP를 통한 외부 클라이언트
또는 VPC 엔드포인트를 공유할 수 있습니다
하지만 트러스트 존을 AWS 계정에 정의하고
역할과 사용자 VPC 엔드포인트만이
계정 내에 포함된다고 하면
계정과 외부 클라이언트는
발견으로 표시됩니다
보안 위험이라고 생각되면
콘솔 내에서 조처할 수 있습니다
왼쪽에 있는 IAM 콘솔에
액세스 분석기가 있습니다
여기서 첫 분석기를 만들 수 있습니다
콘솔 분석기라고 명명하겠습니다
참고로 이 기능은 무료입니다
트러스트 존은
현재 계정으로 설정합니다
그리고 발견들은 트러스트 존
밖에서 보고됩니다
분석기에 태그를 추가해도 되지만 그럴 필요는 없습니다
이제 분석기를 생성합니다
분석기는 서비스 연결 역할을 생성해
분석기가 우리를 대신해 리소스와
상호 작용할 수 있게 합니다
스캔이 아직 안 끝났고 보시다시피
계정에 세 개의 활성 결과가 있습니다
SQS 큐 1개와 S3 버킷 2개가
모든 원칙으로 공유됩니다
이것은 버킷 정책을 통해 공유되고
맨 위에 것은 알 수 없고 이건 쓰기 액세스고
이건 읽기 액세스입니다
아주 흥미로운데 예를 들어 봅시다
데모 S3 알림이라고 불리는
이 SQS 큐에 보안 조치를 해보겠습니다
여길 클릭하면 리소스의 직접 링크를 열 수 있습니다
다음으로 여기로 가서
그리고 액세스 정책으로 갑니다
보시다시피 누구나 메시지를 보낼 수 있습니다
여기서 누구나는 외부 계좌를 포함합니다
문제가 있는 것입니다 그렇지 않나요?
그럼 이 경우 여기를 보고서
큐의 의도된 액세스인지 확인하는 것입니다
그렇다면 보관하면 되고 의도된 액세스가 아니라면
SQS 콘솔로 가서 정책을 수정하고
다시 스캔할 건데 일단 수정을 진행해 줄 것입니다
저는 이 정책이 마음에 들지 않습니다
일단 정책 전체를 지워버리도록 하겠습니다
왜냐면 아무나 SQS 큐에 메시지를
보내도록 해서는 안 되기 때문입니다
저장을 클릭하고 다시 스캔을 진행합니다
"해결됨" 상태로 표시됩니다
액세스가 더는 허용되지 않기 때문입니다
결과 창으로 돌아가 보면 두 개만 남았습니다
공개 상태인 S3 버킷과 관련된
두 개의 발견이 존재합니다
의도된 액세스일 수 있으며 그런 경우
해당 버킷을 보관할 것입니다
발견 창으로 가보면
보관됨 카테고리에 담겨 있을 것입니다
아까 조치한 항목은 해결됨 카테고리에 있습니다
그리고 아직 활성 결과가 남아 있습니다
이런 S3 공용 버킷들을
항상 보관하고 싶다면
아카이브 규칙으로 가서
결과를 자동으로 관련 없다고 판단할 기준이 되는
자신만의 규칙을 만들 수 있습니다
원한다면 말입니다.
이번 강의는 여기까지입니다 마음에 드셨으면 좋겠네요
다음 강의 때 뵙도록 하겠습니다