AWS STS를 통해 IAM 역할을 위임할 때 PackedPolicyTooLarge 오류가 발생하지 않도록 하려면 어떻게 해야 하나요?

3분 분량
0

PackedPolicyTooLarge 오류 발생 없이 AWS Security Token Service(STS)를 통해 AWS Identity and Access Management(IAM) 역할을 위임하고 싶습니다.

간단한 설명

STS를 ](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) 통해 IAM 역할을 위임하면[사용자는 다음 세부 정보 중 하나가 포함된 ** PackedPolicyToolarge** 오류 메시지를 받을 수 있습니다:

  • 세션 태그의 패킹된 크기는 할당된 공간의 n%를 차지합니다.
  • Packed policy(패키지 정책)는 할당된 공간의 n%를 차지하므로 더 작은 정책을 사용하세요.
    참고: ** n은PackedPolicySize**에서 사용된 공간의 백분율을 나타냅니다.

STS를 사용하면 다음 유형의 세션 태그를 전달할 수 있습니다:

  • 인라인 세션 정책
  • 관리형 정책 Amazon Resource Names(ARNs (Amazon 자원 이름))
  • 사용자가 IAM 역할을 위임하면 고객 관리형 정책 ARN으로 전환됩니다.

STS는 AWS 세션 토큰 내에 태그, 정책 및 ARN과 관련된 데이터를 저장합니다. 이 모든 데이터는 PackedPolicySize제한에 포함됩니다.

**참고:**고객 관리형 정책은 사용자가 위임하려는 IAM 역할과 동일한 AWS 계정에 있어야 합니다.

설정되면, 세션 태그, 인라인 세션 정책 및 관리형 정책 ARN으로 인해 AWS 세션 토큰의 크기가 커집니다. 그러나 사용되는 세션 태그의 수와 세션 정책 할당량에 관계없이 한정된 토큰 크기 제한을 적용합니다. 유한 한계를 초과하면 오류가 발생합니다.

인라인 세션 정책 및 세션 태그는 세션 토큰에서 직렬화되고 압축됩니다. 이로 인해 STS에 AssumeRole을 호출하기 전에PackedPolicySize가 얼마나 사용되는지 확인하기가 어렵습니다.

참고:AssumeRole(위임 역할), ** AssumeRoleWithSAML, 및AssumeRoleWithWebIdentity에 대한 AWS CloudTrail 로그에는PackedPolicySize**가 표시됩니다. 또한 응답의 일부로 AWS API는 요청에 사용된 PackedPolicySize의 백분율을 반환합니다.

해결 방법

사용자가 역할을 위임할 때 STS에 전달하는 인라인 세션 정책 또는 세션 태그(키와 값)의 길이를 줄이세요. 다음 섹션에서는 세션 태그 및 인라인 세션 정책에 대한 데이터를 제한하는 방법을 제공합니다.

세션 태그

  • 세션 태그 키 또는 값을 축약하거나 단축합니다. 세션 태그는 일반적으로 속성 기반 액세스 제어(ABAC)에 사용됩니다. ABAC용 사용자 정책 공간을 효과적으로 사용하려면 의사 결정을 승인하는 데 필요한 정보만 세션 태그에 넣으십시오.
  • 감사 정보와 같은 비 ABAC 용도의 세션 태그의 경우, 세션 태그의 기록 내용을 외부 기록 시스템에 대한 참조로 교체하세요.
  • 모든 태그 키와 값에 일관된 대소문자(예: 소문자)를 사용합니다. AWS 세션 토큰은 압축된 태그 키와 값을 저장하며, 압축 알고리즘은 일관된 대소문자를 사용할 때 가장 잘 작동합니다.
  • 세션 태그 내에 ID 정보를 배치하는 경우 별도의 할당량이 있는 SourceIdentity로 옮기는 것이 가장 좋습니다.

인라인 세션 정책

  • 세션 정책에서 진술문 ID (Sid) 요소를 제거합니다. Sid는 세션 정책 진술문의 선택적 요소입니다.
  • 적절한 경우 와일드카드 문자를 사용하여 IAM 작업과 자원 ARN을 단축하세요.
  • 정책 문서 대신관리형 정책 ARN을 전달합니다. 관리형 정책 ARN은 정책에 대한 참조일 뿐이며 토큰 내에서 공간을 덜 차지합니다. 관리형 정책과 세션 정책을 모두 전달할 수 있습니다.
  • 조건부로만 액세스를 허용하는 정책을 만들려면 관리형 정책이나 역할에 연결된 인라인 정책이 있는 세션 태그를 사용하십시오.
AWS 공식
AWS 공식업데이트됨 일 년 전