IAM 자습서: 사용자가 자신의 자격 증명 및 MFA 설정을 관리하도록 허용 - AWS Identity and Access Management

IAM 자습서: 사용자가 자신의 자격 증명 및 MFA 설정을 관리하도록 허용

사용자가 보안 인증 페이지에서 자신의 다중 인증(MFA) 디바이스와 보안 인증을 스스로 관리하도록 허가할 수 있습니다. AWS Management Console을 사용해 보안 인증(액세스 키, 암호, 서명 인증서 및 SSH 퍼블릭 키)을 구성하거나 필요하지 않은 보안 인증을 삭제 또는 비활성화하거나 사용자에 대해 MFA 디바이스를 활성화할 수 있습니다. 이 작업은 소수의 사용자에게는 유용하지만 사용자 수가 증가하면 곧 작업에 너무 많은 시간이 소요될 수 있습니다. 이 자습서에서는 관리자에게 부담을 주지 않으면서 이러한 모범 사례를 활성화하는 방법을 보여 줍니다.

이 자습서에서는 사용자가 MFA를 사용하여 로그인하는 경우에만 AWS 서비스에 액세스할 수 있도록 허용하는 방법을 보여 줍니다. MFA 디바이스에 로그인하지 않으면 사용자가 다른 서비스에 액세스할 수 없습니다.

이 워크플로우는 세 가지 기본 단계로 이루어집니다.

1단계: MFA 로그인을 강제할 정책 생성

소량의 IAM 작업을 제외하고 모든 작업을 금지하는 고객 관리형 정책을 생성합니다. 이러한 예외는 사용자가 보안 인증 페이지에서 자신의 보안 인증을 변경하고 MFA 디바이스를 관리할 수 있도록 허용합니다. 해당 페이지에 액세스하는 방법에 대한 자세한 내용은 IAM 사용자가 자신의 암호를 변경하는 방법(콘솔) 단원을 참조하세요.

2단계: 테스트 사용자 그룹에 정책 연결

멤버가 MFA로 로그인한 경우 해당 멤버에게 모든 Amazon EC2 작업의 전체 액세스 권한을 부여한 사용자 그룹을 생성합니다. 이러한 사용자 그룹을 생성하려면 AmazonEC2FullAccess라는 AWS 관리형 정책과 1단계에서 생성한 고객 관리형 정책을 모두 연결합니다.

3단계: 사용자 액세스 테스트

테스트 사용자로 로그인하여 사용자가 MFA 디바이스를 생성할 때까지 Amazon EC2에 대한 액세스가 차단되는지 확인합니다. 그런 다음 사용자는 해당 디바이스를 사용하여 로그인할 수 있습니다.

필수 조건

이 자습서의 단계를 수행하려면 다음이 준비되어 있어야 합니다.

  • 관리 권한을 가진 IAM 사용자로 로그인할 수 있는 AWS 계정.

  • 1단계에서 정책에 입력한 계정 ID 번호.

    계정 ID 번호를 찾으려면 페이지 상단의 탐색 표시줄에서 지원을 선택한 후 지원 센터를 선택합니다. 이 페이지의 지원 메뉴에서 계정 ID를 찾을 수 있습니다.

  • 가상(소프트웨어 기반) MFA 디바이스, FIDO 보안 키 또는 하드웨어 기반 MFA 디바이스.

  • 다음과 같은 사용자 그룹의 멤버인 테스트 IAM 사용자:

사용자 생성 사용자 그룹 계정 생성 및 구성
사용자 이름 기타 지침 사용자 그룹 이름 사용자를 멤버로 추가 기타 지침
MFAUser 콘솔 액세스 활성화 – 선택사항 옵션만 선택하고 암호를 지정합니다. EC2MFA MFAUser 이 사용자 그룹에 정책을 연결하거나 권한을 부여하지 마세요.

1단계: MFA 로그인을 강제할 정책 생성

IAM 사용자가 자신의 자격 증명과 MFA 디바이스를 관리하는 데 필요한 권한을 제외한 모든 권한을 거부하는 IAM 고객 관리형 정책을 생성하는 것부터 시작합니다.

  1. 관리자 자격 증명을 가진 사용자로 AWS 관리 콘솔에 로그인합니다. IAM 모범 사례를 준수하려면 AWS 계정 루트 사용자 자격 증명을 사용하여 로그인하지 마세요.

    중요

    IAM 모범 사례는 장기 보안 인증 정보가 있는 IAM 사용자를 사용하는 대신, 인간 사용자가 자격 증명 공급자와의 페더레이션을 사용하여 임시 보안 인증으로 AWS에 액세스하도록 하는 것입니다.

  2. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  3. 탐색 창에서 정책을 선택한 후 정책 생성을 선택합니다.

  4. JSON 탭을 선택하고 다음 JSON 정책 문서에서 텍스트를 복사합니다. AWS: MFA 인증 IAM 사용자가 보안 인증 페이지에서 자신의 보안 인증을 관리할 수 있도록 허용

  5. 이 텍스트를 JSON 텍스트 상자에 붙여넣습니다. 정책 검증 동안 생성된 모든 보안 경고, 오류 또는 일반 경고를 해결하고 다음을 선택합니다.

    참고

    언제든지 시각적 편집기 옵션과 JSON 옵션을 서로 전환할 수 있습니다. 그러나 위의 정책에는 시각적 편집기에서 사용할 수 없는 NotAction 요소가 포함되어 있습니다. 시각적 편집기 탭에 이 정책에 대한 알림 메시지가 표시됩니다. 이 정책으로 작업을 계속하려면 JSON으로 돌아가세요.

    이 정책 예시에서는 사용자가 처음으로 AWS Management Console에 로그인하는 동안 암호 재설정을 허용하지 않습니다. 새 사용자가 로그인하고 암호를 재설정할 때까지 새 사용자에게 권한을 부여하지 않는 것이 좋습니다.

  6. 검토 및 생성 페이지에서 정책 이름에 Force_MFA을 입력합니다. 정책 설명에 This policy allows users to manage their own passwords and MFA devices but nothing else unless they authenticate with MFA.를 입력합니다. 태그 영역에서 원한다면 고객 관리형 정책에 대한 태그 키-값 페어를 추가할 수 있습니다. 정책이 부여한 권한을 검토한 다음 정책 생성을 선택하여 작업을 저장합니다.

    새로운 정책이 관리형 정책 목록에 나타나며 연결 준비가 완료됩니다.

2단계: 테스트 사용자 그룹에 정책 연결

그런 다음 MFA 보호 권한을 부여하는 데 사용할 테스트 IAM 사용자 그룹에 두 개의 정책을 연결합니다.

  1. 탐색 창에서 사용자 그룹(User groups)을 선택합니다.

  2. 검색 상자에 EC2MFA를 입력한 다음 목록에서 그룹 이름(확인란 아님)을 선택합니다.

  3. 권한 탭을 선택하고 권한 추가, 정책 연결을 차례로 선택합니다.

  4. EC2MFA 그룹에 권한 정책 연결(Attach permission policies to EC2MFA group) 페이지의 검색 상자에 EC2Full을 입력합니다. 그런 다음 목록에서 AmazonEC2FullAccess 옆의 확인란을 선택합니다. 변경 내용을 저장하지 마세요.

  5. 검색 상자에 Force를 입력한 다음, 목록에서 Force_MFA 옆에 있는 확인란을 선택합니다.

  6. 정책 연결을 선택합니다.

3단계: 사용자 액세스 테스트

자습서의 이 부분에서는 테스트 사용자로 로그인하여 정책이 의도한 대로 작동하는지 검증합니다.

  1. 이전 섹션에서 할당한 암호를 사용해 MFAUser로 AWS 계정에 로그인합니다. URL은 https://<alias or account ID number>.signin.aws.amazon.com/console을 사용합니다.

  2. EC2를 선택해 Amazon EC2 콘솔을 열고 사용자에게 어떤 권한도 없는지 확인합니다.

  3. 오른쪽 상단의 탐색 모음에서 MFAUser 사용자 이름을 선택한 다음 Security credentials(보안 자격 증명)를 선택합니다.

    
            AWS Management Console 보안 자격 증명 링크
  4. 이제 MFA 디바이스를 추가합니다. Multi-Factor Authentication (MFA) 섹션에서 MFA 디바이스 할당을 선택합니다.

    참고

    iam:DeleteVirtualMFADevice 수행 권한이 없다는 오류가 표시될 수 있습니다. 이는 이전에 다른 누군가가 가상 MFA 디바이스를 사용자에게 할당하기 시작했다가 프로세스를 취소한 경우 발생할 수 있습니다. 계속 진행하려면 사용자 또는 다른 관리자가 사용자의 기존 할당되지 않은 가상 MFA 디바이스를 삭제해야 합니다. 자세한 내용은 iam:DeleteVirtualMFADevice를 수행할 권한이 없음 단원을 참조하세요.

  5. 이 자습서의 경우 휴대폰의 Google Authenticator 앱과 같은 가상(소프트웨어 기반) MFA 디바이스를 사용합니다. Authenticator app(인증 앱)을 선택하고 Next(다음)를 클릭합니다.

    IAM은 QR 코드 그래픽을 포함하여 가상 MFA 디바이스의 구성 정보를 생성 및 표시합니다. 그래픽은 QR 코드를 지원하지 않는 디바이스 상에서 수동 입력할 수 있는 보안 구성 키를 표시한 것입니다.

  6. 가상 MFA 앱을 엽니다. (가상 MFA 디바이스의 호스팅에 사용되는 앱 목록은 가상 MFA 애플리케이션을 참조하십시오) 가상 MFA 앱이 다수의 계정(다수의 가상 MFA 디바이스)을 지원하는 경우 옵션을 선택하여 새로운 계정(새로운 가상 MFA 디바이스)을 생성합니다.

  7. MFA 앱의 QR 코드 지원 여부를 결정한 후 다음 중 한 가지를 실행합니다.

    • 마법사에서 Show QR code(QR 코드 표시)를 선택합니다. 그런 다음 앱을 사용하여 QR 코드를 스캔합니다. 예를 들어 카메라 모양의 아이콘을 선택하거나 코드 스캔(Scan code)과 비슷한 옵션을 선택한 다음, 디바이스의 카메라를 사용하여 코드를 스캔합니다.

    • Set up device(디바이스 설정) 마법사에서 Show secret key(보안 키 표시)를 선택한 다음 MFA 앱에 보안 키를 입력합니다.

    모든 작업을 마치면 가상 MFA 디바이스가 일회용 암호 생성을 시작합니다.

  8. Set up device(디바이스 설정) 마법사의 Enter the code from your authenticator app.(Authenticator 앱에서 코드 입력) 상자에 현재 가상 MFA 디바이스에 표시된 일회용 암호를 입력합니다. Register MFA(Register MFA)를 선택합니다.

    중요

    코드를 생성한 후 즉시 요청을 제출하세요. 코드를 생성하고 너무 오래 시간이 지난 후 요청을 제출하면 MFA 디바이스가 사용자와 연결은 되지만 MFA 디바이스가 동기화되지 않습니다. 이는 시간 기반 일회용 암호(TOTP)가 잠시 후에 만료되기 때문입니다. 이 경우, 디바이스를 재동기화할 수 있습니다.

    이제 AWS에서 가상 MFA 디바이스를 사용할 준비를 마쳤습니다.

  9. 콘솔에서 로그아웃한 다음, MFAUser로 다시 로그인합니다. 이번에는 AWS가 휴대전화로 받은 MFA 코드를 입력하도록 요청합니다. 코드를 받아 상자에 입력한 후 전송을 선택합니다.

  10. EC2를 선택하여 Amazon EC2 콘솔을 다시 엽니다. 이번에는 모든 정보를 볼 수 있으며 원하는 작업은 모두 수행할 수 있습니다. 이 사용자로 다른 콘솔로 이동하면 액세스 거부 메시지가 표시됩니다. 그 이유는 이 튜토리얼의 정책에서 Amazon EC2에 대해서만 액세스 권한을 부여하기 때문입니다.

추가 정보는 다음 주제를 참조하세요.