AWS Identity and Access Management의 복원력(Resilience)
AWS Identity and Access Management의 복원력(Resilience)
AWS 글로벌 인프라는 AWS 리전과 가용 영역(Availability Zone)을 중심으로 구축되어 있어요. AWS 리전에는 물리적으로 분리·격리된 여러 가용 영역이 있으며, 이들은 저지연·고처리량·고중복 네트워킹으로 연결됩니다. AWS 리전과 가용 영역에 대한 자세한 내용은 AWS 글로벌 인프라를 참고하세요.
출처: 문서
본문
AWS Identity and Access Management(IAM)와 AWS Security Token Service(AWS STS)는 자립적(self-sustaining)이고 리전 기반이며 전 세계에서 사용 가능한 서비스입니다.
IAM은 AWS의 핵심 서비스예요. AWS에서 수행되는 모든 작업은 IAM이 인증·승인해야 합니다. IAM은 각 요청을 IAM에 저장된 자격 증명과 정책과 대조해 허용·거부 여부를 판단합니다. IAM은 별도의 제어 플레인(control plane) 과 데이터 플레인(data plane) 으로 설계되어, 예상치 못한 장애 상황에서도 서비스 인증이 가능합니다. 권한 부여에 사용되는 역할·정책 같은 IAM 리소스는 제어 플레인에 저장됩니다. IAM 고객은 DeletePolicy·AttachRolePolicy 같은 IAM 작업으로 이 리소스의 구성을 변경할 수 있어요. 이러한 구성 변경 요청은 제어 플레인으로 이동합니다. 모든 상용 AWS 리전에는 US East(N. Virginia) 리전에 위치한 IAM 제어 플레인이 하나 있습니다. 그러면 IAM 시스템이 구성 변경을 활성화된 AWS 리전마다의 IAM 데이터 플레인으로 전파합니다. IAM 데이터 플레인은 기본적으로 IAM 제어 플레인 구성 데이터의 읽기 전용 복제본이에요. 각 AWS 리전에는 완전히 독립적인 IAM 데이터 플레인 인스턴스가 있으며, 같은 리전의 요청에 대해 인증·승인을 수행합니다. 각 리전에서 IAM 데이터 플레인은 최소 3개의 가용 영역에 분산되고, 고객 영향 없이 가용 영역 하나의 손실을 견딜 수 있는 충분한 용량을 갖습니다. IAM 제어·데이터 플레인 모두 모든 소프트웨어 업데이트·확장 작업이 고객에게 보이지 않는 방식으로 수행되는, 계획된 가동 중단(zero planned downtime)으로 설계되었습니다.
기본 활성화된 리전에서는 AWS STS 글로벌 엔드포인트에 대한 요청이 요청이 시작된 같은 리전에서 자동으로 처리됩니다. 옵트인(opt-in) 리전에서는 AWS STS 글로벌 엔드포인트에 대한 요청이 단일 AWS 리전인 US East(N. Virginia)에서 처리됩니다. 리전별 AWS STS 엔드포인트를 사용하면 대기 시간을 줄이거나 애플리케이션에 추가 중복성을 제공할 수 있어요. 자세한 내용은 AWS 리전에서 AWS STS 관리를 참고하세요.
특정 이벤트로 인해 AWS 리전 간 네트워크 통신이 중단될 수 있습니다. 하지만 글로벌 IAM 엔드포인트와 통신할 수 없어도 AWS STS는 IAM 주체를 인증하고 IAM은 요청을 승인할 수 있어요. 통신을 중단시키는 이벤트의 구체적인 세부 사항이 AWS 서비스에 접근할 수 있는 능력을 결정합니다. 대부분의 상황에서는 AWS 환경에서 IAM 자격 증명을 계속 사용할 수 있습니다. 통신을 중단시키는 이벤트에는 다음 조건이 적용될 수 있습니다.
- IAM 사용자의 액세스 키 — 리전에서 IAM 사용자의 장기 액세스 키로 무기한 인증할 수 있어요. AWS Command Line Interface와 API를 사용할 때 AWS 액세스 키를 제공하면 프로그래밍 방식 요청에서 신원을 검증받을 수 있습니다.
- 임시 자격 증명 — AWS STS 리전별 서비스 엔드포인트로 최소 24시간 동안 새 임시 자격 증명을 요청할 수 있어요. 다음 API 작업이 임시 자격 증명을 생성합니다.
AssumeRoleAssumeRoleWithWebIdentityAssumeRoleWithSAMLGetFederationTokenGetSessionToken
- 주체와 권한 — IAM에서 주체나 권한을 추가·수정·제거하지 못할 수 있습니다.
- 최근 IAM에 적용한 권한 변경이 자격 증명에 반영되지 않을 수 있어요. 자세한 내용은 제가 만든 변경이 항상 즉시 표시되지 않습니다를 참고하세요.
- AWS Management Console — 리전별 로그인 엔드포인트를 사용해 IAM 사용자로 AWS Management Console에 로그인할 수 있을 수 있어요. 리전별 로그인 엔드포인트는 다음 URL 형식을 갖습니다.
https://{Account ID}.signin.aws.amazon.com/console?region={Region}- 예:
https://111122223333.signin.aws.amazon.com/console?region=us-west-2 - U2F(Universal 2nd Factor) 다중 인증(MFA)을 완료하지 못할 수 있어요.
IAM 복원력 모범 사례
AWS는 AWS 리전과 가용 영역에 복원력을 구축했습니다. 여러분의 환경과 상호작용하는 시스템에서 다음 IAM 모범 사례를 지키면 그 복원력을 활용할 수 있어요.
- 기본 글로벌 엔드포인트 대신 AWS STS 리전별 서비스 엔드포인트를 사용합니다.
- IAM 리소스를 일상적으로 생성·수정하는 핵심 리소스에 대해 환경 구성을 검토하고, 기존 IAM 리소스를 사용하는 대체(폴백) 솔루션을 준비합니다.