amazon-web-services - password - aws login account
Política de AWS IAM para permitir a los usuarios cambiar sus propias contraseñas al bloquear el acceso a IAM (2)
Tengo algunas cuentas administrativas para mis desarrolladores que deberían poder administrar todos los recursos de Aws, pero no deberían poder administrar las propiedades de usuarios / raíz. Por lo tanto, limité el acceso a IAM a través de la siguiente política:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"NotAction": "iam:*",
"Resource": "*"
}
]
}
Sin embargo, esto bloquea que los usuarios puedan cambiar sus propias contraseñas. ¿Cómo puedo bloquearlos desde IAM pero les permito cambiar sus contraseñas?
La política que ha asignado otorga acceso a todas las acciones, excepto las de AWS Identity and Access Management (IAM).
Por lo tanto, para permitir que los usuarios cambien su contraseña, adjunte otra política (adicional) al usuario / grupo que concede permiso para cambiar las contraseñas:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SomeSID",
"Effect": "Allow",
"Action": [
"iam:ChangePassword"
],
"Resource": [
"*"
]
}
]
}
Mientras que "denegar" normalmente anula "permitir", la política original no utilizaba denegar, simplemente otorgaba permiso para todo excepto para IAM. Por lo tanto, el "permitir" adicional otorgará los permisos deseados.
Amazon proporciona una política de ejemplo que no requiere la especificación manual de la id del usuario para cada usuario:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:*LoginProfile",
"iam:*AccessKey*",
"iam:*SSHPublicKey*"
],
"Resource": "arn:aws:iam::account-id-without-hyphens:user/${aws:username}"
},
{
"Effect": "Allow",
"Action": [
"iam:ListAccount*",
"iam:GetAccountSummary",
"iam:GetAccountPasswordPolicy",
"iam:ListUsers"
],
"Resource": "*"
}
]
}
Sin embargo, cambiar una contraseña (al menos durante el inicio de sesión inicial, cuando "requiere cambio de contraseña en el primer inicio de sesión" se marcó al crear el usuario) todavía parece requerir el permiso iam:ChangePassword
.
Una opción mucho mejor es habilitar una política de contraseñas y marcar la casilla "Permitir a los usuarios cambiar su propia contraseña"; esto hace exactamente lo que dice en la lata, sin perder el tiempo.