IAM Access Analyzer for S3를 사용하여 버킷 액세스 검토
IAM Access Analyzer for S3는 인터넷상의 모든 사용자(퍼블릭) 또는 조직 외부의 AWS 계정을 포함한 다른 AWS 계정에 액세스를 허용하도록 구성된 S3 범용 버킷에 대한 외부 액세스 조사 결과를 제공합니다. 공개적으로 공유되거나 다른 AWS 계정과 공유된 각 버킷에 대해 공유 액세스의 소스와 수준 조사 결과가 수신됩니다. 예를 들어 IAM Access Analyzer for S3는 버킷에 버킷 액세스 제어 목록(ACL), 버킷 정책, 다중 리전 액세스 포인트 정책 또는 액세스 포인트 정책을 통해 제공된 읽기 또는 쓰기 권한이 있음을 표시할 수 있습니다. 이러한 내용을 바탕으로 즉각적이고 정확한 시정 조치를 취하여 버킷 액세스를 원하는 대로 복원할 수 있습니다.
Amazon S3 콘솔은 S3 콘솔에서 범용 버킷 목록 옆에 외부 액세스 요약을 제공합니다. 요약에서 각 AWS 리전에 대한 활성 조사 결과를 클릭하여 IAM Access Analyzer for S3 페이지에서 조사 결과의 세부 정보를 볼 수 있습니다. 외부 액세스 요약의 외부 액세스 조사 결과는 24시간마다 한 번씩 자동으로 업데이트됩니다.
퍼블릭 액세스를 허용하는 버킷을 검토할 때 IAM Access Analyzer for S3 페이지에서 클릭 한 번으로 버킷에 대한 모든 퍼블릭 액세스를 차단할 수 있습니다. 특정 사용 사례를 지원하기 위해 퍼블릭 액세스가 필요하지 않은 경우 버킷에 대한 모든 퍼블릭 액세스를 차단하는 것이 좋습니다. 모든 퍼블릭 액세스를 차단하기 전에 애플리케이션이 퍼블릭 액세스 없이 계속 올바르게 작동하는지 확인하세요. 자세한 내용은 Amazon S3 스토리지에 대한 퍼블릭 액세스 차단 섹션을 참조하세요.
또한 버킷 수준 권한 설정으로 드릴다운하여 세부적인 액세스 수준을 구성할 수 있습니다. 정적 웹 사이트 호스팅, 공개 다운로드 또는 교차 계정 공유와 같이 퍼블릭 액세스가 필요한 것으로 확인된 특정 사용 사례의 경우, 버킷에 대한 결과를 보관하여 버킷을 퍼블릭 상태로 유지할 것인지 공유 상태로 유지할 것인지 확인하고 기록할 수 있습니다. 언제든지 재방문하여 해당 버킷 구성을 수정할 수 있습니다. 감사 목적으로 결과를 CSV 보고서로 다운로드할 수도 있습니다.
Amazon S3 콘솔에서는 IAM Access Analyzer for S3를 추가 비용 없이 사용할 수 있습니다. IAM Access Analyzer for S3는 AWS Identity and Access Management(IAM) IAM Access Analyzer를 통해 제공됩니다. Amazon S3 콘솔에서 IAM Access Analyzer for S3를 사용하려면 IAM 콘솔을 방문하여 리전별로 외부 액세스 분석기를 만들어야 합니다.
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를 방문하여 신뢰 영역으로서의 계정이 있는 분석기를 생성해야 합니다. 자세한 내용은 IAM 사용 설명서의 IAM Access Analyzer 활성화를 참조하세요.
-
IAM Access Analyzer for S3는 크로스 계정 액세스 포인트에 연결된 액세스 포인트 정책을 분석하지 않습니다. 액세스 포인트와 그 정책이 신뢰 영역, 즉 계정을 벗어났기 때문에 이러한 동작이 발생됩니다.
RestrictPublicBuckets
블록 퍼블릭 액세스 설정을 버킷 또는 계정에 적용하지 않으면, 크로스 계정 액세스 포인트에 대한 액세스를 위임하는 버킷이 Buckets with public access(퍼블릭 액세스가 있는 버킷)에 나열됩니다.RestrictPublicBuckets
블록 퍼블릭 액세스 설정을 적용하면 Buckets with access from other AWS 계정 — including third-party AWS 계정(제3자 AWS 계정 포함 다른 AWS 계정에서의 액세스가 있는 버킷)에 나열됩니다. -
버킷 정책 또는 버킷 ACL이 추가되거나 수정되면 IAM Access Analyzer는 30분 이내에 변경 사항을 기반으로 결과를 생성하고 업데이트합니다. 계정 수준 퍼블릭 액세스 차단 설정과 관련된 결과는 설정을 변경한 후 최대 6시간 동안 생성되거나 업데이트되지 않을 수 있습니다. 다중 리전 액세스 포인트와 관련된 검색 결과는 다중 리전 액세스 포인트가 생성, 삭제되거나 해당 정책을 변경한 후 최대 6시간 동안 생성 또는 업데이트되지 않을 수 있습니다.
주제
버킷에 대한 외부 액세스 권한을 부여하는 정책의 글로벌 요약 검토
외부 액세스 요약을 사용하여 S3 콘솔에서 직접 AWS 계정의 버킷에 대한 외부 액세스 권한을 부여하는 정책의 글로벌 요약을 볼 수 있습니다. 이 요약은 각 AWS 리전의 정책을 개별적으로 검사할 필요 없이 퍼블릭 액세스 또는 다른 AWS 계정의 액세스를 허용하는 AWS 리전에서 Amazon S3 범용 버킷을 식별하는 데 도움이 됩니다.
외부 액세스 요약 및 IAM Access Analyzer for S3 활성화
외부 액세스 요약 및 IAM Access Analyzer for S3를 사용하려면 다음과 같은 사전 필수 단계들을 완료해야 합니다.
-
필수 권한을 부여하십시오. 자세한 내용은 IAM 사용 설명서의 IAM Access Analyzer를 사용하는 데 필요한 권한을 참조하십시오.
-
IAM을 방문하여 IAM Access Analyzer를 사용할 각 리전에 대한 계정 수준 분석기를 만드십시오.
이를 위해 IAM 콘솔에서 계정이 신뢰 영역인 분석기를 만들거나 AWS CLI 또는 AWS SDK를 사용할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 IAM Access Analyzer 활성화를 참조하십시오.
외부 액세스를 허용하는 버킷 보기
외부 액세스 요약에는 범용 버킷에 대해 IAM Access Analyzer for S3에서 제공하는 외부 액세스에 대한 조사 결과 및 오류가 표시됩니다. 보관된 조사 결과 및 미사용 액세스에 대한 조사 결과는 요약에 포함되지 않지만, IAM 콘솔 또는 IAM Access Analyzer for S3에서 볼 수 있습니다. 자세한 내용은 IAM 사용 설명서의 View the IAM Access Analyzer findings dashboard를 참조하세요.
참고
외부 액세스 요약에는 AWS 조직이 아닌 각 AWS 계정에 대한 외부 액세스 분석기 조사 결과만 포함됩니다.
https://console.aws.amazon.com/s3/
에서 S3 콘솔을 엽니다. -
왼쪽 탐색 창에서 범용 버킷을 선택합니다.
-
외부 액세스 요약을 확장합니다. 콘솔에 활성 퍼블릭 및 교차 계정 액세스 조사 결과가 표시됩니다.
참고
S3에서 버킷 세부 정보를 로드하는 데 문제가 발생하는 경우, 범용 버킷 목록을 새로 고치거나 IAM Access Analyzer for S3에서 조사 결과를 확인합니다. 자세한 내용은 IAM Access Analyzer for S3를 사용하여 버킷 액세스 검토 섹션을 참조하세요.
-
AWS 리전에 대한 조사 결과 또는 오류 목록을 보려면 리전에 대한 링크를 선택합니다. IAM Access Analyzer for S3 페이지에는 공개적으로 또는 다른 AWS 계정에서 액세스할 수 있는 버킷의 이름이 표시됩니다. 자세한 내용은 IAM Access Analyzer for S3에서 제공되는 정보 섹션을 참조하세요.
외부 액세스를 허용하는 버킷에 대한 액세스 제어 업데이트
https://console.aws.amazon.com/s3/
에서 S3 콘솔을 엽니다. -
왼쪽 탐색 창에서 범용 버킷을 선택합니다.
-
외부 액세스 요약을 확장합니다. 콘솔에는 공개적으로 또는 다른 AWS 계정에서 액세스할 수 있는 버킷에 대한 활성 조사 결과가 표시됩니다.
참고
S3에서 버킷 세부 정보를 로드하는 데 문제가 발생하는 경우, 범용 버킷 목록을 새로 고치거나 IAM Access Analyzer for S3에서 조사 결과를 확인합니다. 자세한 내용은 IAM Access Analyzer for S3를 사용하여 버킷 액세스 검토 섹션을 참조하세요.
-
AWS 리전에 대한 조사 결과 또는 오류 목록을 보려면 리전에 대한 링크를 선택합니다. IAM Access Analyzer for S3에는 공개적으로 또는 다른 AWS 계정에서 액세스할 수 있는 버킷에 대한 활성 조사 결과가 표시됩니다.
참고
외부 액세스 요약의 외부 액세스 조사 결과는 24시간마다 한 번씩 자동으로 업데이트됩니다.
-
버킷에 대한 모든 퍼블릭 액세스를 차단하려면 모든 퍼블릭 액세스 차단 섹션을 참조하세요. 버킷 액세스를 변경하려면 버킷 액세스 검토 및 변경 섹션을 참조하세요.
IAM Access Analyzer for S3에서 제공되는 정보
IAM Access Analyzer for S3에서는 AWS 계정 외부에서 액세스할 수 있는 버킷에 대한 결과를 제공합니다. 퍼블릭 액세스 조사 결과 아래에 나열된 버킷은 인터넷상의 모든 사용자가 액세스할 수 있습니다. IAM Access Analyzer for S3가 퍼블릭 버킷을 식별하면 페이지 상단에 리전의 퍼블릭 버킷 수를 보여주는 경고가 표시됩니다. 교차 계정 액세스 조사 결과에 나열된 버킷은 조직 외부의 계정을 포함한 다른 AWS 계정과 조건부로 공유됩니다.
각 버킷에서 IAM Access Analyzer for S3는 다음과 같은 정보를 제공합니다.
-
Bucket name
-
공유 방식 - 버킷 정책, 버킷 ACL, 다중 리전 액세스 포인트 정책 또는 액세스 포인트 정책을 통해 버킷이 공유되는 방식입니다. 다중 리전 액세스 포인트 및 크로스 계정 액세스 포인트는 액세스 포인트 아래에 반영됩니다. 버킷은 정책과 ACL을 통해 공유할 수 있습니다. 버킷 액세스에 대한 소스를 찾고 검토하려는 경우 이 열의 정보를 즉각적이고 정확한 시정 조치를 취하기 위한 시작점으로 사용할 수 있습니다.
-
상태 - 버킷 결과의 상태입니다. IAM Access Analyzer for S3는 모든 퍼블릭 버킷 및 공유 버킷에 대한 결과를 표시합니다.
-
활성 - 결과가 검토되지 않았습니다.
-
보관됨 - 결과가 의도한 대로 검토 및 확인되었습니다.
-
모두 - 조직 외부의 AWS 계정을 포함한 다른 AWS 계정과 공유되는 버킷이나 퍼블릭 버킷에 대한 모든 결과입니다.
-
-
액세스 수준 - 다음과 같이 버킷에 부여된 액세스 권한입니다.
-
목록 - 리소스를 나열합니다.
-
읽기 - 리소스 콘텐츠 및 속성을 읽기만 하고 편집하지 않습니다.
-
쓰기 -리소스를 생성, 삭제 또는 수정합니다.
-
권한 - 리소스 권한을 부여하거나 수정합니다.
-
태그 지정 - 리소스와 연결된 태그를 업데이트합니다.
-
-
외부 위탁자 - 버킷에 액세스할 수 있는 조직 외부의 AWS 계정입니다.
리소스 제어 정책(RCP) 제한 - 해당하는 경우 버킷에 적용되는 리소스 제어 정책(RCP)입니다. 자세한 내용은 Resource control policies (RCPs)를 참조하세요.
모든 퍼블릭 액세스 차단
클릭 한 번으로 버킷에 대한 모든 액세스를 차단하려는 경우 IAM Access Analyzer for S3에서 모든 퍼블릭 액세스 차단 버튼을 사용할 수 있습니다. 버킷에 대한 모든 퍼블릭 액세스를 차단하면 퍼블릭 액세스 권한이 부여되지 않습니다. 확인된 특정 사용 사례를 지원하기 위해 퍼블릭 액세스가 필요하지 않은 경우 버킷에 대한 모든 공개 액세스를 차단하는 것이 좋습니다. 모든 퍼블릭 액세스를 차단하기 전에 애플리케이션이 퍼블릭 액세스 없이 계속 올바르게 작동하는지 확인하십시오.
버킷에 대한 모든 퍼블릭 액세스를 차단하지 않으려면 Amazon S3 콘솔에서 퍼블릭 액세스 차단 설정을 편집하여 버킷에 대한 세분화된 액세스 수준을 구성할 수 있습니다. 자세한 내용은 Amazon S3 스토리지에 대한 퍼블릭 액세스 차단 섹션을 참조하세요.
드문 경우지만 IAM Access Analyzer for S3 및 Amazon S3 Block Public Access 평가는 버킷이 퍼블릭인지에 따라 다를 수 있습니다. 이 동작은 Amazon S3 Block Public Access가 퍼블릭 액세스 평가 외에도 작업의 존재 여부에 대한 검증을 수행하기 때문에 발생합니다. 버킷 정책에 Amazon S3에서 지원하지 않는 작업에 대한 퍼블릭 액세스를 허용하는 Action
문이 포함되어 있다고 가정해 보겠습니다(예: s3:NotASupportedAction
). 이 경우 Amazon S3 Block Public Access는 버킷을 퍼블릭으로 평가합니다. 이러한 문은 나중에 작업이 지원될 경우 버킷을 퍼블릭으로 만들 수 있기 때문입니다. Amazon S3 Block Public Access와 IAM Access Analyzer for S3의 평가가 다른 경우 버킷 정책을 검토하고 지원되지 않는 작업을 제거하는 것이 좋습니다.
IAM Access Analyzer for S3를 사용하여 버킷에 대한 모든 퍼블릭 액세스 차단
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/
에서 S3 콘솔을 엽니다. -
왼쪽의 탐색 창의 대시보드, 아래에서 S3에 대한 액세스 분석기를 선택합니다.
-
IAM Access Analyzer for S3에서 버킷을 선택합니다.
-
모든 퍼블릭 액세스 차단을 선택합니다.
-
버킷에 대한 모든 퍼블릭 액세스를 차단할 것인지 확인하려면 모든 퍼블릭 액세스 차단(버킷 설정)에
confirm
을 입력합니다.Amazon S3는 버킷에 대한 모든 퍼블릭 액세스를 차단합니다. 버킷 결과의 상태가 해결됨으로 업데이트되며 IAM Access Analyzer for S3 목록에서 버킷이 사라집니다. 해결된 버킷을 검토하려면 IAM 콘솔
에서 IAM Access Analyzer를 엽니다.
버킷 액세스 검토 및 변경
조직 외부의 계정을 포함한 퍼블릭 또는 다른 AWS 계정 계정에 대한 액세스 권한을 부여하지 않으려는 경우 버킷 ACL, 버킷 정책, 다중 리전 액세스 포인트 정책 또는 액세스 포인트 정책을 수정하여 버킷에 대한 액세스 권한을 제거할 수 있습니다. Shared through(공유) 열에는 버킷 정책, 버킷 ACL 및/또는 액세스 포인트 정책 등 모든 버킷 액세스 소스가 표시됩니다. 다중 리전 액세스 포인트 및 크로스 계정 액세스 포인트는 액세스 포인트 아래에 반영됩니다.
버킷 정책, 버킷 ACL, 다중 리전 액세스 포인트 또는 액세스 포인트 정책 검토 및 변경
https://console.aws.amazon.com/s3/
에서 S3 콘솔을 엽니다. -
탐색 창에서 S3에 대한 액세스 분석기를 선택합니다.
-
버킷 정책, 버킷 ACL, 다중 리전 액세스 포인트 정책 또는 액세스 포인트 정책을 통해 퍼블릭 액세스 또는 공유 액세스가 부여되는지 확인하려면 공유 방법(Shared through) 열을 참조하십시오.
-
버킷(Buckets)에서 변경 또는 검토하려는 버킷 정책, 버킷 ACL, 다중 리전 액세스 포인트 정책 또는 액세스 포인트 정책이 있는 버킷의 이름을 선택합니다.
-
버킷 ACL을 변경하거나 보려면 다음과 같이 하십시오.
-
Permissions를 선택합니다.
-
[Access Control List]를 선택합니다.
-
버킷 ACL을 검토하고 필요에 따라 변경합니다.
자세한 정보는 ACL 구성을 참조하세요.
-
-
버킷 정책을 변경하거나 검토하려면 다음과 같이 하십시오.
-
Permissions를 선택합니다.
-
[Bucket Policy]를 선택합니다.
-
필요에 따라 버킷 정책을 검토하거나 변경합니다.
자세한 정보는 Amazon S3 콘솔을 사용하여 버킷 정책 추가을 참조하세요.
-
-
다중 리전 액세스 포인트 정책을 검토하거나 변경하려면 다음을 수행하십시오.
-
다중 리전 액세스 포인트(Multi-Region Access Point)를 선택합니다.
-
다중 리전 액세스 포인트 이름을 선택합니다.
-
필요에 따라 다중 리전 액세스 포인트 정책을 검토하거나 변경합니다.
자세한 정보는 권한을 참조하세요.
-
액세스 포인트 정책을 검토하거나 변경하려면 다음과 같이 하십시오.
범용 버킷의 Access Points 또는 디렉터리 버킷의 Access Points를 선택합니다.
액세스 포인트 이름을 선택합니다.
필요에 따라 액세스 권한을 검토하거나 변경합니다.
자세한 내용은 범용 버킷의 Amazon S3 Access Points 관리 섹션을 참조하세요.
버킷 ACL, 버킷 정책 또는 액세스 포인트 정책을 편집하거나 제거하여 퍼블릭 또는 공유 액세스를 제거하면 버킷 결과의 상태가 해결됨으로 업데이트됩니다. 해결된 버킷 결과는 IAM Access Analyzer for S3 목록에서 사라지지만 IAM Access Analyzer에서 볼 수 있습니다.
버킷 결과 보관
버킷이 특정 사용 사례(예: 정적 웹 사이트, 공개 다운로드 또는 교차 계정 공유)를 지원하기 위해 조직 외부의 계정을 포함하여 퍼블릭 계정 또는 다른 AWS 계정에 대한 액세스 권한을 부여하는 경우 버킷에 대한 결과를 보관할 수 있습니다. 버킷 결과를 보관할 때 버킷을 퍼블릭 상태로 유지할 것인지 공유 상태로 유지할 것인지 확인하고 기록할 수 있습니다. 보관된 버킷 결과는 IAM Access Analyzer for S3 목록에 남아 있으므로 어떤 버킷이 퍼블릭 버킷인지 또는 공유 버킷인지 항상 알 수 있습니다.
IAM Access Analyzer for S3에 버킷 결과 보관
https://console.aws.amazon.com/s3/
에서 S3 콘솔을 엽니다. -
탐색 창에서 IAM Access Analyzer for S3를 선택합니다.
-
IAM Access Analyzer for S3에서 활성 버킷을 선택합니다.
-
조직 외부의 계정을 포함하여 퍼블릭 계정 또는 다른 AWS 계정에서 이 버킷에 액세스하도록 할 것인지 확인하려면 [아카이브(Archive)]를 선택합니다.
-
confirm
을 입력하고 아카이브를 선택합니다.
보관된 버킷 결과 활성화
결과를 보관한 후에는 언제든지 다시 방문하여 상태를 다시 활성으로 변경할 수 있습니다. 이는 버킷에 다른 검토가 필요함을 나타냅니다.
IAM Access Analyzer for S3에서 보관된 버킷 결과 활성화
https://console.aws.amazon.com/s3/
에서 S3 콘솔을 엽니다. -
탐색 창에서 S3에 대한 액세스 분석기를 선택합니다.
-
보관된 버킷 결과를 선택합니다.
-
활성으로 표시를 선택합니다.
결과 세부 정보 보기
조사 결과에 대한 자세한 정보가 필요한 경우 IAM 콘솔
IAM Access Analyzer for S3에서 결과 세부 정보 보기
https://console.aws.amazon.com/s3/
에서 S3 콘솔을 엽니다. -
탐색 창에서 S3에 대한 액세스 분석기를 선택합니다.
-
IAM Access Analyzer for S3에서 버킷을 선택합니다.
-
View details(세부 정보 보기)를 선택합니다.
결과 세부 정보는 IAM 콘솔
의 IAM Access Analyzer에서 열립니다.
IAM Access Analyzer for S3 보고서 다운로드
버킷 결과를 감사 목적으로 사용할 수 있는 CSV 보고서로 다운로드할 수 있습니다. 보고서에는 Amazon S3 콘솔의 IAM Access Analyzer for S3에 표시되는 것과 동일한 정보가 포함됩니다.
보고서 다운로드
https://console.aws.amazon.com/s3/
에서 Amazon S3 콘솔을 엽니다. -
왼쪽의 탐색 창에서 S3에 대한 액세스 분석기를 선택합니다.
-
리전 필터에서 리전을 선택합니다.
IAM Access Analyzer for S3가 업데이트되어 선택한 리전의 버킷을 표시합니다.
-
보고서 다운로드를 선택합니다.
CSV 보고서가 생성되어 컴퓨터에 저장됩니다.