¿Cómo se pueden resolver los problemas de acceso denegado causados por límites de permisos?

5 minutos de lectura
0

Recibí un error de acceso denegado o no autorizado al intentar acceder al servicio de AWS. ¿Cómo puedo solucionar los errores de acceso denegado en la cuenta de AWS?

Descripción breve

Es posible que reciba un error de acceso denegado o no autorizado porque la política de AWS Identity and Access Management (IAM) no cumple con los requisitos de condiciones específicas. En primer lugar, revise las políticas de control de servicios (SCP) de la cuenta y, a continuación, compruebe que no hay denegaciones presentes en las políticas basadas en recursos. Si esto no resuelve el error, es posible que el problema se deba a que existe un límite de permisos.

Un límite de permisos es una característica que permite utilizar una política administrada para establecer los permisos máximos que una política basada en la identidad puede conceder a una entidad de IAM (usuario o rol). Al establecer un límite de permisos para una entidad, esta solo puede realizar acciones que estén permitidas tanto por sus políticas basadas en la identidad como por su límite de permisos.

Nota: El límite de permisos establece los permisos máximos correspondientes a una entidad, pero no concede esos permisos.

Para solucionar los errores de autorización, siga estos pasos:

  • Compruebe si una acción se permite en la política de IAM, pero no en el límite de permisos
  • Incluya todas las acciones requeridas en el límite de permisos mediante la consola de IAM
  • Utilice la clave de condición “iam:PermissionsBoundary” en la política de IAM

Resolución

Compruebe si una acción está permitida en la política de IAM, pero no en el límite de permisos

El siguiente ejemplo muestra una acción que se permite en una política de IAM, pero no en el límite de permisos. En este ejemplo, un usuario de IAM tiene la política USER_IAM_POLICY asociada:

IAM policy:(USER_IAM_POLICY )
 “Effect”: “Allow”,
            “Action”: [
                “ec2:*”,
                “s3:*”
            ],

Esta política concede al usuario acceso completo a los servicios de Amazon Elastic Compute Cloud (Amazon EC2) y Amazon Simple Storage Service (Amazon S3). El usuario también tiene establecido un límite de permisos denominado USER_PB_POLICY.

Permissions Boundary:(USER_PB_POLICY)
 “Effect”: “Allow”,
            “Action”: [
                “cloudwatch:*”,
                “s3:*”
            ],

El límite de permisos establece los permisos máximos que limitan las acciones que el usuario puede realizar. En este ejemplo, este límite de permiso permite el acceso completo a los servicios de Amazon CloudWatch y Amazon S3. Sin embargo, debido a que Amazon S3 es el único servicio que está permitido tanto en la política de IAM como en el límite de permisos, el usuario únicamente tiene acceso a S3. Si el usuario intenta obtener acceso a Amazon EC2, recibe un error de acceso denegado.

Para resolver este error, edite el límite de permisos y permita el acceso a Amazon EC2:

“Effect”: “Allow”,
            “Action”: [
                “cloudwatch:*”,
                “s3:*”,
                “ec2:*”
            ],

Incluya todas las acciones requeridas en el límite de permisos mediante la consola de IAM

Siga estos pasos para editar el límite de permisos para incluir todas las acciones que requiere un usuario:

  1. Abra la consola de IAM.
  2. En el panel de navegación, seleccione Roles/Usuarios.
  3. Elija la entidad de IAM que desea editar.
  4. En la sección Límites de permisos, verifique la configuración. Si hay un límite de permisos configurado, significa que existe un límite de permisos. El nombre de la política administrada que se utiliza como límite de permisos en la entidad de IAM aparece en esta sección.
  5. Amplíe la política de JSON y compruebe si la acción que necesita se incluye en la lista de autorizaciones del límite de permisos. Si la acción no aparece en la lista de autorizaciones, edite la política de JSON para permitir todas las acciones que requiera la entidad de IAM.

Para obtener más información sobre la edición de políticas, consulte Editar políticas de IAM.

Utilice la clave de condición iam:PermissionsBoundary en las políticas de IAM

Agregue la clave de condición iam:PermissionsBoundary a las políticas de IAM. Esta clave de condición comprueba si una política específica está asociada como límite de permisos en una entidad de IAM.

El siguiente ejemplo muestra una política de IAM denominada RestrictedRegionpermissionsBoundary:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EC2RestrictRegion",
            "Effect": “Allow”,
            "Action": "ec2:*” 
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "us-east-1"
                   ]
                }
            }
        }

Cree una política y asóciela al administrador delegado que tiene la responsabilidad de crear usuarios. Al asociar la siguiente política de muestra al administrador, este solo podrá crear un usuario de IAM al asociar la política RestrictedRegionPermissionsBoundary a dicho usuario. Si el administrador intenta crear un usuario de IAM sin asociar la política, recibe un error de acceso denegado.

{
            "Sid": "CreateUser",
            "Effect": "Allow",
            "Action": [
                "iam:CreateUser"
            ],
            "Resource": "arn:aws:iam::111222333444:user/test1*",
            "Condition": {
                "StringEquals": {
                    "iam:PermissionsBoundary": "arn:aws:iam::111222333444:policy/RestrictedRegionPermissionsBoundary"
                }
            }

Para establecer la política de IAM RestrictedRegionPermissionsBoundary como límite de permisos al crear un nuevo usuario, siga estos pasos:

  1. Abra la consola de IAM.
  2. En el panel de navegación, seleccione Usuarios y, a continuación, seleccione Agregar usuarios.
  3. Ingrese el nombre de usuario que desea editar, elija el tipo de acceso de AWS, y luego seleccione siguiente.
  4. Amplíe la sección Establecer límite de permisos y seleccione Utilizar un límite de permisos para controlar los permisos máximos del rol.
  5. En el campo de búsqueda, ingrese RestrictedRegionPermissionsBoundary, y luego elija el botón de opción para la política.
  6. Seleccione Next:Tags.
  7. Revise la configuración y cree un usuario.

Información relacionada

Límites de permisos para entidades de IAM

Evaluación de permisos efectivos con límites

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años