IAM Access Analyzer for S3로 버킷 접근 검토

IAM Access Analyzer for S3로 버킷 접근 검토

IAM Access Analyzer for S3는 인터넷의 누구에게나(공개) 또는 다른 AWS 계정(내 조직 밖의 AWS 계정 포함)에 접근을 허용하도록 구성된 S3 일반 목적 버킷에 대한 외부 접근 findings를 제공해요. 공개적으로 또는 다른 AWS 계정과 공유된 각 버킷에 대해 공유 접근의 원본과 수준에 대한 findings를 받게 돼요. 예를 들어 IAM Access Analyzer for S3는 버킷에 버킷 access control list(ACL), 버킷 정책, Multi-Region Access Point 정책, 또는 액세스 포인트 정책을 통해 읽기 또는 쓰기 접근이 제공되고 있음을 보여 줄 수 있어요. 이 findings를 통해 즉각적이고 정확한 시정 조치를 취해 버킷 접근을 의도한 대로 복원할 수 있어요.

Amazon S3 콘솔은 일반 목적 버킷 목록 옆에 External access summary를 표시해요. 요약에서 각 AWS 리전의 활성 findings를 선택해 IAM Access Analyzer for S3 페이지에서 finding의 세부 정보를 볼 수 있어요. External access summary의 외부 접근 findings는 24시간마다 한 번씩 자동으로 업데이트돼요.

공개 접근을 허용하는 버킷을 검토할 때 IAM Access Analyzer for S3 페이지에서 한 번의 클릭으로 버킷에 대한 모든 공개 접근을 차단할 수 있어요. 특정 사용 사례를 지원하기 위해 공개 접근이 필요하지 않다면 버킷에 대한 모든 공개 접근을 차단할 것을 권장해요. 모든 공개 접근을 차단하기 전에 애플리케이션이 공개 접근 없이도 계속 올바르게 작동하는지 확인하세요. 자세한 내용은 Amazon S3 스토리지에 대한 공개 접근 차단을 참고하세요.

버킷 수준 권한 설정을 드릴다운해 세밀한 수준의 접근을 구성할 수도 있어요. 정적 웹사이트 호스팅, 공개 다운로드, 크로스 계정 공유처럼 공개 접근이 필요한 특정되고 확인된 사용 사례의 경우, 해당 버킷의 findings를 보관(archive)해 버킷을 공개 또는 공유 상태로 유지하려는 의도를 인정하고 기록할 수 있어요. 이 버킷 구성은 언제든지 다시 방문해 수정할 수 있어요. 감사 목적으로 findings를 CSV 보고서로 다운로드할 수도 있어요.

IAM Access Analyzer for S3는 Amazon S3 콘솔에서 추가 비용 없이 사용할 수 있어요. IAM Access Analyzer for S3는 AWS Identity and Access Management(IAM) IAM Access Analyzer로 구동돼요. Amazon S3 콘솔에서 IAM Access Analyzer for S3를 사용하려면 IAM 콘솔을 방문해 리전별로 외부 접근 분석기(external access analyzer)를 만들어야 해요.

IAM Access Analyzer에 대한 자세한 내용은 IAM 사용자 가이드의 IAM Access Analyzer란 무엇인가요?를 참고하세요. IAM Access Analyzer for S3에 대한 자세한 내용은 다음 섹션을 검토하세요.

중요

IAM Access Analyzer for S3는 버킷이 있는 각 AWS 리전에 계정 수준 분석기가 필요해요. IAM Access Analyzer for S3를 사용하려면 IAM Access Analyzer를 방문해 계정을 신뢰 영역(zone of trust)으로 하는 분석기를 만들어야 해요. 자세한 내용은 IAM 사용자 가이드의 IAM Access Analyzer 활성화를 참고하세요.

IAM Access Analyzer for S3는 크로스 계정 액세스 포인트에 연결된 액세스 포인트 정책을 분석하지 않아요. 이 동작이 발생하는 이유는 액세스 포인트와 그 정책이 신뢰 영역, 즉 계정 밖에 있기 때문이에요. 버킷이나 계정에 RestrictPublicBuckets block public access 설정을 적용하지 않았다면 크로스 계정 액세스 포인트에 접근을 위임하는 버킷은 Public access가 있는 버킷 아래에 나열돼요. RestrictPublicBuckets block public access 설정을 적용하면 그 버킷은 다른 AWS 계정에서 접근하는 버킷 — 제3자 AWS 계정 포함 — 아래에 보고돼요.

버킷 정책이나 버킷 ACL이 추가되거나 수정되면 IAM Access Analyzer는 변경에 따라 30분 이내에 findings를 생성하고 업데이트해요. 계정 수준 block public access 설정과 관련된 findings는 설정을 변경한 후 최대 6시간 동안 생성되거나 업데이트되지 않을 수 있어요. Multi-Region Access Point와 관련된 findings는 Multi-Region Access Point가 생성, 삭제되거나 정책이 변경된 후 최대 6시간 동안 생성되거나 업데이트되지 않을 수 있어요.

출처: 문서

본문

Topics (주제)

  • 버킷에 외부 접근을 부여하는 정책의 전역 요약 검토
  • IAM Access Analyzer for S3가 제공하는 정보
  • 모든 공개 접근 차단
  • 버킷 접근 검토 및 변경
  • 버킷 findings 보관
  • 보관된 버킷 finding 활성화
  • finding 세부 정보 보기
  • IAM Access Analyzer for S3 보고서 다운로드

버킷에 외부 접근을 부여하는 정책의 전역 요약 검토

External access summary를 사용해 S3 콘솔에서 바로 내 AWS 계정 전반에 걸쳐 버킷에 외부 접근을 부여하는 정책의 전역 요약을 볼 수 있어요. 이 요약을 통해 각 AWS 리전의 정책을 개별적으로 검사하지 않고도 공개 접근 또는 다른 AWS 계정의 접근을 허용하는 Amazon S3 일반 목적 버킷을 식별할 수 있어요.

External access summary 및 IAM Access Analyzer for S3 활성화

External access summary와 IAM Access Analyzer for S3를 사용하려면 다음 사전 요구 사항 단계를 완료해야 해요.

  1. 필요한 권한을 부여합니다. 자세한 내용은 IAM 사용자 가이드의 IAM Access Analyzer 사용에 필요한 권한을 참고하세요.
  2. IAM Access Analyzer를 사용하려는 각 리전에 대해 계정 수준 분석기를 만들기 위해 IAM을 방문합니다.

이 작업은 IAM 콘솔에서 계정을 신뢰 영역으로 하는 분석기를 만들거나 AWS CLI 또는 AWS SDK를 사용해 수행할 수 있어요. 자세한 내용은 IAM 사용자 가이드의 IAM Access Analyzer 활성화를 참고하세요.

외부 접근을 허용하는 버킷 보기

External access summary는 IAM Access Analyzer for S3가 일반 목적 버킷에 대해 제공하는 외부 접근에 대한 findings와 오류를 표시해요. 보관된 findings와 사용되지 않은 접근에 대한 findings는 요약에 포함되지 않지만 IAM 콘솔이나 IAM Access Analyzer for S3에서 볼 수 있어요. 자세한 내용은 IAM 사용자 가이드의 IAM Access Analyzer findings 대시보드 보기를 참고하세요.

참고

External access summary는 각 AWS 계정의 외부 접근 분석기에 대한 findings만 포함하며, 내 AWS Organization에 대한 findings는 포함하지 않아요.

  1. Amazon S3 콘솔을 https://console.aws.amazon.com/s3/에서 엽니다.
  2. 왼쪽 탐색 패널에서 General purpose buckets를 선택합니다.
  3. External access summary를 확장합니다. 콘솔에 활성 공개 및 크로스 계정 접근 findings가 표시됩니다.

참고

S3가 버킷 세부 정보 로딩에 문제를 겪으면 일반 목적 버킷 목록을 새로 고치거나 IAM Access Analyzer for S3에서 findings를 확인하세요. 자세한 내용은 IAM Access Analyzer for S3로 버킷 접근 검토를 참고하세요.

  1. AWS 리전에 대한 findings 또는 오류 목록을 보려면 해당 리전의 링크를 선택합니다. IAM Access Analyzer for S3 페이지에 공개적으로 또는 다른 AWS 계정으로 접근할 수 있는 버킷의 이름이 표시됩니다. 자세한 내용은 IAM Access Analyzer for S3가 제공하는 정보를 참고하세요.

외부 접근을 허용하는 버킷의 접근 제어 업데이트

  1. Amazon S3 콘솔을 https://console.aws.amazon.com/s3/에서 엽니다.
  2. 왼쪽 탐색 패널에서 General purpose buckets를 선택합니다.
  3. External access summary를 확장합니다. 콘솔에 공개적으로 또는 다른 AWS 계정으로 접근할 수 있는 버킷에 대한 활성 findings가 표시됩니다.

참고

S3가 버킷 세부 정보 로딩에 문제를 겪으면 일반 목적 버킷 목록을 새로 고치거나 IAM Access Analyzer for S3에서 findings를 확인하세요. 자세한 내용은 IAM Access Analyzer for S3로 버킷 접근 검토를 참고하세요.

  1. AWS 리전에 대한 findings 또는 오류 목록을 보려면 해당 리전의 링크를 선택합니다. IAM Access Analyzer for S3에 공개적으로 또는 다른 AWS 계정으로 접근할 수 있는 버킷에 대한 활성 findings가 표시됩니다.

참고

External access summary의 외부 접근 findings는 24시간마다 한 번씩 자동으로 업데이트돼요.

  1. 버킷에 대한 모든 공개 접근을 차단하려면 모든 공개 접근 차단을 참고하세요. 버킷 접근을 변경하려면 버킷 접근 검토 및 변경을 참고하세요.

IAM Access Analyzer for S3가 제공하는 정보

IAM Access Analyzer for S3는 내 AWS 계정 밖에서 접근할 수 있는 버킷에 대한 findings를 제공해요. Public access findings 아래에 나열된 버킷은 인터넷의 누구나 접근할 수 있어요. IAM Access Analyzer for S3가 공개 버킷을 식별하면 리전의 공개 버킷 수를 보여 주는 경고 배너도 표시돼요. Cross-account access findings 아래에 나열된 버킷은 다른 AWS 계정(조직 밖의 계정 포함)과 조건부로 공유돼요.

IAM Access Analyzer for S3는 각 버킷에 대해 다음 정보를 제공해요.

  • 버킷 이름(Bucket name)
  • 공유 경로(Shared through) – 버킷이 공유되는 방법(버킷 정책, 버킷 ACL, Multi-Region Access Point 정책, 또는 액세스 포인트 정책을 통해). Multi-Region Access Point와 크로스 계정 액세스 포인트는 액세스 포인트 아래에 반영돼요. 버킷은 정책과 ACL을 모두 통해 공유될 수 있어요. 버킷 접근의 원본을 찾아 검토하려면 이 열의 정보를 즉각적이고 정확한 시정 조치를 취하기 위한 출발점으로 사용할 수 있어요.
  • 상태(Status) – 버킷 finding의 상태. IAM Access Analyzer for S3는 모든 공개 및 공유 버킷에 대한 findings를 표시해요.
    • 활성(Active) – finding이 검토되지 않았어요.
    • 보관됨(Archived) – finding이 검토되고 의도된 것으로 확인됐어요.
    • 모두(All) – 공개 또는 다른 AWS 계정(조직 밖의 계정 포함)과 공유된 버킷에 대한 모든 findings.
  • 접근 수준(Access level) – 버킷에 부여된 접근 권한:
    • 나열(List) – 리소스를 나열합니다.
    • 읽기(Read) – 리소스 내용과 속성을 읽되 편집하지 않습니다.
    • 쓰기(Write) – 리소스를 생성, 삭제, 또는 수정합니다.
    • 권한(Permissions) – 리소스 권한을 부여하거나 수정합니다.
    • 태그 지정(Tagging) – 리소스와 연결된 태그를 업데이트합니다.
  • 외부 보안 주체(External principal) – 조직 밖에서 버킷에 접근할 수 있는 AWS 계정.
  • 리소스 제어 정책(RCP) 제한 – 해당하는 경우 버킷에 적용되는 리소스 제어 정책(RCP). 자세한 내용은 리소스 제어 정책(RCP)을 참고하세요.

모든 공개 접근 차단

한 번의 클릭으로 버킷에 대한 모든 접근을 차단하려면 IAM Access Analyzer for S3에서 Block all public access 버튼을 사용할 수 있어요. 버킷에 대한 모든 공개 접근을 차단하면 더 이상 공개 접근이 부여되지 않아요. 특정하고 확인된 사용 사례를 지원하기 위해 공개 접근이 필요하지 않다면 버킷에 대한 모든 공개 접근을 차단할 것을 권장해요. 모든 공개 접근을 차단하기 전에 애플리케이션이 공개 접근 없이도 계속 올바르게 작동하는지 확인하세요.

버킷에 대한 모든 공개 접근을 차단하고 싶지 않다면 Amazon S3 콘솔에서 block public access 설정을 편집해 버킷에 대한 세밀한 수준의 접근을 구성할 수 있어요. 자세한 내용은 Amazon S3 스토리지에 대한 공개 접근 차단을 참고하세요.

드물게 IAM Access Analyzer for S3와 Amazon S3 block public access 평가가 버킷이 공개적인지에 대해 다를 수 있어요. 이는 Amazon S3 block public access가 공개 접근을 평가하는 것 외에도 작업의 존재 여부에 대한 검증을 수행하기 때문이에요. 버킷 정책에 Amazon S3가 지원하지 않는 작업(예: s3:NotASupportedAction)에 대한 공개 접근을 허용하는 Action 문이 포함되어 있다고 가정해 보세요. 이 경우 Amazon S3 block public access는 그런 문이 나중에 작업이 지원되면 버킷을 공개적으로 만들 수 있으므로 버킷을 공개적인 것으로 평가해요. Amazon S3 block public access와 IAM Access Analyzer for S3의 평가가 다른 경우 버킷 정책을 검토하고 지원되지 않는 작업을 제거할 것을 권장해요.

IAM Access Analyzer for S3를 사용해 버킷에 대한 모든 공개 접근을 차단하려면

  1. AWS Management Console에 로그인하고 Amazon S3 콘솔을 https://console.aws.amazon.com/s3/에서 엽니다.
  2. 왼쪽 탐색 창의 Dashboards 아래에서 Access analyzer for S3를 선택합니다.
  3. IAM Access Analyzer for S3에서 버킷을 선택합니다.
  4. Block all public access를 선택합니다.
  5. 버킷에 대한 모든 공개 접근을 차단하려는 의도를 확인하려면 **Block all public access (bucket settings)**에 confirm을 입력합니다.

Amazon S3는 버킷에 대한 모든 공개 접근을 차단해요. 버킷 finding의 상태가 resolved로 업데이트되고, 버킷이 IAM Access Analyzer for S3 목록에서 사라져요. 확인된 버킷을 검토하려면 IAM 콘솔에서 IAM Access Analyzer를 엽니다.

버킷 접근 검토 및 변경

공개 또는 다른 AWS 계정(조직 밖의 계정 포함)에 접근을 부여하려는 의도가 없었다면, 버킷 ACL, 버킷 정책, Multi-Region Access Point 정책, 또는 액세스 포인트 정책을 수정해 버킷에 대한 접근을 제거할 수 있어요. Shared through 열에 버킷 접근의 모든 원본이 표시돼요: 버킷 정책, 버킷 ACL, 그리고/또는 액세스 포인트 정책. Multi-Region Access Point와 크로스 계정 액세스 포인트는 액세스 포인트 아래에 반영돼요.

버킷 정책, 버킷 ACL, Multi-Region Access Point, 또는 액세스 포인트 정책을 검토하고 변경하려면

  1. Amazon S3 콘솔을 https://console.aws.amazon.com/s3/에서 엽니다.
  2. 탐색 창에서 Access analyzer for S3를 선택합니다.
  3. 공개 접근이나 공유 접근이 버킷 정책, 버킷 ACL, Multi-Region Access Point 정책, 또는 액세스 포인트 정책을 통해 부여되었는지 보려면 Shared through 열을 확인합니다.
  4. Buckets 아래에서 변경하거나 검토하려는 버킷 정책, 버킷 ACL, Multi-Region Access Point 정책, 또는 액세스 포인트 정책이 있는 버킷의 이름을 선택합니다.
  5. 버킷 ACL을 변경하거나 보려면:
    • Permissions를 선택합니다.
    • Access Control List를 선택합니다.
    • 버킷 ACL을 검토하고 필요에 따라 변경합니다.
    • 자세한 내용은 ACL 구성을 참고하세요.
  6. 버킷 정책을 변경하거나 검토하려면:
  7. Multi-Region Access Point 정책을 변경하거나 보려면:
    • Multi-Region Access Point를 선택합니다.
    • Multi-Region Access Point 이름을 선택합니다.
    • 필요에 따라 Multi-Region Access Point 정책을 검토하거나 변경합니다.
    • 자세한 내용은 권한을 참고하세요.
  8. 액세스 포인트 정책을 검토하거나 변경하려면:
    • Access Points for general purpose buckets 또는 Access Points for directory buckets를 선택합니다.
    • 액세스 포인트 이름을 선택합니다.
    • 필요에 따라 접근을 검토하거나 변경합니다.
    • 자세한 내용은 일반 목적 버킷용 Amazon S3 액세스 포인트 관리를 참고하세요.

공개 또는 공유 접근을 제거하기 위해 버킷 ACL, 버킷 정책, 또는 액세스 포인트 정책을 편집하거나 제거하면 버킷 findings의 상태가 resolved로 업데이트돼요. 확인된 버킷 findings는 IAM Access Analyzer for S3 목록에서 사라지지만 IAM Access Analyzer에서 볼 수 있어요.

버킷 findings 보관

버킷이 특정 사용 사례(예: 정적 웹사이트, 공개 다운로드, 크로스 계정 공유)를 지원하기 위해 공개 또는 다른 AWS 계정(조직 밖의 계정 포함)에 접근을 부여한다면 해당 버킷의 finding을 보관할 수 있어요. 버킷 findings를 보관하면 버킷을 공개 또는 공유 상태로 유지하려는 의도를 인정하고 기록해요. 보관된 버킷 findings는 IAM Access Analyzer for S3 목록에 남아 있어 어떤 버킷이 공개 또는 공유 상태인지 항상 알 수 있어요.

IAM Access Analyzer for S3에서 버킷 findings를 보관하려면

  1. Amazon S3 콘솔을 https://console.aws.amazon.com/s3/에서 엽니다.
  2. 탐색 창에서 IAM Access Analyzer for S3를 선택합니다.
  3. IAM Access Analyzer for S3에서 활성 버킷을 선택합니다.
  4. 이 버킷이 공개 또는 다른 AWS 계정(조직 밖의 계정 포함)에 의해 접근되도록 허용하려는 의도를 인정하려면 Archive를 선택합니다.
  5. confirm을 입력하고 Archive를 선택합니다.

보관된 버킷 finding 활성화

findings를 보관한 뒤에는 언제든지 다시 방문해 상태를 활성으로 되돌릴 수 있어요. 이는 버킷에 또 다른 검토가 필요하다는 것을 나타내요.

IAM Access Analyzer for S3에서 보관된 버킷 finding을 활성화하려면

  1. Amazon S3 콘솔을 https://console.aws.amazon.com/s3/에서 엽니다.
  2. 탐색 창에서 Access analyzer for S3를 선택합니다.
  3. 보관된 버킷 findings를 선택합니다.
  4. Mark as active를 선택합니다.

finding 세부 정보 보기

finding에 대한 더 많은 정보가 필요하면 IAM 콘솔의 IAM Access Analyzer에서 버킷 finding 세부 정보를 열 수 있어요.

IAM Access Analyzer for S3에서 finding 세부 정보를 보려면

  1. Amazon S3 콘솔을 https://console.aws.amazon.com/s3/에서 엽니다.
  2. 탐색 창에서 Access analyzer for S3를 선택합니다.
  3. IAM Access Analyzer for S3에서 버킷을 선택합니다.
  4. View details를 선택합니다.

finding 세부 정보가 IAM 콘솔의 IAM Access Analyzer에서 열립니다.

IAM Access Analyzer for S3 보고서 다운로드

버킷 findings를 감사 목적으로 사용할 수 있는 CSV 보고서로 다운로드할 수 있어요. 보고서에는 Amazon S3 콘솔의 IAM Access Analyzer for S3에서 보는 것과 같은 정보가 포함돼요.

보고서를 다운로드하려면

  1. Amazon S3 콘솔을 https://console.aws.amazon.com/s3/에서 엽니다.
  2. 왼쪽 탐색 창에서 Access analyzer for S3를 선택합니다.
  3. 리전 필터에서 리전을 선택합니다.
  4. IAM Access Analyzer for S3가 선택한 리전의 버킷을 표시하도록 업데이트됩니다.
  5. Download report를 선택합니다.

CSV 보고서가 생성되어 컴퓨터에 저장됩니다.

더 알아보기 (Learn more)