IAM 및 AWS STS 할당량

IAM 및 AWS STS 할당량

IAM과 AWS STS는 객체의 크기를 제한하는 할당량(quota)이 있어요. 객체 이름을 짓는 방식, 만들 수 있는 객체 수, 객체를 넘길 때 쓸 수 있는 문자 수까지 영향을 줘요. 계정의 IAM 사용량과 할당량을 미리 확인하고 싶다면 이 페이지가 좋은 출발점이에요.

출처: 문서

본문

AWS Identity and Access Management(IAM)와 AWS Security Token Service(AWS STS)에는 객체의 크기를 제한하는 할당량이 있어요. 이는 객체 이름을 짓는 방식, 만들 수 있는 객체 수, 객체를 넘길 때 사용할 수 있는 문자 수에 영향을 줘요.

Note — 계정 수준의 IAM 사용량과 할당량 정보를 얻으려면 GetAccountSummary API 동작이나 get-account-summary AWS CLI 명령을 사용하세요.

IAM 이름 요구 사항

IAM 이름에는 다음과 같은 요구 사항과 제한이 있어요.

  • 정책 문서에는 다음 유니코드 문자만 포함할 수 있어요: 가로 탭(U+0009), 줄 바꿈(U+000A), 캐리지 리턴(U+000D), U+0020~U+00FF 범위의 문자.
  • 사용자, 그룹, 역할, 정책, 인스턴스 프로필, 서버 인증서, 경로의 이름은 영숫자여야 하며 다음 일반 문자를 포함할 수 있어요: 더하기(+), 등호(=), 쉼표(,), 마침표(.), 골뱅이(@), 밑줄(_), 하이픈(-). 경로 이름은 앞뒤가 슬래시(/)로 시작하고 끝나야 해요.
  • 사용자, 그룹, 역할, 인스턴스 프로필의 이름은 계정 안에서 고유해야 해요. 대소문자를 구분하지 않아서, 예를 들어 ADMINS와 admins라는 이름의 그룹을 둘 다 만들 수는 없어요.
  • 제3자가 역할을 수임할 때 사용하는 외부 ID 값은 최소 2자, 최대 1,224자여야 해요. 값은 공백 없는 영숫자여야 하고 다음 기호도 포함할 수 있어요: 더하기(+), 등호(=), 쉼표(,), 마침표(.), 골뱅이(@), 콜론(:), 슬래시(/), 하이픈(-). 외부 ID에 대한 자세한 내용은 타사가 소유한 AWS 계정 접근을 참고하세요.
  • 인라인 정책의 정책 이름은 임베딩된 사용자, 그룹, 역할 안에서 고유해야 해요. 이름에는 다음 예약 문자를 제외한 모든 기본 라틴(ASCII) 문자를 포함할 수 있어요: 백슬래시(\), 슬래시(/), 별표(*), 물음표(?), 공백. 이 문자들은 RFC 3986 섹션 2.2에 따라 예약되어 있어요.
  • 사용자 암호(로그인 프로필)에는 모든 기본 라틴(ASCII) 문자를 포함할 수 있어요.
  • AWS 계정 ID 별칭은 AWS 제품 전체에서 고유해야 하고, DNS 명명 규칙을 따르는 영숫자여야 해요. 별칭은 소문자여야 하고, 하이픈으로 시작하거나 끝나면 안 되며, 하이픈이 연속으로 두 번 오면 안 되고, 12자리 숫자여도 안 돼요.

기본 라틴(ASCII) 문자 목록은 Library of Congress의 기본 라틴(ASCII) 코드 표를 참고하세요.

IAM 객체 할당량

할당량은 AWS에서 limit이라고도 부르며, AWS 계정의 리소스·동작·항목의 최댓값이에요. IAM 할당량을 관리하려면 Service Quotas를 사용하세요.

IAM 서비스 엔드포인트와 서비스 할당량 목록은 AWS 일반 참조의 AWS Identity and Access Management 엔드포인트 및 할당량을 참고하세요.

할당량 증가 요청

  1. AWS Sign-In 사용자 가이드의 AWS에 로그인하는 방법에 설명된 대로 사용자 유형에 맞는 로그인 절차를 따라 AWS Management Console에 로그인해요.
  2. Service Quotas 콘솔을 열어요.
  3. 내비게이션 창에서 AWS services를 선택해요.
  4. 내비게이션 바에서 US East (N. Virginia) 리전을 선택하고 IAM을 검색해요.
  5. **AWS Identity and Access Management (IAM)**를 선택하고, 할당량을 선택한 뒤 지시에 따라 할당량 증가를 요청해요.

자세한 내용은 Service Quotas 사용자 가이드의 할당량 증가 요청을 참고하세요.

Service Quotas 콘솔로 IAM 할당량 증가를 요청하는 예시를 보려면 다음 동영상을 확인하세요. 조정 가능한 IAM 할당량의 기본 할당량 증가를 요청할 수 있고, 최대 할당량까지의 요청은 자동으로 승인되어 몇 분 안에 완료돼요.

다음 표는 할당량 증가가 자동 승인될 수 있는 리소스 목록이에요.

리소스 기본 할당량 최대 할당량
계정당 고객 관리형 정책 1500 10000
계정당 그룹 300 500
계정당 인스턴스 프로필 1000 10000
역할당 관리형 정책 20 25
사용자당 관리형 정책 10 20
그룹당 관리형 정책 10 10
역할 신뢰 정책 길이 2048자 8192자
계정당 역할 1000 10000
계정당 서버 인증서 20 20
계정당 OpenID Connect 공급자 100 700

IAM Access Analyzer 할당량

IAM Access Analyzer 서비스 엔드포인트와 서비스 할당량 목록은 AWS 일반 참조의 IAM Access Analyzer 엔드포인트 및 할당량을 참고하세요.

IAM Roles Anywhere 할당량

IAM Roles Anywhere 서비스 엔드포인트와 서비스 할당량 목록은 AWS 일반 참조의 AWS Identity and Access Management Roles Anywhere 엔드포인트 및 할당량을 참고하세요.

STS 요청 할당량

AWS Security Token Service(AWS STS)는 다음과 같은 요청 할당량을 적용해요.

AWS 자격 증명으로 보낸 AWS STS 요청의 기본 요청 할당량은 계정당·리전당 초당 600회예요. 다음 AWS STS 동작이 이 할당량을 공유해요.

  • AssumeRole
  • DecodeAuthorizationMessage
  • GetAccessKeyInfo
  • GetCallerIdentity
  • GetFederationToken
  • GetSessionToken

Note — AWS 서비스 프린시펄이 보내는 AWS STS 요청(예: AWS 서비스에서 사용할 역할을 수임하는 데 쓰이는 요청)은 계정의 STS 초당 요청 할당량을 소비하지 않아요.

예를 들어 어떤 AWS 계정이 같은 리전에서 초당 100회의 GetCallerIdentity 요청과 초당 100회의 AssumeRole 호출을 만든다면, 그 계정은 해당 리전에서 사용 가능한 600회의 STS 초당 요청 중 200회를 소비하는 거예요.

크로스 계정 AssumeRole 요청의 경우 AssumeRole 요청을 보내는 계정만 STS 할당량에 영향을 줘요. 대상 계정은 할당량이 전혀 소비되지 않아요.

STS 요청 할당량 증가를 요청하려면 AWS 지원에 티켓을 열어 주세요.

Note — AWS STS 글로벌 엔드포인트(https://sts.amazonaws.com)의 예정된 변경과 함께, 글로벌 엔드포인트에 대한 요청은 기본적으로 활성화된 리전의 AWS STS 리전별 엔드포인트와 초당 요청(RPS) 할당량을 공유하지 않게 돼요. AWS STS 글로벌 엔드포인트로의 요청이 단일 리전에서 발생하면 그 글로벌 엔드포인트의 RPS 할당량에 계산돼요. 하지만 여러 리전에서 요청이 오면 각 추가 리전은 독립적인 RPS 할당량을 받아요. AWS STS 글로벌 엔드포인트 변경에 대한 자세한 내용은 AWS STS 글로벌 엔드포인트 변경을 참고하세요.

IAM 및 STS 문자 제한

다음은 IAM과 AWS STS의 최대 문자 수와 크기 제한이에요. 다음 제한에 대해서는 증가를 요청할 수 없어요.

설명 제한
AWS 계정 ID 별칭 3–63자
인라인 정책 IAM 사용자, 역할, 그룹에 인라인 정책은 원하는 만큼 추가할 수 있어요. 하지만 엔티티별 모든 인라인 정책의 총 결합 크기(모든 인라인 정책 크기의 합)는 다음 한도를 초과할 수 없어요. 사용자 정책 크기는 2,048자를, 역할 정책 크기는 10,240자를, 그룹 정책 크기는 5,120자를 초과할 수 없어요. (Note: IAM은 이 한도에 대한 정책 크기 계산에서 공백을 세지 않아요.)
고객 관리형 정책 각 관리형 정책의 크기는 6,144자를 초과할 수 없어요. (Note: IAM은 이 한도에 대한 정책 크기 계산에서 공백을 세지 않아요.)
그룹 이름 128자
인스턴스 프로필 이름 128자
로그인 프로필 암호 1–128자
경로 512자
정책 이름 128자
역할 이름 64자 (중요: AWS Management Console의 Switch Role 기능과 함께 역할을 사용하려면 Path와 RoleName을 합친 값이 64자를 초과할 수 없어요.)
역할 세션 지속 시간 12시간 (AWS CLI나 API에서 역할을 수임할 때 duration-seconds CLI 파라미터나 DurationSeconds API 파라미터로 더 긴 역할 세션을 요청할 수 있어요. 900초(15분)부터 역할의 최대 세션 지속 시간 설정까지 값을 지정할 수 있고, 그 범위는 1–12시간이에요. DurationSeconds 파라미터 값을 지정하지 않으면 보안 자격 증명은 1시간 동안 유효해요. 콘솔에서 역할을 전환하는 IAM 사용자에게는 최대 세션 지속 시간 또는 사용자 세션의 남은 시간 중 더 짧은 쪽이 부여돼요. 최대 세션 지속 시간 설정은 AWS 서비스가 수임한 세션을 제한하지 않아요. 역할의 최댓값을 확인하는 방법은 역할의 최대 세션 지속 시간 업데이트를 참고하세요.)
역할 세션 이름 64자
역할 세션 정책 전달된 JSON 정책 문서와 전달된 모든 관리형 정책 ARN 문자를 합친 크기가 2,048자를 초과할 수 없어요. 세션을 만들 때 관리형 정책 ARN은 최대 10개를 전달할 수 있어요. 역할이나 AWS STS 페더레이션 사용자 프린시펄의 임시 세션을 프로그래밍 방식으로 만들 때 JSON 정책 문서는 하나만 전달할 수 있어요. 또한 세션 정책과 세션 태그는 별도의 제한이 있는 세션 토큰 크기에 더해져요. SessionTokenUtilization 응답 요소가 토큰이 크기 제한을 얼마나 사용하는지 백분율로 보여 줘요. PackedPolicySize 응답 요소는 폐기(deprecated)됐어요. SessionTokenUtilization을 대신 사용하세요. 세션 정책은 AWS CLI나 AWS API로 전달할 것을 권장해요. AWS Management Console은 세션 정보를 추가해서 세션 토큰 크기를 늘릴 수 있어요.
역할 세션 태그 세션 태그는 태그 키 제한인 128자와 태그 값 제한인 256자를 충족해야 해요. 세션 태그는 최대 50개까지 전달할 수 있어요. 세션 정책과 세션 태그는 별도의 제한이 있는 세션 토큰 크기에 더해져요. 세션 태그는 AWS CLI나 AWS API로 전달할 수 있어요. SessionTokenUtilization 응답 요소가 토큰이 크기 제한을 얼마나 사용하는지 백분율로 보여 줘요. PackedPolicySize 응답 요소는 폐기됐어요. SessionTokenUtilization을 대신 사용하세요.
SAML 인증 응답 base64 인코딩 100,000자 (이 문자 제한은 assume-role-with-saml CLI 또는 AssumeRoleWithSAML API 동작에 적용돼요.)
태그 키 128자 (이 문자 제한은 IAM 리소스의 태그와 세션 태그에 적용돼요.)
태그 값 256자 (이 문자 제한은 IAM 리소스의 태그와 세션 태그에 적용돼요. 태그 값은 비어 있을 수 있는데, 즉 태그 값의 길이가 0자가 될 수 있어요.)
IAM이 만든 고유 ID 128자. 예: AIDA로 시작하는 사용자 ID, AGPA로 시작하는 그룹 ID, AROA로 시작하는 역할 ID, ANPA로 시작하는 관리형 정책 ID, ASCA로 시작하는 서버 인증서 ID. (Note: 이것은 완전한 목록이 아니며, 특정 타입의 ID가 지정된 문자 조합으로만 시작한다는 보장도 아니에요.)
사용자 이름 64자

더 알아보기 (Learn more)