IAM 및 Amazon EC2 문제 해결 - AWS Identity and Access Management

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

IAM 및 Amazon EC2 문제 해결

이 문서의 정보를 사용하여 Amazon EC2 및 IAM 작업 시 발생할 수 있는 액세스 거부 또는 기타 문제를 해결할 수 있습니다.

인스턴스를 시작하려고 할 때 에서 보려고 하는 역할이 보이지 않습니다. Amazon EC2 콘솔 IAM 역할 목록

다음을 확인하십시오.

  • IAM 사용자로 로그인한 경우, 통화 권한이 있는지 확인하십시오. ListInstanceProfiles. 역할을 사용하는 데 필요한 권한에 대한 자세한 내용은 Amazon EC2"인치 사용 방법 IAM 역할을 사용하여 에서 실행 중인 응용 프로그램에 대한 권한을 부여합니다. Amazon EC2 인스턴스. 사용자에게 권한을 추가하는 방법에 대한 자세한 내용은 IAM 정책 관리 단원을 참조하십시오.

    권한을 수정할 수 없는 경우, IAM을 사용할 수 있는 관리자에게 문의하여 권한을 업데이트해야 합니다.

  • IAM CLI 또는 API를 사용하여 역할을 만든 경우, 인스턴스 프로파일을 만들고 이 인스턴스 프로파일에 해당 역할을 추가했는지 확인하십시오. 또한 역할과 인스턴스 프로필의 이름을 다르게 설정한 경우, Amazon EC2 콘솔의 IAM 역할 목록에서 올바른 역할 이름을 볼 수 없습니다. Amazon EC2 콘솔의 IAM 역할 목록에는 역할 이름이 아니라 인스턴스 프로필 이름이 나열되어 있습니다. 원하는 역할을 포함한 인스턴스 프로필 이름을 선택해야 합니다. 인스턴스 프로파일에 대한 자세한 내용은 인스턴스 프로파일 사용을 참조하십시오.

    참고

    IAM 콘솔을 사용하여 역할을 만드는 경우, 인스턴스 프로파일을 사용하지 않아도 됩니다. 인스턴스 프로파일은 IAM 콘솔에서 만드는 각 역할과 동일한 이름으로 생성되며, 역할은 해당 인스턴스 프로파일에 자동으로 추가됩니다. 하나의 인스턴스 프로파일은 하나의 IAM 역할만 포함할 수 있으며 이 제한은 늘릴 수 없습니다.

제 인스턴스에 있는 자격 증명의 역할이 잘못되었습니다.

인스턴스 프로파일의 역할이 최근에 교체되었을 수 있습니다. 그러한 경우 다음에 예정된 자동 자격 증명 교체 이후에 역할의 자격 증명을 사용할 수 있습니다.

AddRoleToInstanceProfile을 호출하려고 하면 AccessDenied 오류가 발생합니다.

IAM 사용자로 요청을 하는 경우, 다음과 같은 권한이 있는지 확인하십시오.

  • 인스턴스 프로파일 ARN과 일치하는 리소스가 포함된 iam:AddRoleToInstanceProfile(예: arn:aws:iam::999999999999:instance-profile/ExampleInstanceProfile).

역할을 사용하는 데 필요한 권한에 대한 자세한 내용은 "시작 방법"을 참조하십시오. 에서 사용 방법 IAM 역할을 사용하여 에서 실행 중인 응용 프로그램에 대한 권한을 부여합니다. Amazon EC2 인스턴스. 사용자에게 권한을 추가하는 방법에 대한 자세한 내용은 IAM 정책 관리 단원을 참조하십시오.

Amazon EC2: 역할로 인스턴스를 시작하려고 하면 AccessDenied 오류가 발생합니다.

다음을 확인하십시오.

  • 인스턴스 프로필 없이 인스턴스를 시작합니다. 이를 통해 문제가 Amazon EC2 인스턴스의 IAM 역할로 제한되어 있는지 확인할 수 있습니다.

  • IAM 사용자로 요청을 하는 경우, 다음과 같은 권한이 있는지 확인하십시오.

    • 와일드카드 리소스("*")가 포함된 ec2:RunInstances

    • 역할 ARN과 일치하는 리소스가 포함된 iam:PassRole(예: arn:aws:iam::999999999999:role/ExampleRoleName)

  • IAM GetInstanceProfile 작업을 호출하여 올바른 인스턴스 프로필 이름 또는 올바른 인스턴스 프로필 ARN을 사용 중인지 확인하십시오. 자세한 내용은 Amazon EC2 인스턴스로 IAM 역할 사용 단원을 참조하십시오.

  • IAM GetInstanceProfile 작업을 호출하여 인스턴스 프로필에 역할이 있는지 확인하십시오. 인스턴스 프로파일이 비어 있으면 AccessDenied 오류가 발생합니다. 역할 만들기에 대한 자세한 내용은 만들기 IAM 역할 단원을 참조하십시오.

역할을 사용하는 데 필요한 권한에 대한 자세한 내용은 "시작 방법"을 참조하십시오. 에서 사용 방법 IAM 역할을 사용하여 에서 실행 중인 응용 프로그램에 대한 권한을 부여합니다. Amazon EC2 인스턴스. 사용자에게 권한을 추가하는 방법에 대한 자세한 내용은 IAM 정책 관리 단원을 참조하십시오.

제 EC2 인스턴스의 임시 보안 자격 증명에 액세스할 수 없습니다.

EC2 인스턴스에서 임시 보안 자격 증명에 액세스하려면 먼저 IAM 콘솔을 사용하여 역할을 생성해야 합니다. 그런 다음 해당 역할을 사용하는 EC2 인스턴스를 시작하고 실행 중인 인스턴스를 검사합니다. 자세한 내용은 사용 방법 IAM 역할을 사용하여 에서 실행 중인 응용 프로그램에 대한 권한을 부여합니다. Amazon EC2 인스턴스어떻게 시작합니까?를 참조하십시오.

그래도 EC2 인스턴스에서 임시 보안 자격 증명에 액세스할 수 없는 경우 다음을 확인하십시오.

  • Instance Metadata Service(IMDS)의 다른 부분에는 액세스할 수 있습니까? 액세스할 수 없는 경우 IMDS로의 요청에 대한 액세스를 차단하는 방화벽 규칙이 없는지 확인하십시오.

    [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/hostname; echo
  • IMDS의 iam 하위 트리가 있습니까? 그렇지 않은 경우 EC2 DescribeInstances API 작업을 호출하거나 aws ec2 describe-instances CLI 명령을 사용하여 인스턴스에 IAM 인스턴스 프로필이 연결되어 있는지 확인합니다.

    [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/iam; echo
  • 오류가 있는지 IAM 하위 트리의 info 문서를 확인하십시오. 오류가 있는 경우 자세한 내용은 info 하위 트리에서 IAM 문서의 오류란 무엇인가요? 단원을 참조하십시오.

    [ec2-user@domU-12-31-39-0A-8D-DE ~]$ GET http://169.254.169.254/latest/meta-data/iam/info; echo

info 하위 트리에서 IAM 문서의 오류란 무엇인가요?

iam/info 문서 표시 "Code":"InstanceProfileNotFound"

IAM 인스턴스 프로필이 삭제되었으므로 Amazon EC2에서 더 이상 인스턴스에 자격 증명을 제공할 수 없습니다. Amazon EC2 인스턴스에 올바른 인스턴스 프로파일을 연결해야 합니다.

해당 이름의 인스턴스 프로파일이 있는 경우, 원래 인스턴스 프로파일이 삭제되고 동일한 이름의 다른 인스턴스가 생성된 것이 아닌지 확인하십시오.

  1. IAM GetInstanceProfile 작업을 호출하여 InstanceProfileId를 가져옵니다.

  2. Amazon EC2 DescribeInstances 작업을 호출하여 인스턴스의 IamInstanceProfileId를 가져옵니다.

  3. IAM 작업의 InstanceProfileId와 Amazon EC2 작업의 IamInstanceProfileId가 일치하는지 확인합니다.

ID가 다르면 인스턴스에 연결된 인스턴스 프로파일이 더 이상 유효하지 않습니다. 인스턴스에 올바른 인스턴스 프로파일을 연결해야 합니다.

iam/info 문서는 성공을 나타내지만 "Message":"Instance Profile does not contain a role..."을 나타냅니다.

역할이 IAM RemoveRoleFromInstanceProfile 작업에 의해 인스턴스 프로필에서 제거되었습니다. IAM AddRoleToInstanceProfile 작업을 사용하여 인스턴스 프로필에 역할을 연결할 수 있습니다. 역할의 자격 증명에 액세스하려면 다음에 예정된 새로 고침까지 기다려야 합니다.

iam/security-credentials/[role-name] 문서는 "Code":"AssumeRoleUnauthorizedAccess"를 나타냅니다.

Amazon EC2에는 역할을 위임할 권한이 없습니다. 다음 예와 같이 역할을 수임할 권한은 해당 역할에 연결된 신뢰 정책에서 관리합니다. IAM UpdateAssumeRolePolicy API를 사용하여 신뢰 정책을 업데이트합니다.

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Service": ["ec2.amazonaws.com"]},"Action": ["sts:AssumeRole"]}]}

역할의 자격 증명에 액세스하려면 다음에 예정된 자동 새로 고침까지 기다려야 합니다.