¿Cómo puedo evitar que aparezca el error PackedPolicyTooLarge al asumir un rol de IAM a través de AWS STS?

4 minutos de lectura
0

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.

Breve descripción

Al asumir un rol de IAM a través de STS, es posible que reciba el mensaje de error PackedPolicyTooLarge con uno de los siguientes detalles:

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

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

  • Políticas de sesión insertadas
  • Nombres de recursos de Amazon (ARN) de políticas administradas
  • ARN de políticas administradas por el cliente al asumir un rol de IAM

STS almacena los datos relacionados con las etiquetas, las políticas y los ARN en el token de sesión de AWS. Todos estos datos se tienen en cuenta para el límite de PackedPolicySize.

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 establecen, las etiquetas de sesión, las políticas de sesión insertadas y los 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 utilice. Superar el límite finito genera un error.

Las políticas de sesión insertadas y las etiquetas de sesión se serializan y comprimen en el token de sesión. Esto hace que sea difícil determinar cuánto se usa de PackedPolicySize antes de realizar una llamada AssumeRole a STS.

Nota: En los registros de AWS CloudTrail de AssumeRole, AssumeRoleWithSAML y AssumeRoleWithWebIdentity se muestra PackedPolicySize. Además, como parte de la respuesta, la API de AWS devuelve el porcentaje de PackedPolicySize que se utiliza en la solicitud.

Resolución

Reduzca la longitud de la política de sesión insertada o las etiquetas de sesión (claves y valores) que transfiere a STS cuando asume un rol. En las siguientes secciones se indican formas de limitar los datos de las etiquetas de sesión y las políticas de sesión insertadas.

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.
  • En el caso de las etiquetas de sesión para fines distintos del ABAC, como auditar información, sustituya los registros de las etiquetas de sesión por referencias a un sistema de registro externo.
  • Utilice mayúsculas o minúsculas de forma coherente 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 o minúsculas de forma coherente.
  • Si incluye información de identidad en las etiquetas de sesión, se recomienda moverla a SourceIdentity, que tiene una cuota independiente.

Políticas de sesión insertadas

  • Elimine los elementos de ID de declaración (Sid) de las políticas de sesión. El Sid es un elemento opcional de las declaraciones de políticas de sesión.
  • Utilice caracteres comodín para acortar las acciones de IAM y los ARN de los recursos, cuando corresponda.
  • Transmita los ARN de políticas administradas en lugar de un documento de política. El ARN de una política administrada es solo una referencia a una política y ocupa menos espacio dentro del token. Puede transmitir tanto políticas administradas como una política de sesión.
  • Para crear políticas que solo concedan acceso de forma condicional, utilice etiquetas de sesión con políticas administradas o políticas insertadas que estén asociadas al rol.
OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año