

# 명시적 거부와 묵시적 거부 차이
<a name="reference_policies_evaluation-logic_AccessPolicyLanguage_Interplay"></a>

적용 가능한 정책이 `Deny` 설명문을 포함한다면 요청은 명시적으로 거부됩니다. 정책이 `Allow` 설명문과 `Deny` 설명문을 포함한 요청에 적용된다면 `Deny` 설명문은 `Allow` 설명문에 우선합니다. 이 요청은 명시적으로 거부됩니다.

적용 가능한 `Deny` 설명문이 없고 적용 가능한 `Allow` 설명문도 없다면 묵시적 거부가 발생합니다. IAM 보안 주체가 기본적으로 액세스를 거부하기 때문에 명시적으로 작업을 허용해야 합니다. 그렇지 않으면 액세스는 묵시적으로 거부됩니다.

권한 부여 전략을 설계한다면 `Allow` 설명문으로 정책을 생성하여 보안 주체가 성공적으로 요청하도록 허용합니다. 그러나 명시적 또는 묵시적 거부 조합을 선택할 수 있습니다.

예를 들어, 허용되는 작업, 암시적으로 거부된 작업 및 명시적으로 거부된 작업을 포함하는 다음 정책을 생성할 수 있습니다. `AllowGetList` 설명문은 접두사 `Get` 및 `List`(으)로 시작하는 IAM 작업에 대한 읽기 전용 액세스를 **허용**합니다. `iam:CreatePolicy`와(과) 같은 IAM의 다른 모든 작업은 **암시적으로 거부**됩니다. `DenyReports` 설명문은 `iam:GetOrganizationsAccessReport`와 같이 `Report` 접미사가 포함된 작업에 대한 액세스를 거부하여 IAM 보고서에 대한 액세스를 **명시적으로 거부**합니다. 누군가가 이 보안 주체에 다른 정책을 추가하여 `iam:GenerateCredentialReport`와 같은 IAM 보고서에 대한 액세스 권한을 부여하는 경우, 보고서 관련 요청은 이 명시적 거부로 인해 계속 거부됩니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowGetList",
            "Effect": "Allow",
            "Action": [
                "iam:Get*",
                "iam:List*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "DenyReports",
            "Effect": "Deny",
            "Action": "iam:*Report",
            "Resource": "*"
        }
    ]
}
```

------