IAM 문제 해결(Troubleshoot IAM)

IAM 문제 해결(Troubleshoot IAM)

여기 있는 정보를 사용해 AWS Identity and Access Management(IAM)로 작업할 때 흔히 겪는 문제를 진단·해결할 수 있어요.

출처: 문서

본문

AWS 계정에 로그인할 수 없어요

올바른 자격 증명이 있고 올바른 방법으로 로그인하고 있는지 확인하세요. 자세한 내용은 AWS Sign-In 사용자 가이드의 로그인 문제 해결을 참고하세요.

액세스 키를 잃어버렸어요

액세스 키는 두 부분으로 구성됩니다.

  • 액세스 키 식별자(access key identifier) — 비밀 값이 아니며, 사용자 요약 페이지처럼 액세스 키가 나열된 IAM 콘솔 어디에서든 확인할 수 있습니다.
  • 시크릿 액세스 키(secret access key) — 액세스 키 쌍을 처음 만들 때 제공됩니다. 암호처럼 나중에 다시 검색할 수 없어요. 시크릿 액세스 키를 잃어버렸다면 새 액세스 키 쌍을 만들어야 합니다. 이미 최대 액세스 키 수에 도달했다면 다른 것을 만들기 전에 기존 쌍을 삭제해야 합니다.

시크릿 액세스 키를 잃어버렸다면 액세스 키를 삭제하고 새로 만들어야 합니다. 자세한 지침은 액세스 키 업데이트를 참고하세요.

정책 변수가 작동하지 않아요

정책 변수가 작동하지 않는다면 다음 오류 중 하나가 발생한 것입니다.

  • Version 정책 요소의 날짜가 잘못되었습니다. 변수를 포함하는 모든 정책에 다음 버전 번호가 포함되어 있는지 확인하세요: "Version": "2012-10-17". 올바른 버전 번호가 없으면 평가 중에 변수가 대체되지 않고 문자 그대로 평가됩니다. 변수를 포함하지 않는 정책도 최신 버전 번호를 포함하면 여전히 작동합니다. Version 정책 요소는 정책 버전과 다릅니다. Version 정책 요소는 정책 안에서 사용되며 정책 언어의 버전을 정의합니다. 정책 버전은 IAM에서 고객 관리형 정책을 수정할 때 생성됩니다. 변경된 정책은 기존 정책을 덮어쓰지 않습니다. 대신 IAM이 관리형 정책의 새 버전을 만듭니다. Version 정책 요소에 대한 자세한 내용은 IAM JSON 정책 요소: Version을, 정책 버전에 대한 자세한 내용은 IAM 정책 버전 관리를 참고하세요.
  • 변수 문자가 잘못된 대소문자입니다. 정책 변수가 올바른 대소문자인지 확인하세요. 자세한 내용은 IAM 정책 요소: 변수와 태그를 참고하세요.

제가 만든 변경이 항상 즉시 표시되지는 않아요

전 세계 데이터센터의 컴퓨터를 통해 접근되는 서비스인 IAM은 최종 일관성(eventual consistency)이라는 분산 컴퓨팅 모델을 사용합니다. IAM(및 다른 AWS 서비스)에서 속성 기반 접근 제어(ABAC) 태그를 포함해 만든 모든 변경은 가능한 모든 엔드포인트에서 표시되는 데 시간이 걸립니다. 서버 간, 복제 영역 간, 리전 간에 데이터를 보내는 데 걸리는 시간 때문에 지연이 발생합니다. IAM은 성능 향상을 위해 캐싱도 사용하는데, 어떤 경우에는 시간이 더 걸릴 수 있습니다. 이전에 캐시된 데이터가 만료될 때까지 변경이 표시되지 않을 수 있어요.

전역 애플리케이션을 설계할 때는 이러한 잠재적 지연을 고려해야 합니다. 한 위치에서 만든 변경이 다른 위치에서 즉시 보이지 않아도 애플리케이션이 예상대로 작동하는지 확인하세요. 여기에는 사용자·그룹·역할·정책의 생성·업데이트 같은 변경이 포함됩니다. 이러한 IAM 변경을 애플리케이션의 중요하고 가용성이 높은 코드 경로에 포함하지 않는 것을 권장합니다. 대신 IAM 변경을 자주 실행하지 않는 별도의 초기화·설정 루틴에서 수행하세요. 또한 프로덕션 워크플로가 의존하기 전에 변경이 전파되었는지 확인하세요.

다른 AWS 서비스가 이에 어떻게 영향을 받는지에 대한 자세한 내용은 다음 리소스를 참고하세요.

iam:DeleteVirtualMFADevice를 수행하도록 인증되지 않았어요

자신이나 다른 사람에게 가상 MFA 디바이스를 할당하거나 제거하려고 할 때 다음 오류를 받을 수 있습니다.

User: arn:aws:iam::123456789012:user/Diego is not authorized to perform: iam:DeleteVirtualMFADevice on resource: arn:aws:iam::123456789012:mfa/Diego with an explicit deny

이는 누군가 이전에 IAM 콘솔에서 사용자에게 가상 MFA 디바이스를 할당하기 시작했다가 과정을 취소했을 때 발생할 수 있어요. 이렇게 하면 IAM에서 사용자용 가상 MFA 디바이스가 생성되지만 사용자에게는 할당되지 않습니다. 같은 디바이스 이름으로 새 가상 MFA 디바이스를 만들기 전에 기존 가상 MFA 디바이스를 삭제하세요.

이 문제를 해결하려면 관리자가 정책 권한을 편집하지 말고, AWS CLI나 AWS API를 사용해 기존의 할당되지 않은 가상 MFA 디바이스를 삭제해야 합니다.

기존의 할당되지 않은 가상 MFA 디바이스 삭제

  1. 계정의 가상 MFA 디바이스를 봅니다.
  2. 응답에서 수정하려는 사용자의 가상 MFA 디바이스 ARN을 찾습니다.
  3. 가상 MFA 디바이스를 삭제합니다.

IAM 사용자를 안전하게 만드는 방법은 무엇인가요?

AWS에 접근해야 하는 직원이 있다면 IAM 사용자를 만들거나 인증에 IAM Identity Center를 사용할 수 있습니다. IAM을 사용한다면 IAM 사용자를 만들고 자격 증명을 직원에게 안전하게 전달할 것을 권장합니다. 직원과 물리적으로 함께 있지 않다면 자격 증명을 전달하는 안전한 워크플로를 사용하세요.

IAM에서 새 사용자를 안전하게 만드는 워크플로는 다음과 같습니다.

  1. AWS Management Console을 사용해 새 사용자를 만들고, 생성된 암호로 AWS Management Console 접근을 부여하도록 선택합니다. 필요하면 Users must create a new password at next sign-in(다음 로그인 시 새 암호 생성 필요) 확인란을 선택합니다. 사용자가 암호를 변경할 때까지 사용자에게 권한 정책을 추가하지 마세요.
  2. 사용자가 추가된 후 새 사용자의 로그인 URL, 사용자 이름, 암호를 복사합니다. 암호를 보려면 Show(표시) 를 선택합니다.
  3. 회사의 안전한 통신 수단(이메일, 채팅, 티켓 시스템 등)으로 직원에게 암호를 보냅니다. 별도로 사용자에게 IAM 사용자 콘솔 링크와 사용자 이름을 제공합니다. 권한을 부여하기 전에 사용자가 성공적으로 로그인할 수 있는지 확인하라고 알려주세요.
  4. 직원이 확인하면 필요한 권한을 추가합니다. 보안 모범 사례로서 사용자가 자격 증명을 관리하려면 MFA로 인증하도록 요구하는 정책을 추가합니다. 예시 정책은 AWS: MFA 인증 IAM 사용자가 보안 자격 증명 페이지에서 자신의 자격 증명을 관리하도록 허용을 참고하세요.

추가 리소스

다음 리소스는 AWS로 작업하면서 문제를 해결하는 데 도움이 됩니다.

더 알아보기 (Learn more)