

# Amazon S3: S3 버킷 액세스, 하지만 프로덕션 버킷은 최근 MFA 없이 거부
<a name="reference_policies_examples_s3_full-access-except-production"></a>

이 예제는 Amazon S3 관리자가 객체 업데이트, 추가 및 삭제를 포함하여 모든 버킷에 액세스하도록 허용하는 아이덴티티 기반 정책을 생성하는 방법을 보여줍니다. 하지만 사용자가 지난 30분 내에 [멀티 팩터 인증(MFA)](id_credentials_mfa.md)을 사용하여 로그인하지 않은 경우 `amzn-s3-demo-bucket-production` 버킷에 대한 액세스를 명시적으로 거부합니다. 이 정책은 콘솔에서 또는 프로그래밍 방식으로 AWS CLI 또는 AWS API를 사용하여 이 작업을 수행하는 데 필요한 권한을 부여합니다. 이 정책을 사용하려면 정책 예제의 *기울임꼴 자리 표시자 텍스트*를 본인의 정보로 대체하세요. 그런 다음 [정책 생성](access_policies_create.md) 또는 [정책 편집](access_policies_manage-edit.md)의 지침을 따릅니다.

이 정책은 장기 사용자 액세스 키를 사용한 `amzn-s3-demo-bucket` 버킷에 대한 프로그래밍 방식 액세스를 허용하지 않습니다. 이 작업은 `NumericGreaterThanIfExists` 조건 연산자와 함께 `aws:MultiFactorAuthAge` 조건 키를 사용해 수행됩니다. 이 정책 조건은 MFA가 없거나 MFA 사용 기간이 30분 이상인 경우 `true`를 반환합니다. 이러한 상황에서는 액세스가 거부됩니다. 프로그래밍 방식으로 `amzn-s3-demo-bucket-production` 버킷에 액세스하려면 S3 관리자는 [GetSessionToken](id_credentials_temp_request.md#api_getsessiontoken) API 작업을 사용하여 지난 30분 동안 생성된 임시 자격 증명을 사용해야 합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListAllS3Buckets",
            "Effect": "Allow",
            "Action": ["s3:ListAllMyBuckets"],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "AllowBucketLevelActions",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "AllowBucketObjectActions",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::*/*"
        },
        {
            "Sid": "RequireMFAForProductionBucket",
            "Effect": "Deny",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-production/*",
                "arn:aws:s3:::amzn-s3-demo-bucket-production"
            ],
            "Condition": {
                "NumericGreaterThanIfExists": {"aws:MultiFactorAuthAge": "1800"}
            }
        }
    ]
}
```

------