AWSSupport-TroubleshootS3PublicRead - AWS Systems Manager 자동화 실행서 참조

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWSSupport-TroubleshootS3PublicRead

설명

AWSSupport-TroubleshootS3PublicRead 실행서는 S3BucketName 파라미터에서 지정하는 Amazon Simple Storage Service(Amazon S3) 버킷에서 객체를 읽는 데 발생하는 문제를 진단합니다. 또한 S3 버킷의 객체에 대한 설정 하위군도 분석됩니다.

이 자동화 실행(콘솔)

제한 사항

  • 이 자동화는 객체에 대한 퍼블릭 액세스를 허용하는 액세스 포인트를 확인하지 않습니다.

  • 이 자동화는 S3 버킷 정책의 조건 키를 평가하지 않습니다.

  • 를 사용하는 경우 AWS Organizations이 자동화는 서비스 제어 정책을 평가하여 Amazon S3에 대한 액세스가 허용되는지 확인하지 않습니다.

문서 유형

자동화

소유자

Amazon

플랫폼

Linux,macOS, Windows

Parameters

  • AutomationAssumeRole

    유형: 문자열

    설명: (선택 사항) Systems Manager Automation이 사용자를 대신하여 작업을 수행할 수 있도록 허용하는 (ARN) 역할의 AWS Identity and Access Management Amazon 리소스 이름(IAM)입니다. 역할을 지정하지 않은 경우, Systems Manager Automation에서는 이 실행서를 시작하는 사용자의 권한을 사용합니다.

  • CloudWatchLogGroupName

    유형: 문자열

    설명: (선택 사항) 자동화 출력을 보내려는 Amazon CloudWatch Logs 로그 그룹입니다. 지정하는 값과 일치하는 로그 그룹을 찾을 수 없는 경우, 자동화는 이 파라미터 값을 사용하여 로그 그룹을 생성합니다. 이 자동화로 생성된 로그 그룹의 보존 기간은 14일입니다.

  • CloudWatchLogStreamName

    유형: 문자열

    설명: (선택 사항) 자동화 출력을 보내려는 로그 스트림 CloudWatch 입니다. 지정하는 값과 일치하는 로그 스트림을 찾을 수 없는 경우, 자동화는 이 파라미터 값을 사용하여 로그 스트림을 생성합니다. 이 파라미터의 값을 지정하지 않으면, 자동화에서는 로그 스트림 이름으로 ExecutionId(을)를 사용합니다.

  • HttpGet

    타입: 부울

    유효한 값: true | false

    기본값: true

    설명: (선택 사항) 이 파라미터를 true 로 설정하면 자동화는 S3BucketName 지정한 의 객체에 부분 HTTP 요청을 합니다. 범위 HTTP 헤더를 사용하여 객체의 첫 번째 바이트만 반환됩니다.

  • IgnoreBlockPublicAccess

    타입: 부울

    유효한 값: true | false

    기본값: false

    설명: (선택 사항) 이 파라미터를 true로 설정하면, 자동화가 S3BucketName 파라미터에서 지정하는 S3 버킷의 퍼블릭 액세스 차단 설정을 무시합니다. 기본값의 이 파라미터를 변경하지 않는 것이 좋습니다.

  • MaxObjects

    유형: 정수

    유효한 값: 1-25

    기본값: 5

    설명: (선택 사항) S3BucketName 파라미터에서 지정하는 S3 버킷에서 분석할 객체 수입니다.

  • S3BucketName

    유형: 문자열

    설명: (필수) 문제를 해결할 S3 버킷의 이름입니다.

  • S3PrefixName

    유형: 문자열

    설명: (선택 사항) S3 버킷에서 분석하려는 객체의 키 이름 접두사입니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서객체 키를 참조하세요.

  • StartAfter

    유형: 문자열

    설명: (선택 사항) 자동화를 통해 S3 버킷의 객체 분석을 시작하려는 객체 키 이름입니다.

  • ResourcePartition

    유형: 문자열

    유효한 값: aws | aws-us-gov | aws-cn

    기본값: aws

    설명: (필수) S3 버킷이 위치한 파티션입니다.

  • 상세 표시

    타입: 부울

    유효한 값: true | false

    기본값: false

    설명: (선택 사항) 자동화 중에 더 자세한 정보를 반환하려면, 이 파라미터를 true로 설정합니다. 파라미터가 false로 설정된 경우 경고 및 오류 메시지만 반환됩니다.

필수 IAM 권한

실행서를 성공적으로 사용하려면 AutomationAssumeRole 파라미터에 다음 작업이 필요합니다.

logs:CreateLogGroup , logs:CreateLogStreamlogs:PutLogEvents 권한은 자동화가 로그 데이터를 CloudWatch 로그로 전송하도록 하려는 경우에만 필요합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:SimulateCustomPolicy", "iam:GetContextKeysForCustomPolicy", "s3:ListAllMyBuckets", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutRetentionPolicy", "s3:GetAccountPublicAccessBlock" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*", "Effect": "Allow" }, { "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:GetBucketPublicAccessBlock", "s3:GetBucketRequestPayment", "s3:GetBucketPolicyStatus", "s3:GetBucketPolicy", "s3:GetBucketAcl" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1", "Effect": "Allow" } ] }

문서 단계

  • aws:assertAwsResourceProperty - S3 버킷이 존재하고 액세스할 수 있는지 확인합니다.

  • aws:executeScript - S3 버킷 위치와 표준 사용자 ID를 반환합니다.

  • aws:executeScript - 계정 및 S3 버킷의 퍼블릭 액세스 차단 설정을 반환합니다.

  • aws:assertAwsResourceProperty - S3 버킷 지급인이 BucketOwner(으)로 설정되었는지 확인합니다. S3 버킷에서 Requester Pays가 활성화된 경우 자동화가 종료됩니다.

  • aws:executeScript - S3 버킷 정책 상태를 반환하고 퍼블릭으로 간주할지 여부를 결정합니다. 퍼블릭 S3 버킷에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서에서 “퍼블릭”의 의미를 참조하세요.

  • aws:executeAwsApi - S3 버킷 정책을 반환합니다.

  • aws:executeAwsApi - S3 버킷 정책에 있는 모든 컨텍스트 키를 반환합니다.

  • aws:assertAwsResourceProperty - GetObject API 작업에 대한 S3 버킷 정책에 명시적 거부가 있는지 확인합니다.

  • aws:executeAwsApi - S3 버킷에 대한 액세스 제어 목록(ACL)을 반환합니다.

  • aws:executeScript - CloudWatchLogGroupName 파라미터 값을 지정하는 경우 CloudWatch 로그 로그 그룹 및 로그 스트림을 생성합니다.

  • aws:executeScript - 실행서 입력 파라미터에서 지정하는 값을 기반으로 자동화 중에 수집된 S3 버킷 설정이 퍼블릭의 객체 액세스를 방해하는지 여부를 평가합니다. 이 스크립트는 다음 기능을 수행합니다.

    • 퍼블릭 액세스 차단 설정을 평가합니다.

    • MaxObjects, S3PrefixName, StartAfter 파라미터에서 지정하는 값을 기반으로 S3 버킷에서 객체를 반환합니다.

    • S3 버킷 정책을 반환하여 S3 버킷에서 반환된 객체에 대한 사용자 지정 IAM 정책을 시뮬레이션합니다.

    • HttpGet 파라미터가 true 로 설정된 경우 반환HTTP된 객체에 대한 부분 요청을 수행합니다. 범위 HTTP 헤더를 사용하여 객체의 첫 번째 바이트만 반환됩니다.

    • 반환된 객체의 키 이름을 검사하여 마침표가 한 개 또는 두 개로 끝나는지 확인합니다. 기간으로 끝나는 객체 키 이름은 Amazon S3 콘솔에서 다운로드할 수 없습니다.

    • 반환된 객체의 소유자가 S3 버킷의 소유자와 일치하는지 확인합니다.

    • 객체가 익명 사용자에게 권한 READ 또는 FULL_CONTROL 권한을 ACL 부여하는지 확인합니다.

    • 객체와 연결된 태그를 반환합니다.

    • 시뮬레이션된 IAM 정책을 사용하여 GetObject API 작업에 대한 S3 버킷 정책에서 이 객체에 대한 명시적 거부가 있는지 확인합니다.

    • 객체의 메타데이터를 반환하여 스토리지 클래스가 지원되는지 확인합니다.

    • 객체의 서버 측 암호화 설정을 확인하여 AWS Key Management Service (AWS KMS) 고객 관리형 키를 사용하여 객체가 암호화되었는지 확인합니다.

출력

AnalyzeObjects.bucket

AnalyzeObjects.object