

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

# `AWSSupport-TroubleshootS3PublicRead`
<a name="automation-awssupport-troubleshoots3publicread"></a>

 **설명** 

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

 [이 자동화 실행(콘솔)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootS3PublicRead) 

 **제한 사항 ** 
+ 이 자동화는 객체에 대한 퍼블릭 액세스를 허용하는 액세스 포인트를 확인하지 않습니다.
+ 이 자동화는 S3 버킷 정책의 조건 키를 평가하지 않습니다.
+ 를 사용하는 경우 AWS Organizations이 자동화는 Amazon S3에 대한 액세스가 허용되는지 확인하기 위해 서비스 제어 정책을 평가하지 않습니다.

**문서 유형**

자동화

**소유자**

Amazon

**플랫폼**

Linux, macOS, Windows 

**파라미터**
+ AutomationAssumeRole

  유형: 문자열

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

  유형: 문자열

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

  유형: 문자열

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

  유형: Boolean

  유효한 값: true \$1 false

  기본값: true

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

  유형: Boolean

  유효한 값: true \$1 false

  기본값: false

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

  유형: 정수

  유효한 값: 1-25

  기본값: 5

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

  유형: 문자열

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

  유형: 문자열

   설명: (선택 사항) S3 버킷에서 분석하려는 객체의 키 이름 접두사입니다. 자세한 내용은 *Amazon Simple Storage Service 사용 설명서*의 [객체 키](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#object-keys)를 참조하세요.
+ StartAfter

  유형: 문자열

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

  유형: 문자열

   유효한 값: `aws` \$1 `aws-us-gov` \$1 `aws-cn` 

   기본값: `aws` 

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

  유형: Boolean

  유효한 값: true \$1 false

  기본값: false

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

**필수 IAM 권한**

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

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

------
#### [ JSON ]

****  

```
{
    "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 사용 설명서*에서 [“퍼블릭”의 의미](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html#access-control-block-public-access-policy-status)를 참조하세요.
+  `aws:executeAwsApi` - S3 버킷 정책을 반환합니다.
+  `aws:executeAwsApi` - S3 버킷 정책에 있는 모든 컨텍스트 키를 반환합니다.
+  `aws:assertAwsResourceProperty` - S3 버킷 정책에 `GetObject` API 작업에 대한 명시적 거부가 있는지 확인합니다.
+  `aws:executeAwsApi` - S3 버킷의 액세스 제어 목록(ACL)을 반환합니다.
+  `aws:executeScript` - `CloudWatchLogGroupName` 파라미터 값을 지정하는 경우 CloudWatch Logs 로그 그룹 및 로그 스트림을 생성합니다.
+  `aws:executeScript` - 실행서 입력 파라미터에서 지정하는 값을 기반으로 자동화 중에 수집된 S3 버킷 설정이 퍼블릭의 객체 액세스를 방해하는지 여부를 평가합니다. 이 스크립트는 다음 기능을 수행합니다.
  + 퍼블릭 액세스 차단 설정을 평가합니다.
  +  `MaxObjects`, `S3PrefixName`, `StartAfter` 파라미터에서 지정하는 값을 기반으로 S3 버킷에서 객체를 반환합니다.
  + S3 버킷 정책을 반환하여 S3 버킷에서 반환된 객체에 대한 사용자 지정 IAM 정책을 시뮬레이션합니다.
  +  `HttpGet` 파라미터가 `true`로 설정된 경우 반환된 객체에 대해 부분 HTTP 요청을 수행합니다. Range HTTP 헤더를 사용하면 객체의 첫 번째 바이트만 반환됩니다.
  + 반환된 객체의 키 이름을 검사하여 마침표가 한 개 또는 두 개로 끝나는지 확인합니다. 기간으로 끝나는 객체 키 이름은 Amazon S3 콘솔에서 다운로드할 수 없습니다.
  + 반환된 객체의 소유자가 S3 버킷의 소유자와 일치하는지 확인합니다.
  +  객체의 ACL이 익명 사용자에게 `READ` 또는 `FULL_CONTROL` 권한을 부여하는지 확인합니다.
  + 객체와 연결된 태그를 반환합니다.
  +  시뮬레이션된 IAM 정책을 사용하여 `GetObject` API 작업에 대한 S3 버킷 정책에 이 객체에 대한 명시적 거부가 있는지 확인합니다.
  + 객체의 메타데이터를 반환하여 스토리지 클래스가 지원되는지 확인합니다.
  + 객체의 서버 측 암호화 설정을 확인하여 객체가 AWS Key Management Service (AWS KMS) 고객 관리형 키를 사용하여 암호화되는지 확인합니다.

 **출력** 

AnalyzeObjects.bucket

AnalyzeObjects.object