AWS EC2 instancji Metadane API udostępnia wiele przydatnych funkcjonalności. Każdy w rzeczywistej instancji EC2 może wykonać połączenie http://169.254.169.254/
i zobaczyć metadane dla instancji, z której wykonano połączenie. Bezpieczeństwo interfejsu API polega na tym, że sprawdza tylko, czy wywołanie pochodzi z instancji. Dlatego jeśli pozwalam komuś uruchamiać kod w mojej instancji, chciałbym wiedzieć, jak najlepiej zablokować dostęp do tego konkretnego adresu URL, zachowując dostęp sam.
Najważniejszym wydarzeniem było dla mnie zaskoczenie, że do interfejsu API metadanych można również uzyskać dostęp za pośrednictwem http://instance-data/
(co znalazłem gdzieś przez przypadek).
Jestem w stanie sprawdzić adresy URL wywoływane przez cały kod działający w tej instancji, ale zakładam, że nie jest to dobre podejście, biorąc pod uwagę adresy IPv6 (prawdopodobnie) lub niektóre dziwne kodowania URI, które można by przekształcić w adres IP metadanych (169.254 .169.254) lub niektóre nieudokumentowane (jak się wydaje) adresy URL, takie jak http://instance-data/
.
źródło