Aplikacja na EC2 używała wcześniej kluczy dostępu użytkownika IAM przechowywanych w zmiennych środowiskowych do wywoływania DynamoDB za pośrednictwem boto. Deweloper dołączył rolę instancji z tymi samymi uprawnieniami, a następnie usunął użytkownika IAM. Po ponownym uruchomieniu, logi aplikacji pokazują AccessDeniedException, ale deweloper może uruchamiać polecenia CLI DynamoDB, używając swojego osobistego konta na serwerze. Jaka jest NAJBARDZIEJ prawdopodobna przyczyna wyjątku?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Aplikacja nadal używa wyłączonych poświadczeń ze zmiennych środowiskowych..
Dlaczego to jest odpowiedź
Aplikacja nadal używa starych poświadczeń IAM przechowywanych w zmiennych środowiskowych. Domyślny łańcuch dostawców poświadczeń AWS SDK najpierw sprawdza zmienne środowiskowe (AWSACCESSKEYID, AWSSECRETACCESSKEY). Jeśli te zmienne są ustawione, SDK użyje tych poświadczeń, nawet jeśli do instancji EC2 jest dołączona rola IAM. Usunięcie użytkownika IAM, którego klucze były w zmiennych środowiskowych, spowodowało, że te poświadczenia stały się nieprawidłowe, co skutkuje błędem AccessDeniedException. Deweloper może używać CLI, ponieważ jego osobiste konto ma prawidłowe poświadczenia. Propagacja polityk IAM jest zazwyczaj szybka i nie jest przyczyną w tym scenariuszu. AWS SDK w pełni obsługuje poświadczenia z ról instancji. Grupa bezpieczeństwa nie jest problemem, ponieważ błąd dotyczy autoryzacji, a nie łączności z punktem końcowym metadanych.
Zdaj egzamin — bez niekończącego się szukania odpowiedzi
Uzyskaj wszystkie zweryfikowane pytania i wyjaśnienia do tego egzaminu w jednym miejscu i zaoszczędź godziny przygotowań. Ponad 1000 certyfikacji · Ponad 20 języków · Zacznij za darmo.
Zdaj egzamin szybciej → Karta nie jest wymagana