Diferencia entre denegaciones implícitas y explícitas - AWS Identity and Access Management

Diferencia entre denegaciones implícitas y explícitas

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.

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