일반적인 IAM 문제 해결 - AWS Identity and Access Management

일반적인 IAM 문제 해결

여기에 있는 정보를 사용하면 AWS Identity and Access Management(IAM)를 사용하여 작업할 때 발생하는 일반적인 문제를 진단하고 해결할 수 있습니다.

내 AWS 계정에 로그인할 수 없음

올바른 자격 증명이 있고 올바른 방법을 사용하여 로그인하는지 확인합니다. 자세한 내용을 알아보려면 AWS 로그인 사용 설명서로그인 문제 해결을 참조하세요.

액세스 키를 분실했습니다

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

  • 액세스 키 식별자. 이 식별자는 비밀이 아니며 사용자 요약 페이지 등 IAM 콘솔에서 액세스 키가 나열되어 있는 곳 어디서나 확인할 수 있습니다.

  • 보안 액세스 키. 액세스 키 페어를 처음 만들 때 제공됩니다. 암호와 마찬가지로 나중에 검색할 수 없습니다. 하지만 보안 액세스 키를 분실한 경우에는 새로운 액세스 키 페어를 생성해야 합니다. 이미 액세스 키의 최대 수를 가진 경우에는 기존 페어를 삭제해야만 다른 페어를 생성할 수 있습니다.

자세한 내용은 분실하거나 잊어버린 AWS 암호 또는 액세스 키 재설정 섹션을 참조하세요.

정책 변수가 작동하지 않습니다

  • 변수가 포함된 모든 정책에 버전 번호 "Version": "2012-10-17"이 있는지 확인하세요. 올바른 버전 번호가 없으면 평가 도중에 변수가 대체되지 않습니다. 대신 변수는 문자 그대로 평가됩니다. 최신 버전 번호를 포함시키더라도 변수를 포함하지 않은 정책은 계속 작동합니다.

    Version 정책 요소는 정책 버전과 다릅니다. Version 정책 요소는 정책 내에서 사용되며 정책 언어의 버전을 정의합니다. 반면에 정책 버전은 IAM에서 고객 관리형 정책을 변경할 때 생성됩니다. 변경된 정책은 기존 정책을 덮어쓰지 않습니다. 대신 IAM에서 관리형 정책의 새 버전을 생성합니다. Version 정책 요소에 대한 자세한 정보는 IAM JSON 정책 요소: Version을 참조하세요. 정책 버전에 대한 자세한 정보는 IAM 정책 버전 관리 섹션을 참조하세요.

  • 정책 변수가 올바른지 확인합니다. 자세한 내용은 IAM 정책 요소: 변수 및 태그 섹션을 참조하세요.

변경 사항이 매번 즉시 표시되는 것은 아닙니다

사용자들이 전세계 데이터 센터의 컴퓨터들을 통해 액세스하는 서비스인 IAM은 최종 일관성이라고 하는 분산 컴퓨팅 모델을 사용합니다. 속성 기반 액세스 제어(ABAC)에 사용되는 태그를 포함하여 IAM(또는 기타 AWS 서비스)에서 변경한 사항은 가능한 모든 엔드포인트에서 보게 될 때까지는 시간이 걸립니다. 일부 지연은 서버에서 서버로, 복제 영역에서 복제 영역으로, 전세계의 리전에서 리전으로 데이터를 보내는 데 걸리는 시간으로 인해 발생합니다. 또한 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을 사용하는 경우 AWS에서는 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 사용자가 내 보안 자격 증명(My security credentials) 페이지에서 자신의 보안 인증을 관리할 수 있도록 허용 섹션을 참조하세요.

추가 리소스

다음 리소스는 AWS로 직접 작업할 때 문제 해결에 도움이 될 수 있습니다.