Amazon EC2 인스턴스 를 시작하기 위해 "aws ec2 run-instances"명령 ( AWS Command Line Interface (CLI)에서 )을 사용하고 있습니다. 시작 하는 EC2 인스턴스에 대한 IAM 역할 을 설정하고 싶습니다 . IAM 역할이 구성되어 AWS 웹 UI에서 인스턴스를 시작할 때이 역할을 성공적으로 사용할 수 있습니다. 그러나이 명령과 "--iam-instance-profile"옵션을 사용하여이 작업을 수행하려고하면 실패했습니다. "aws ec2 run-instances help"를 수행하면 값에 대한 Arn = 및 Name = 서브 필드가 표시됩니다. "aws iam list-instance-profiles"를 사용하여 Arn을 찾으려고하면 다음 오류 메시지가 나타납니다.
클라이언트 오류 (AccessDenied)가 발생했습니다. 사용자 : arn : aws : sts :: xxxxxxxxxxxx : assumed-role / shell / i-15c2766d는 다음을 수행 할 권한이 없습니다 : 자원의 iam : ListInstanceProfiles : arn : aws : iam :: xxxxxxxxxxxx : instance -윤곽/
(xxxxxxxxxxxx는 AWS 12 자리 계정 번호입니다)
웹 UI를 통해 Arn 문자열을 찾아 run-instances 명령에서 "--iam-instance-profile Arn = arn : aws : iam :: xxxxxxxxxxxx : instance-profile / shell"을 통해 Arn 문자열을 찾아 보았습니다. :
클라이언트 오류 (UnauthorizedOperation)가 발생했습니다.이 작업을 수행 할 권한이 없습니다.
"--iam-instance-profile"옵션을 완전히 해제하면 인스턴스가 시작되지만 필요한 IAM 역할 설정이 없습니다. 따라서 권한은 "--iam-instance-profile"을 사용하거나 IAM 데이터에 액세스하는 것과 관련이있는 것 같습니다. AWS 글리치 (경우에 따라 발생)의 경우 여러 번 반복했지만 성공하지 못했습니다.
IAM 역할을 가진 인스턴스가 더 강력한 IAM 역할을 가진 인스턴스를 시작할 수 없다는 제한이있을 수 있습니다. 그러나이 경우 명령을 수행중인 인스턴스는 사용하려는 IAM 역할과 동일합니다. "쉘"이라는 이름을 붙였습니다 (물론 다른 것을 사용해 보았습니다).
IAM 역할 자격 증명을 통해 인스턴스에서 IAM 역할을 설정할 수 없습니까?
일반 인스턴스를 시작하는 데 필요한 것보다 IAM 역할을 사용하는 데 필요한 높은 IAM 역할 권한이 있습니까?
"--iam-instance-profile"이 IAM 역할을 지정하는 적절한 방법입니까?
Arn 문자열의 하위 집합을 사용하거나 다른 방법으로 포맷해야합니까?
IAM 역할 액세스를 수행 할 수있는 IAM 역할을 설정할 수 있습니까 (이 이름을 구성하는 "Super Root IAM"일 수 있음)?
참고로 모든 것은 인스턴스에서 실행되는 Linux와 관련이 있습니다. 또한 데스크톱에 이러한 도구를 설치할 수 없기 때문에 인스턴스에서이 모든 것을 실행하고 있습니다. 그와 나는 AWS에 의해 권고로 모든 AWS 스토리지 내 IAM 사용자 자격 증명을 넣어 싶지 않아 여기 .
답변 후 :
"PowerUserAccess"( "AdministratorAccess")의 인스턴스 시작 권한에 대해서는 언급하지 않았으므로 질문이있을 때 추가 액세스가 필요하다는 것을 알지 못했습니다. IAM 역할이 시작에 "정보"라고 가정했습니다. 그러나 그것은 실제로 그 이상입니다. 권한 부여입니다.