IAM: permite y deniega el acceso a varios servicios mediante programación y en la consola
En este ejemplo se muestra cómo podría crear una política basada en identidad que permita acceso completo a varios servicios y acceso de autoadministración limitado en IAM. También deniega a los usuarios el acceso al bucket de logs
de Amazon S3 o a la instancia de Amazon EC2 de i-1234567890abcdef0
Esta política define los permisos para el acceso programático y a la consola. Para utilizar esta política, sustituya el texto en cursiva
de la política de ejemplo por su propia información. A continuación, siga las instrucciones en Crear una política o Editar una política.
aviso
Esta política permite acceso completo a cada acción y recurso en varios servicios. Esta política debe aplicarse únicamente a los administradores de confianza.
Puede utilizar esta política como límite de permisos para definir los permisos máximos que una política basada en identidad puede conceder a un usuario de IAM. Para obtener más información, consulte Delegación de responsabilidades en otras personas mediante el uso de límites de permisos. Cuando la política se utiliza como un límite de permisos para un usuario, las declaraciones definen los siguientes límites:
-
La declaración
AllowServices
permite acceso completo a los servicios de AWS especificados. Esto significa que las acciones del usuario en estos servicios solamente están limitadas por las políticas de permisos que se han asociado al usuario. -
La instrucción
AllowIAMConsoleForCredentials
permite el acceso para obtener una lista de todos los usuarios de IAM. Este acceso es necesario para recorrer la página Users (Usuarios) de la AWS Management Console. También permite ver los requisitos de la contraseña de la cuenta, para que el usuario pueda cambiar su propia contraseña. -
La instrucción
AllowManageOwnPasswordAndAccessKeys
permite a los usuarios administrar únicamente su propia contraseña de la consola y sus claves de acceso mediante programación. Esto es importante porque si otra política brinda al usuario acceso completo a IAM, este podría cambiar sus propios permisos o los de otros usuarios. Esta instrucción impide que eso ocurra. -
La instrucción
DenyS3Logs
deniega explícitamente el acceso al bucketlogs
. Esta política aplica las restricciones de la empresa sobre el usuario. -
La instrucción
DenyEC2Production
deniega explícitamente el acceso a la instanciai-1234567890abcdef0
.
Esta política no permite el acceso a otros servicios o acciones. Cuando la política se utiliza como un límite de permisos en un usuario, aunque otras políticas asociadas al usuario permitan esas acciones, AWS deniega la solicitud.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowServices", "Effect": "Allow", "Action": [ "s3:*", "cloudwatch:*", "ec2:*" ], "Resource": "*" }, { "Sid": "AllowIAMConsoleForCredentials", "Effect": "Allow", "Action": [ "iam:ListUsers", "iam:GetAccountPasswordPolicy" ], "Resource": "*" }, { "Sid": "AllowManageOwnPasswordAndAccessKeys", "Effect": "Allow", "Action": [ "iam:*AccessKey*", "iam:ChangePassword", "iam:GetUser", "iam:*LoginProfile*" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "DenyS3Logs", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::
logs
", "arn:aws:s3:::logs
/*" ] }, { "Sid": "DenyEC2Production", "Effect": "Deny", "Action": "ec2:*", "Resource": "arn:aws:ec2:*:*:instance/i-1234567890abcdef0
" } ] }