

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

# IAM 역할 정책 생성 또는 업데이트
<a name="malware-protection-s3-iam-policy-prerequisite"></a>

S3용 맬웨어 방지가 S3 객체를 스캔하고 (선택 사항으로) 태그를 추가하려면 사용자를 대신하여 맬웨어 스캔 작업을 수행하는 데 필요한 권한이 있는 서비스 역할을 사용할 수 있습니다. 서비스 역할을 사용하여 S3에 대한 맬웨어 보호를 활성화하는 방법에 대한 자세한 내용은 [서비스 액세스 섹션](https://docs.aws.amazon.com//guardduty/latest/ug/enable-malware-protection-s3-bucket.html#service-access-s3-malware-protection)을 참조하세요. 이 역할은 [GuardDuty 맬웨어 보호 서비스 연결 역할](https://docs.aws.amazon.com//guardduty/latest/ug/using-service-linked-roles.html)과 다릅니다.

IAM 역할을 사용하려면 S3 객체를 스캔하고 (선택 사항) 태그를 추가하는 데 필요한 권한이 포함된 IAM 역할을 연결할 수 있습니다. 이러한 권한을 포함하려면 IAM 역할을 만들거나 기존 역할을 업데이트해야 합니다. 이러한 권한은 S3용 맬웨어 보호를 사용 설정하는 각 Amazon S3 버킷에 필요하므로 보호하려는 각 Amazon S3 버킷에 대해 이 단계를 수행해야 합니다.

다음 목록에서는 특정 권한이 GuardDuty가 사용자를 대신하여 멀웨어 검사를 수행하는 데 어떻게 도움이 되는지 설명합니다.
+ S3용 맬웨어 방지가 S3 객체 알림을 수신할 수 있도록 Amazon EventBridge 작업이 EventBridge 관리형 규칙을 생성하고 관리하도록 허용합니다.

  자세한 내용은 *Amazon EventBridge 사용 설명서*에서 [Amazon EventBridge 관리 규칙](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html#eb-rules-managed)을 참조하세요.
+ 이 버킷의 모든 이벤트에 대해 Amazon S3 및 EventBridge 작업이 EventBridge로 알림을 보내도록 허용합니다.

  자세한 내용은 *Amazon S3 사용 설명서*에서 [Amazon EventBridge 활성화](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications-eventbridge.html)를 참조하세요.
+ Amazon S3 작업이 업로드된 S3 객체에 액세스하고 스캔된 S3 객체에 사전 정의된 태그인 `GuardDutyMalwareScanStatus`를 추가할 수 있도록 허용합니다. 객체 접두사를 사용하는 경우 대상 접두사에만 `s3:prefix` 조건을 추가합니다. 이렇게 하면 GuardDuty가 버킷의 모든 S3 객체에 액세스하지 못합니다.
+ 지원되는 DSSE-KMS 및 SSE-KMS 암호화를 사용하여 테스트 객체를 스캔하고 버킷에 넣기 전에 KMS 키 작업이 객체에 액세스할 수 있도록 허용합니다.

**참고**  
이 단계는 계정의 버킷에 대해 S3용 맬웨어 보호를 사용 설정할 때마다 필요합니다. 이미 기존 IAM 역할이 있는 경우 다른 Amazon S3 버킷 리소스의 세부 정보를 포함하도록 해당 정책을 업데이트할 수 있습니다. 이 [IAM 정책 권한 추가](#attach-iam-policy-s3-malware-protection) 주제에서는 이를 수행하는 방법에 대한 예를 제공합니다.

다음 정책을 사용하여 IAM 역할을 만들거나 업데이트하세요.

**Topics**
+ [IAM 정책 권한 추가](#attach-iam-policy-s3-malware-protection)
+ [신뢰 관계 정책 추가](#add-iam-trust-policy-s3-malware-protection)

## IAM 정책 권한 추가
<a name="attach-iam-policy-s3-malware-protection"></a>

기존 IAM 역할의 인라인 정책을 업데이트하거나 새 IAM 역할을 만들도록 선택할 수 있습니다. 단계에 대한 자세한 내용은 [IAM 역할 만들기](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) 또는 [IAM 사용 가이드](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy)에서 *역할 권한 정책 수정하기*를 참조하세요.

선호하는 IAM 역할에 다음 권한 템플릿을 추가합니다. 다음 자리 표시자 값을 계정과 관련된 적절한 값으로 바꿉니다.
+ *amzn-s3-demo-bucket*의 경우 Amazon S3 버킷 이름으로 바꿉니다.

  둘 이상의 S3 버킷 리소스에 대해 동일한 IAM 역할을 사용하려면 다음 예시와 같이 기존 정책을 업데이트하세요.

  ```
                      ...
                      ...
                      "Resource": [
                          "arn:aws:s3:::amzn-s3-demo-bucket/*",
                          "arn:aws:s3:::amzn-s3-demo-bucket2/*"
                      ],
                      ...
                      ...
  ```

  S3 버킷과 연결된 새 ARN을 추가하기 전에 쉼표(,)를 추가해야 합니다. 정책 템플릿에서 S3 버킷 `Resource`을 참조할 때마다 이 작업을 수행합니다.
+ *111122223333* 의 경우, AWS 계정 아이디로 대체합니다.
+ *us-east-1*의 경우 AWS 리전으로 바꿉니다.
+ *APKAEIBAERJR2EXAMPLE*의 경우 고객 관리형 키 ID로 바꾸세요. S3 버킷이 AWS KMS 키를 사용하여 암호화된 경우 버킷에 대한 맬웨어 보호를 구성할 때 [새 역할 생성](https://docs.aws.amazon.com//guardduty/latest/ug/enable-malware-protection-s3-bucket.html) 옵션을 선택하면 관련 권한이 추가됩니다.

  ```
  "Resource": "arn:aws:kms:us-east-1:111122223333:key/*"
  ```

**IAM 역할 정책 템플릿**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "AllowManagedRuleToSendS3EventsToGuardDuty",
            "Effect": "Allow",
            "Action": [
                "events:PutRule",
                "events:DeleteRule",
                "events:PutTargets",
                "events:RemoveTargets"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:111122223333:rule/DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*"
            ],
            "Condition": {
                "StringLike": {
                    "events:ManagedBy": "malware-protection-plan.guardduty.amazonaws.com"
                }
            }
        },
        {
            "Sid": "AllowGuardDutyToMonitorEventBridgeManagedRule",
            "Effect": "Allow",
            "Action": [
                "events:DescribeRule",
                "events:ListTargetsByRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:111122223333:rule/DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*"
            ]
        },
        {
            "Sid": "AllowPostScanTag",
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectTagging",
                "s3:GetObjectTagging",
                "s3:PutObjectVersionTagging",
                "s3:GetObjectVersionTagging"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Sid": "AllowEnableS3EventBridgeEvents",
            "Effect": "Allow",
            "Action": [
                "s3:PutBucketNotification",
                "s3:GetBucketNotification"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Sid": "AllowPutValidationObject",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/malware-protection-resource-validation-object"
            ]
        },
        {
            "Sid": "AllowCheckBucketOwnership",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
           "Sid": "AllowMalwareScan",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Sid": "AllowDecryptForMalwareScan",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/APKAEIBAERJR2EXAMPLE",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": "s3.us-east-1.amazonaws.com"
                }
            }
        }
    ]
}
```

------

## 신뢰 관계 정책 추가
<a name="add-iam-trust-policy-s3-malware-protection"></a>

다음 신뢰 정책을 IAM 역할에 첨부하세요. 단계에 대한 자세한 내용은 [역할 신뢰 정책 수정](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy)을 참조하세요.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "malware-protection-plan.guardduty.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------