¿Cómo puedo evitar que aparezca el error PackedPolicyTooLarge (Política empaquetada demasiado grande) al asumir un rol de IAM a través de AWS STS?

Última actualización: 3 de marzo de 2023

Quiero asumir un rol de AWS Identity and Access Management (IAM) a través de AWS Security Token Service (STS) sin generar un error PackedPolicyToolarge (Política empaquetada demasiado grande).

Descripción breve

Es posible que reciba un mensaje de error PackedPolicyToolarge (Política empaquetada demasiado grande) con uno de los siguientes detalles al asumir un rol de IAM a través de STS:

  • El tamaño de las etiquetas de sesión empaquetadas consume un n % del espacio asignado.
  • El tamaño de la política empaquetada consume un n % del espacio asignado; utilice una política más pequeña.
    Nota: n representa el porcentaje del PackedPolicySize (Tamaño de política empaquetada) utilizado.

El STS le permite transferir los siguientes tipos de etiquetas de sesión:

  • Políticas de sesión en línea
  • Nombres de recurso de Amazon (ARN) de políticas administradas
  • ARN de políticas administradas por el cliente cuando asume un rol de IAM.

STS almacena los datos relacionados con las etiquetas, las políticas y los ARN dentro del token de sesión de AWS. Todos estos datos se tienen en cuenta para el límite de PackedPolicySize (Tamaño de política empaquetada).

Nota: Las políticas administradas por el cliente deben estar en la misma cuenta de AWS que el rol de IAM que está asumiendo.

Cuando se configuran, las etiquetas de sesión, las políticas de sesión en línea y las ARN de políticas administradas aumentan el tamaño de un token de sesión de AWS. Sin embargo, se aplica un límite de tamaño de token finito, independientemente del número de cuotas de etiquetas y políticas de sesión que se utilicen. Superar el límite finito hace que se genere un error.

Las políticas de sesión y las etiquetas de sesión en línea se serializan y comprimen en la etiqueta de sesión. Esto hace que sea difícil determinar qué parte del PackedPolicySize (Tamaño de política empaquetada) se utiliza antes de realizar una llamada de AssumeRole (Asumir rol) a STS.

Nota: Los registros de AWS CloudTrail para AssumeRole (Asumir rol), AssumeRoleWithSAML (Asumir rol con SAML) y AssumeRoleWithWebIdentity (Asumir rol con identidad web) muestran el valor de PackedPolicySize (Tamaño de política empaquetada). Además, la API de AWS devuelve el porcentaje del PackedPolicySize (Tamaño de política empaquetada) utilizado en la solicitud como parte de la respuesta.

Resolución

Reduzca la longitud de la política de sesión en línea o de las etiquetas de sesión (claves y valores) que se transfieren a STS cuando usted asuma un rol. Las siguientes secciones proporcionan formas de limitar los datos de las etiquetas de sesión y las políticas de sesión en línea.

Etiquetas de sesión

  • Abrevie o acorte las claves o valores de las etiquetas de sesión. Las etiquetas de sesión se utilizan normalmente para el control de acceso basado en atributos (ABAC). Para hacer un uso eficaz del espacio de políticas de ABAC, incluya en las etiquetas de sesión solo la información necesaria para autorizar las decisiones.
  • Si utiliza etiquetas de sesión para fines distintos del ABAC, como la información de auditoría, sustituya los registros de las etiquetas de sesión por referencias a un sistema de registro externo.
  • Utilice mayúsculas y minúsculas coherentes, por ejemplo, para todas las claves y valores de las etiquetas. Los tokens de sesión de AWS almacenan claves y valores de etiquetas comprimidos, y los algoritmos de compresión funcionan mejor cuando se utilizan mayúsculas y minúsculas consistentes.
  • Si vas a colocar información de identidad dentro de las etiquetas de sesión, considere transferirla a SourceIdentity (Identidad de origen), que tiene una cuota independiente.

Políticas de sesión en línea

  • Elimine los elementos statement ID (Sid) (ID de instrucción [Sid]) de las políticas de sesión. El Sid es un elemento opcional en las declaraciones de política de sesión.
  • Utilice caracteres comodín para acortar las acciones de IAM y los ARN de los recursos, cuando corresponda.
  • Transmita ARN de políticas administradas en lugar de un documento de política. El ARN de la política administrada es solo una referencia a una política y ocupa menos espacio dentro del token. Puede aprobar tanto políticas administradas como políticas de sesión.
  • Utilice etiquetas de sesión con políticas administradas o políticas en línea vinculadas al rol para crear políticas que solo concedan acceso de forma condicional, con base en las etiquetas de sesión.

¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?