Korzystam z polecenia „aws ec2 run-instances” (z interfejsu wiersza poleceń AWS (CLI) ), aby uruchomić instancję Amazon EC2 . Chcę ustawić rolę IAM dla instancji EC2, którą uruchamiam. Rola IAM jest skonfigurowana i mogę z powodzeniem jej używać podczas uruchamiania instancji z internetowego interfejsu użytkownika AWS. Ale kiedy próbuję to zrobić za pomocą tego polecenia i opcji „--iam-instance-profile”, to się nie udało. Wykonanie „pomocy dla aws ec2 run-instance” pokazuje pola Arn = i Name = dla wartości. Kiedy próbuję wyszukać Arn przy użyciu „aws iam list-instance-profile”, pojawia się następujący komunikat o błędzie:
Wystąpił błąd klienta (AccessDenied): Użytkownik: arn: aws: sts :: xxxxxxxxxxxx: przejęta rola / shell / i-15c2766d nie jest autoryzowany do wykonywania: iam: ListInstanceProfiles w zasobie: arn: aws: iam :: xxxxxxxxxxxx: instancja -profil/
(gdzie xxxxxxxxxxxx to mój 12-cyfrowy numer konta AWS)
Poszukałem ciągu Arn za pośrednictwem internetowego interfejsu użytkownika i użyłem go poprzez „--iam-instance-profile Arn = arn: aws: iam :: xxxxxxxxxxxx: instance-profile / shell” w poleceniu run-instances, i to nie powiodło się z :
Wystąpił błąd klienta (UnauthorizedOperation): Nie masz uprawnień do wykonania tej operacji.
Jeśli całkowicie zrezygnuję z opcji „--iam-instance-profile”, instancja uruchomi się, ale nie będzie miała potrzebnego ustawienia roli IAM. Wydaje się, że to uprawnienie ma coś wspólnego z używaniem „--iam-instance-profile” lub dostępem do danych IAM. Powtórzyłem kilka razy w przypadku usterki AWS (zdarzają się czasem) i bez powodzenia.
Podejrzewałem, że być może istnieje ograniczenie, że instancja z rolą IAM nie może uruchomić instancji z silniejszą rolą IAM. Ale w tym przypadku instancja, w której wykonuję polecenie, ma tę samą rolę IAM, z której próbuję skorzystać. o nazwie „shell” (chociaż próbowałem też użyć innego, bez powodzenia).
Czy ustawienie roli IAM nie jest nawet dozwolone z poziomu instancji (poprzez poświadczenia roli IAM)?
Czy do korzystania z ról IAM potrzebne jest jakieś wyższe uprawnienie do roli IAM, niż jest to potrzebne do uruchomienia zwykłej instancji?
Czy „--iam-instance-profile” jest właściwym sposobem na określenie roli IAM?
Czy muszę użyć podzbioru ciągu Arn lub sformatować go w inny sposób?
Czy jest możliwe skonfigurowanie roli IAM, która może wykonywać dostęp do dowolnej roli IAM (może „Super Root IAM” ... tworzą tę nazwę)?
Do Twojej wiadomości, wszystko dotyczy Linuksa działającego w instancjach. Ponadto uruchamiam to wszystko z instancji, ponieważ nie mogłem zainstalować tych narzędzi na pulpicie. To i nie chcę umieszczać moich poświadczeń użytkownika IAM na żadnej pamięci AWS, zgodnie z zaleceniami AWS tutaj .
po odpowiedzi:
Nie wspomniałem o zezwoleniu na instancję uruchamiania „PowerUserAccess” (w porównaniu z „AdministratorAccess”), ponieważ nie zdawałem sobie sprawy, że w momencie zadawania pytania potrzebowałem dodatkowego dostępu. Zakładałem, że rolą IAM były „informacje” dołączone do premiery. Ale tak naprawdę to coś więcej. To jest udzielenie pozwolenia.