AWS IAM 다중 인증(MFA)

AWS IAM 다중 인증(MFA)

보안을 강화하려면 AWS 리소스를 보호할 수 있도록 다중 인증(MFA, Multi-Factor Authentication)을 구성하는 것을 권장해요. MFA는 AWS 계정 루트 사용자뿐 아니라 IAM 사용자에 대해서도 활성화할 수 있는데, 독립 계정, 관리 계정, 멤버 계정 등 모든 유형의 AWS 계정 루트 사용자에 적용할 수 있어요. 가능하면 패스키(passkey), 보안 키(security key)처럼 피싱에 강한 MFA를 사용하는 게 좋아요. 이런 FIDO 기반 인증기는 공개 키 암호화를 사용해서 피싱, 중간자 공격, 재전송 공격에 강하고, TOTP 기반 방식보다 훨씬 강력한 보안 수준을 제공해요.

출처: 문서

본문

MFA는 모든 유형의 계정에서 루트 사용자에게 강제로 적용돼요. 자세한 내용은 AWS Organizations 계정 루트 사용자 자격 증명 보호 문서를 확인해 주세요.

루트 사용자에 MFA를 활성화하면 루트 사용자 자격 증명에만 영향이 미쳐요. 계정 안의 IAM 사용자는 각자의 자격 증명을 가진 별개의 주체(identity)이고, 각 주체는 자신만의 MFA 구성을 가져요. 루트 사용자 보호에 MFA를 활용하는 방법은 AWS 계정 루트 사용자를 위한 다중 인증 문서를 참고하세요.

AWS 계정 루트 사용자와 IAM 사용자는 어떤 유형의 MFA 기기든 최대 8개까지 등록할 수 있어요. MFA 기기를 여러 개 등록해 두면 유연성이 커지고, 기기를 잃어버리거나 고장 나도 액세스가 중단될 위험을 줄일 수 있어요. AWS Management Console에 로그인하거나 AWS CLI로 세션을 만들 때는 MFA 기기 하나만 있으면 충분해요.

참고 사람 사용자(인간 사용자)에게 AWS에 접근할 때 임시 자격 증명을 사용하도록 요구하는 것을 권장해요. AWS IAM Identity Center를 고려해 보셨나요? IAM Identity Center를 사용하면 여러 AWS 계정에 대한 액세스를 중앙에서 관리하고, 사용자에게 MFA로 보호되는 단일 로그인(SSO) 액세스를 한곳에서 제공할 수 있어요. IAM Identity Center에서 사용자 자격 증명을 만들고 관리하거나 기존 SAML 2.0 호환 ID 공급자(IDP)와 쉽게 연결할 수도 있어요. 자세한 내용은 IAM Identity Center란 무엇인가요? 문서를 AWS IAM Identity Center 사용자 가이드에서 확인해 주세요.

MFA는 사용자가 AWS 웹사이트나 서비스에 접근할 때 로그인 자격 증명에 더해 AWS가 지원하는 MFA 메커니즘의 고유 인증을 추가로 제공하도록 요구하면서 보안을 강화해요.

MFA 유형

AWS는 다음 MFA 유형을 지원해요.

  • 패스키 및 보안 키(Passkeys and security keys)
  • 가상 인증기 앱(Virtual authenticator applications)
  • 하드웨어 TOTP 토큰(Hardware TOTP tokens)

패스키 및 보안 키

AWS Identity and Access Management는 MFA를 위해 패스키와 보안 키를 지원해요. FIDO 표준을 기반으로 하는 패스키는 공개 키 암호화를 사용해 강력하고 피싱에 강한 인증을 제공하며, 비밀번호보다 훨씬 안전해요. AWS는 두 가지 유형의 패스키를 지원해요: 기기에 고정된 패스키(보안 키)와 동기화된 패스키(synced passkey).

  • 보안 키(Security keys): YubiKey처럼 인증의 두 번째 요소로 사용되는 물리적 기기예요. 보안 키 하나로 여러 루트 사용자 계정과 IAM 사용자를 지원할 수 있어요.
  • 동기화된 패스키(Synced passkeys): Google, Apple, Microsoft 계정이나 1Password, Dashlane, Bitwarden 같은 타사 서비스의 자격 증명 관리자를 두 번째 요소로 사용해요.

Apple MacBook의 Touch ID 같은 내장 생체 인증기를 사용해 자격 증명 관리자를 잠금 해제하고 AWS에 로그인할 수 있어요. 패스키는 선택한 공급자에서 지문, 얼굴, 기기 PIN을 사용해 만들어져요. 또한 기기 간 인증(CDA, Cross-Device Authentication) 패스키를 사용해 모바일 기기나 하드웨어 보안 키 같은 한 기기에서 노트북 같은 다른 기기로 로그인할 수도 있어요. 자세한 내용은 기기 간 인증(CDA) 문서를 참고하세요.

패스키를 여러 기기에 동기화하면 AWS 로그인이 더 편리해지고, 복구 가능성도 높아져요. 패스키와 보안 키 활성화에 대한 자세한 내용은 루트 사용자용 패스키 또는 보안 키 활성화 (콘솔) 문서를 참고하세요.

FIDO Alliance는 FIDO 사양과 호환되는 FIDO 인증 제품 목록을 유지 관리하고 있어요.

가상 인증기 애플리케이션

가상 인증기 앱은 휴대폰이나 다른 기기에서 실행되며 물리적 기기를 에뮬레이션해요. 가상 인증기 앱은 시간 기반 일회용 비밀번호(TOTP) 알고리즘을 구현하고, 하나의 기기에서 여러 토큰을 지원해요. 사용자는 로그인할 때 프롬프트가 뜨면 기기에서 유효한 코드를 입력해야 해요. 사용자에게 할당된 각 토큰은 고유해야 하며, 다른 사용자의 토큰 코드를 입력해서 인증할 수는 없어요.

가장 강력한 보호를 위해 피싱 저항형 MFA인 패스키나 보안 키를 사용하는 것을 권장해요. 아직 패스키나 보안 키를 사용할 수 없다면, 하드웨어 구매 승인을 기다리거나 하드웨어가 도착하기를 기다리는 동안 임시 조치로 가상 MFA 기기를 사용하세요. 가상 MFA 기기로 사용할 수 있는 지원 앱 목록은 다중 인증(MFA) 페이지를 참고하세요.

IAM 사용자용 가상 MFA 기기 설정 방법은 AWS Management Console에서 가상 MFA 기기 할당 문서를 참고하세요.

참고 AWS 콘솔이나 로그인 과정에서 새 가상 MFA 기기를 추가할 때, 계정에 할당되지 않은 가상 MFA 기기는 삭제돼요. 미할당 가상 MFA 기기는 계정에 있지만 루트 사용자나 IAM 사용자가 로그인 과정에서 사용하지 않는 기기를 말해요. 이 기기들은 새 가상 MFA 기기를 계정에 추가할 수 있도록 삭제되며, 기기 이름을 재사용할 수 있게 해줘요.

  • 계정의 미할당 가상 MFA 기기를 보려면 list-virtual-mfa-devices AWS CLI 명령이나 API 호출을 사용해요.
  • 가상 MFA 기기를 비활성화하려면 deactivate-mfa-device AWS CLI 명령이나 API 호출을 사용해요. 기기는 미할당 상태가 돼요.
  • 미할당 가상 MFA 기기를 AWS 계정 루트 사용자나 IAM 사용자에게 연결하려면 기기가 생성한 인증 코드와 함께 enable-mfa-device AWS CLI 명령이나 API 호출이 필요해요.

하드웨어 TOTP 토큰

하드웨어 기기는 시간 기반 일회용 비밀번호(TOTP) 알고리즘을 기반으로 여섯 자리 숫자 코드를 생성해요. 사용자는 로그인할 때 두 번째 웹페이지에서 기기의 유효한 코드를 입력해야 해요.

이 토큰은 AWS 계정에서만 사용돼요. 고유 토큰 시드(seed)를 AWS와 안전하게 공유한 토큰만 사용할 수 있어요. 토큰 시드는 토큰 생산 시점에 생성되는 비밀 키예요. 다른 출처에서 구매한 토큰은 IAM에서 작동하지 않아요. 호환성을 보장하려면 다음 링크 중 하나에서 하드웨어 MFA 기기를 구매해야 해요: OTP 토큰 또는 OTP 표시 카드.

  • 사용자에게 할당된 각 MFA 기기는 고유해야 해요. 사용자는 다른 사용자의 기기 코드를 입력해 인증할 수 없어요. 지원되는 하드웨어 MFA 기기에 대한 정보는 다중 인증(MFA) 페이지를 참고하세요.
  • 물리적 MFA 기기를 사용하고 싶다면, 하드웨어 TOTP 기기 대신 보안 키를 사용하세요. 보안 키는 배터리가 필요 없고, 피싱에 강하며, 기기 하나로 여러 사용자를 지원할 수 있어요.

패스키나 보안 키는 AWS Management Console에서만 활성화할 수 있고, AWS CLI나 AWS API에서는 할 수 없어요. 보안 키를 활성화하려면 먼저 기기에 물리적으로 접근할 수 있어야 해요.

IAM 사용자용 하드웨어 TOTP 토큰 설정 방법은 AWS Management Console에서 하드웨어 TOTP 토큰 할당 문서를 참고하세요.

참고 SMS 문자 메시지 기반 MFA – AWS는 SMS 다중 인증(MFA) 활성화 지원을 종료했어요. IAM 사용자가 SMS 문자 메시지 기반 MFA를 사용하고 있다면 다음 대체 방법 중 하나로 전환하세요: 패스키 또는 보안 키, 가상(소프트웨어 기반) MFA 기기, 하드웨어 MFA 기기. 계정에서 SMS MFA 기기가 할당된 사용자를 확인하려면 IAM 콘솔에서 탐색 창의 사용자(Users) 를 선택하고, 표의 MFA 열에 SMS가 표시된 사용자를 찾아보세요.

MFA 권장 사항

AWS 자격 증명을 안전하게 유지하려면 MFA 인증에 대해 다음 권장 사항을 따라 주세요.

  • 피싱에 강한 MFA인 패스키와 보안 키를 MFA 기기로 사용하세요. 이런 FIDO 기반 인증기는 피싱 같은 공격에 대해 가장 강력한 보호를 제공해요.
  • AWS 계정 루트 사용자와 IAM 사용자에게 여러 MFA 기기를 활성화하세요. 이렇게 하면 AWS 계정의 보안 수준을 높이고, 루트 사용자 같은 고권한 사용자의 액세스 관리를 간소화할 수 있어요.
  • AWS 계정 루트 사용자와 IAM 사용자에는 현재 지원되는 MFA 유형의 어떤 조합이든 최대 8개의 MFA 기기를 등록할 수 있어요. 여러 MFA 기기가 있으면 그 사용자로 AWS Management Console에 로그인하거나 AWS CLI로 세션을 만들 때 MFA 기기 하나만 있으면 돼요. IAM 사용자가 추가 MFA 기기를 활성화하거나 비활성화하려면 먼저 기존 MFA 기기로 인증해야 해요.
  • MFA 기기를 분실, 도난, 또는 사용 불가 상태로 만들면 남아 있는 MFA 기기 중 하나로 AWS 계정 복구 절차를 수행하지 않고도 계정에 접근할 수 있어요. MFA 기기를 분실하거나 도난당했다면 연결된 IAM 주체(principal)에서 분리(disassociate)해야 해요.
  • 여러 MFA를 사용하면 지리적으로 분산된 곳에 있거나 원격으로 일하는 직원이 하드웨어 기기를 직원 간에 물리적으로 주고받지 않고도 하드웨어 기반 MFA로 AWS에 접근할 수 있어요.
  • IAM 주체에 추가 MFA 기기를 사용하면 일상적으로는 하나 이상의 MFA를 사용하면서, 백업과 이중화를 위해 금고나 금고 같은 안전한 물리적 장소에 물리적 MFA 기기를 보관해 둘 수 있어요.

참고

  • 보안 키나 패스키의 MFA 정보를 AWS STS API 작업에 전달해 임시 자격 증명을 요청할 수는 없어요. 보안 키나 패스키를 사용할 때 AWS CLI와 AWS SDK에서 사용할 자격 증명은 aws login 명령을 실행해서 얻을 수 있어요.
  • AWS CLI 명령이나 AWS API 작업으로 FIDO 보안 키를 활성화할 수는 없어요.
  • 두 개 이상의 루트 사용자나 IAM MFA 기기에 같은 이름을 사용할 수 없어요.

추가 리소스

다음 리소스가 MFA에 대해 더 배우는 데 도움이 돼요.

  • AWS에 접근할 때 MFA 사용에 대한 자세한 내용은 MFA 활성화 로그인 문서를 참고하세요.
  • IAM Identity Center를 사용하면 AWS 액세스 포털, IAM Identity Center 통합 앱, AWS CLI에 대한 안전한 MFA 액세스를 활성화할 수 있어요. 자세한 내용은 IAM Identity Center에서 MFA 활성화 문서를 참고하세요.
  • 사용자에게 MFA가 이미 활성화되어 있는지 확인하려면 MFA 상태 확인 문서를 참고하세요.

더 알아보기 (Learn more)