

# Diferencia entre denegaciones implícitas y explícitas
<a name="reference_policies_evaluation-logic_AccessPolicyLanguage_Interplay"></a>

Una solicitud da como resultado una denegación explícita si una política aplicable incluye una instrucción `Deny`. Si las políticas que se aplican a una solicitud incluyen una instrucción `Allow` y una instrucción `Deny`, la instrucción `Deny` prevalece sobre la instrucción `Allow`. La solicitud se deniega explícitamente.

Una denegación implícita se produce cuando no hay instrucciones `Deny` ni `Allow` aplicables. Dado que a los usuarios, roles o usuarios federados de IAM se les deniega el acceso de forma predeterminada, se les debe permitir explícitamente realizar una acción. De lo contrario, se les deniega implícitamente el acceso.

Al diseñar su estrategia de autorización, debe crear políticas con instrucciones `Allow` que permitan a las entidades principales realizar solicitudes sin problemas. Sin embargo, puede elegir cualquier combinación de denegaciones implícitas y explícitas. 

Por ejemplo, puede crear la siguiente política que incluye acciones permitidas, acciones denegadas implícitamente y acciones denegadas explícitamente. La declaración `AllowGetList` **permite** acceso de solo lectura a acciones de IAM que empiezan por los prefijos `Get` y `List`. Todas las demás acciones de IAM, como `iam:CreatePolicy` se **deniegan implícitamente**. La declaración `DenyReports` **deniega explícitamente** el acceso a los informes de IAM al denegar el acceso a acciones que incluyen el sufijo `Report`, como `iam:GetOrganizationsAccessReport`. Si alguien agrega otra política a esta entidad principal para otorgarle acceso a los informes de IAM, como `iam:GenerateCredentialReport`, las solicitudes relacionadas con informes se siguen denegando debido a esta denegación explícita.

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

****  

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

------