IAM 문제 해결
여기에 있는 정보를 사용하면 AWS Identity and Access Management(IAM)를 사용하여 작업할 때 발생하는 일반적인 문제를 진단하고 해결할 수 있습니다.
문제
내 AWS 계정에 로그인할 수 없음
올바른 자격 증명이 있고 올바른 방법을 사용하여 로그인하는지 확인합니다. 자세한 내용을 알아보려면 AWS 로그인 사용 설명서의 로그인 문제 해결을 참조하세요.
액세스 키를 분실했습니다
액세스 키는 다음 두 부분으로 구성됩니다.
-
액세스 키 식별자. 이 식별자는 비밀이 아니며 사용자 요약 페이지 등 IAM 콘솔에서 액세스 키가 나열되어 있는 곳 어디서나 확인할 수 있습니다.
-
보안 액세스 키. 액세스 키 페어를 처음 만들 때 제공됩니다. 암호와 마찬가지로 나중에 검색할 수 없습니다. 하지만 보안 액세스 키를 분실한 경우에는 새로운 액세스 키 페어를 생성해야 합니다. 이미 액세스 키의 최대 수를 가진 경우에는 기존 페어를 삭제해야만 다른 페어를 생성할 수 있습니다.
보안 액세스 키를 분실한 경우 액세스 키를 삭제하고 새 키를 생성해야 합니다. 자세한 지침은 액세스 키 업데이트 섹션을 참조하세요.
정책 변수가 작동하지 않습니다
정책 변수가 작동하지 않는 경우 다음 오류 중 하나가 발생한 것입니다.
- Version 정책 요소의 날짜가 잘못되었습니다.
-
변수가 포함된 모든 정책에 버전 번호
"Version": "2012-10-17"
이 있는지 확인하세요. 올바른 버전 번호가 없으면 평가 도중에 변수가 대체되지 않습니다. 대신 변수는 문자 그대로 평가됩니다. 최신 버전 번호를 포함할 때 변수를 포함하지 않은 정책이 계속 작동합니다.Version
정책 요소는 정책 버전과 다릅니다.Version
정책 요소는 정책 내에서 사용되며 정책 언어의 버전을 정의합니다. 정책 버전은 IAM에서 고객 관리형 정책을 수정할 때 생성됩니다. 변경된 정책은 기존 정책을 덮어쓰지 않습니다. 대신 IAM에서 관리형 정책의 새 버전을 생성합니다.Version
정책 요소에 대한 자세한 정보는 IAM JSON 정책 요소: Version을 참조하세요. 정책 버전에 대한 자세한 정보는 IAM 정책 버전 관리 섹션을 참조하세요. - 변수 문자의 대/소문자가 잘못되었습니다.
-
정책 변수가 올바른지 확인합니다. 자세한 내용은 IAM 정책 요소: 변수 및 태그 섹션을 참조하세요.
변경 사항이 매번 즉시 표시되는 것은 아닙니다
사용자들이 전세계 데이터 센터의 컴퓨터들을 통해 액세스하는 서비스인 IAM은 최종 일관성
이러한 잠재적 지연을 고려하도록 전역 애플리케이션을 설계해야 합니다. 한 위치에서 변경한 내용이 다른 위치에서 즉시 보이지 않을 때조차도 예상대로 작동하는지 확인합니다. 그러한 변경 사항에는 사용자, 그룹, 역할 또는 정책을 만들거나 업데이트한 것이 포함됩니다. 이러한 IAM 변경 사항을 애플리케이션의 중요한 고가용성 코드 경로에 포함시키지 않는 것이 좋습니다. 대신 자주 실행하지 않는 별도의 초기화 루틴이나 설정 루틴에서 IAM을 변경하세요. 또한 프로덕션 워크플로우에서 변경 사항을 적용하기 전에 변경 사항이 전파되었는지 확인하세요.
이로 인해 일부 다른 AWS 서비스가 받게 되는 영향에 대한 자세한 정보는 다음 자료를 참조하세요.
-
Amazon DynamoDB: DynamoDB 개발자 안내서의 읽기 일관성, Amazon DynamoDB 개발자 안내서의 읽기 일관성.
-
Amazon EC2: Amazon EC2 API 참조의 Amazon EC2 최종 일관성
-
Amazon EMR: AWS 빅 데이터 블로그의 Ensuring Consistency When Using Amazon S3 and Amazon EMR for ETL Workflows
. -
Amazon Redshift: Amazon Redshift 데이터베이스 개발자 안내서의 데이터 일관성 관리
-
Amazon S3: Amazon Simple Storage Service 사용 설명서의 Amazon S3 데이터 일관성 모델
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 디바이스를 삭제하려면
-
계정에서 가상 MFA 디바이스를 확인합니다.
-
AWS CLI:
aws iam list-virtual-mfa-devices
-
AWS API:
ListVirtualMFADevices
-
-
응답에서 수정하려는 사용자의 가상 MFA 디바이스 ARN을 찾습니다.
-
가상 MFA 디바이스를 삭제합니다.
-
AWS CLI:
aws iam delete-virtual-mfa-device
-
AWS API:
DeleteVirtualMFADevice
-
IAM 사용자를 안전하게 생성하려면 어떻게 해야 하나요?
AWS에 액세스해야 하는 직원이 있는 경우 IAM 사용자를 생성하거나 IAM Identity Center를 사용하여 인증하도록 선택할 수 있습니다. IAM을 사용하는 경우 AWS에서는 IAM 사용자를 생성하고 해당 직원에게 자격 증명을 안전하게 전달할 것을 권장합니다. 실제로 직원 옆에 있지 않은 경우 보안 워크플로를 사용하여 직원에게 자격 증명을 전달합니다.
다음 보안 워크플로를 사용하여 IAM에서 새 사용자 생성:
-
AWS Management Console을 사용하여 새 사용자를 생성합니다. 생성된 암호로 AWS Management Console 액세스 권한을 부여하도록 선택합니다. 필요한 경우 다음 로그인 시 사용자가 새 암호를 생성해야 함(Users must create a new password at next sign-in) 확인란을 선택합니다. 사용자가 암호를 변경하기 전까지 사용자에게 권한 정책을 추가하지 마십시오.
-
사용자가 추가되면 새 사용자의 로그인 URL, 사용자 이름 및 암호를 복사합니다. 암호를 보려면 표시(Show)를 선택합니다.
-
이메일, 채팅 또는 티켓 시스템과 같은 회사의 보안 통신 방법을 사용하여 직원에게 암호를 보냅니다. 사용자에게 IAM 사용자 콘솔 링크와 해당하는 사용자 이름을 별도로 제공합니다. 직원에게 권한을 부여하기 전에 성공적으로 로그인할 수 있는지 확인하도록 직원에게 알립니다.
-
직원이 확인하면 필요한 권한을 추가합니다. 보안 모범 사례로 MFA를 사용하여 자격 증명을 관리할 것을 사용자에게 요구하는 정책을 추가합니다. 정책에 대한 예는 AWS: MFA 인증 IAM 사용자가 보안 인증 페이지에서 자신의 보안 인증을 관리할 수 있도록 허용 섹션을 참조하세요.
추가 리소스
다음 리소스는 AWS로 직접 작업할 때 문제 해결에 도움이 될 수 있습니다.
-
AWS CloudTrail 사용 설명서 AWS CloudTrail을 사용하여 AWS에 대한 API 호출 기록을 추적하고 로그 파일에 해당 정보를 저장합니다. 이를 통해 계정의 리소스에 액세스한 사용자와 계정, 호출이 발생한 시기, 요청된 작업 등을 확인할 수 있습니다. 자세한 내용은 AWS CloudTrail을 사용하여 IAM 및 AWS STS API 호출 로깅 단원을 참조하십시오.
-
AWS 지식 센터
– 문제를 해결할 때 도움이 되는 FAQ와 기타 리소스 링크를 찾을 수 있습니다. -
AWS 지원 센터
– 기술 지원을 받을 수 있습니다. -
AWS 프리미엄 기술 지원 센터
– 프리미엄 기술 지원을 받을 수 있습니다.