He perdido el acceso a mi cola de Amazon Simple Queue Service (Amazon SQS) debido a una política de denegación de colas.
Descripción corta
El siguiente ejemplo de política de denegación niega a todas las entidades de AWS Identity and Access Management (IAM) el acceso a todas las acciones de cola de Amazon SQS:
{ "Version": "2012-10-17",
"Statement": [
{
"Sid": "deny-sqs-actions",
"Effect": "Deny",
"Principal": "*",
"Action": "SQS:*",
"Resource": "queueNameArn"
}
]
}
Resolución
Solución de problemas de acceso a las colas de SQS
Si has perdido el acceso a la cola que utiliza una política de denegación de colas, sigue estos pasos:
- Utiliza el usuario raíz de tu cuenta de AWS para acceder a la cola. Las credenciales de usuario raíz permiten el acceso total a todos los recursos de la cuenta. Puedes usar la cuenta de usuario raíz para eliminar una política de denegación asociada a la cola.
- Si la política de denegación restringe entidades específicas, intenta obtener acceso con las entidades que la política excluye.
Nota: Comprueba que las entidades excluidas tengan los permisos necesarios para acceder a la cola.
- Utiliza la política SQSUnlockQueuePolicy administrada por AWS desde la cuenta de administración de AWS Organizations.
Evitar la pérdida de acceso a las colas de SQS
Las siguientes prácticas recomendadas ayudan a evitar la pérdida de acceso a las colas:
Ejemplo de política con instrucciones de permiso y denegación:
{ "Version": "2012-10-17",
"Id": "Queue1_Policy_UUID",
"Statement": [{
"Sid":"Queue1_Allow_Access",
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::111122223333:user/User1"},
"Action": "sqs:*",
"Resource": "queueNameArn"
}, {
"Sid":"Queue1_Deny_Access",
"Effect": "Deny",
"NotPrincipal": {"AWS": "arn:aws:iam::111122223333:user/User1"},
"Action": "sqs:*",
"Resource": "queueNameArn"
}]
}
La política del ejemplo anterior permite al usuario de IAM User1 acceder a todas las acciones de Amazon SQS en la cola de SQS especificada. Esta política también niega el acceso a las colas a todas las entidades principales excepto al User1.
Nota: El elemento NotPrincipal de la política de denegación excluye la entidad principal especificada. La instrucción Allow concede permisos de acceso a la entidad principal excluida.
Ponte en contacto con AWS Support si no puedes acceder a la cola de SQS
Si no puedes usar las credenciales de usuario raíz o no conoces las entidades que la política de denegación excluye, ponte en contacto con AWS Support. Crea un caso de soporte e incluye la siguiente información:
- Confirma que has utilizado las credenciales de usuario raíz para intentar acceder a la cola. Incluye el motivo por el que no puedes usar las credenciales de usuario raíz o el motivo por el que las credenciales de usuario raíz no resolvieron el problema.
- Confirma que no puedes usar la política administrada de AWS de SQSUnlockQueuePolicy e incluye el motivo.
- Confirma que eres el propietario de la cola.
- Proporciona un motivo detallado por el que necesitas acceder a la cola.
Información relacionada
Descripción general de la administración del acceso en Amazon SQS