0Pricing
Cloud & IT Cert Prep · Lekcja

External ID i problem zdezorientowanego zastępcy

Zapobiegną Państwo nakłonieniu podmiotów zewnętrznych do niewłaściwego użycia dostępu.

External ID i problem zdezorientowanego zastępcy to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Subtelny problem zaufania

Gdy pozwalają Państwo zewnętrznemu podmiotowi przyjąć rolę na Państwa koncie, może wystąpić zagrożenie bezpieczeństwa zwane problemem zdezorientowanego zastępcy. Identyfikator zewnętrzny to prosta, ale kluczowa kontrola, która temu zapobiega. Ten wzorzec pojawia się na egzaminie zawsze wtedy, gdy dostawca SaaS potrzebuje dostępu do Państwa konta AWS.

Czym jest zdezorientowany zastępca

Zdezorientowany zastępca to zaufany podmiot (zastępca), który zostaje nakłoniony do użycia swoich uprawnień na rzecz atakującego. W AWS usługa zewnętrznego podmiotu może mieć uprawnienia do przyjmowania ról na wielu kontach klientów. Jeśli nic nie wiąże żądania z prawidłową relacją z klientem, atakujący może nakłonić ją do przyjęcia Państwa roli.

Scenariusz z dostawcą

Wyobraźmy sobie usługę monitorowania SaaS, która przyjmuje rolę na każdym koncie klienta. SaaS używa jednej tożsamości AWS dla wszystkich klientów. Jeśli atakujący będący również klientem odgadnie ARN Państwa roli, może przekonać usługę SaaS do przyjęcia Państwa roli, ponieważ SaaS jest zaufanym podmiotem. Sam identyfikator konta nie wystarcza, aby temu zapobiec.

Wprowadzenie identyfikatora zewnętrznego

Identyfikator zewnętrzny to unikatowa, poufna wartość przypisywana przez dostawcę do relacji z Państwem. Należy umieścić ją w polityce zaufania roli jako warunek, a dostawca musi przekazać dokładnie tę samą wartość podczas wywoływania AssumeRole. Ponieważ atakujący nie zna Państwa identyfikatora zewnętrznego, nie może nakłonić dostawcy do przyjęcia Państwa roli.

Polityka zaufania z identyfikatorem zewnętrznym

Ta polityka zaufania wymaga zgodnego identyfikatora zewnętrznego. AssumeRole powiedzie się tylko wtedy, gdy dostawca przekaże identyczną wartość, co udaremni atak zdezorientowanego zastępcy.

"Condition": {
  "StringEquals": {
    "sts:ExternalId": "unique-customer-12345"
  }
}

Kto ustawia identyfikator zewnętrzny

Co najważniejsze, dostawca, a nie klient, generuje identyfikator zewnętrzny i nim zarządza. Zapobiega to zmowie klientów mającej na celu ponowne użycie tej samej wartości. Wytyczne AWS są jednoznaczne: jako zewnętrzny podmiot należy przypisać każdemu klientowi unikatowy identyfikator zewnętrzny i wymagać go przy każdym przyjęciu roli.

To nie jest sekretne hasło

Identyfikator zewnętrzny nie ma być sekretem takim jak hasło — może pojawiać się w instrukcjach konfiguracji. Jego wartość w zakresie bezpieczeństwa wynika z tego, że jest unikatowy dla każdego klienta i zarządzany przez dostawcę, dzięki czemu atakujący nie może skłonić zastępcy do użycia wartości innego klienta. Należy traktować go jako token przeciwdziałający podszywaniu się, a nie dane uwierzytelniające.

Połączenie z zasadą najmniejszych uprawnień

Identyfikator zewnętrzny kontroluje, kto może przyjąć rolę, ale nadal należy precyzyjnie określić, co rola może robić, za pomocą restrykcyjnych polityk uprawnień. Nawet prawidłowo autoryzowany dostawca powinien otrzymać tylko minimalne wymagane uprawnienia. W celu bezpiecznego dostępu zewnętrznych podmiotów należy połączyć identyfikator zewnętrzny, konkretnego podmiotowego principal oraz uprawnienia zgodne z zasadą najmniejszych uprawnień.

Nie tylko dostawcy

Wzorzec zdezorientowanego zastępcy dotyczy również usług AWS działających w Państwa imieniu. Zaufanie między usługami często wykorzystuje klucze warunków, takie jak aws:SourceArn i aws:SourceAccount, w politykach zasobów, aby upewnić się, że wywołująca usługa działa na rzecz Państwa zasobu — to ta sama idea obrony w innej formie.

Rozpoznawanie wskazówki egzaminacyjnej

Zawsze gdy pytanie opisuje zewnętrzny podmiot lub usługę SaaS przyjmującą rolę między kontami, bezpieczna odpowiedź niemal zawsze obejmuje identyfikator zewnętrzny w polityce zaufania. Jeśli scenariusz dotyczy komunikacji między usługami, należy szukać warunków aws:SourceArn/aws:SourceAccount. Rozpoznanie tej wskazówki prowadzi bezpośrednio do właściwej kontroli.

Połączenie wszystkich elementów

Problem zdezorientowanego zastępcy pozwala atakującemu nakłonić zaufany zewnętrzny podmiot do niewłaściwego użycia dostępu. Identyfikator zewnętrzny, unikatowy dla każdego klienta i zarządzany przez dostawcę, zapobiega temu problemowi, wymagając zgodnej wartości przy wywołaniu AssumeRole. W przypadku usług AWS należy używać aws:SourceArn i aws:SourceAccount. Zawsze należy łączyć te mechanizmy z uprawnieniami zgodnymi z zasadą najmniejszych uprawnień.

Szybki test

Sprawdź znajomość pojęcia zdezorientowanego zastępcy.

Podsumowanie

Problem zdezorientowanego zastępcy występuje, gdy zaufany zewnętrzny podmiot zostaje nakłoniony do niewłaściwego użycia dostępu między kontami. Identyfikator zewnętrzny, unikatowy dla każdego klienta i zarządzany przez dostawcę, zapobiega temu problemowi dzięki warunkowi polityki zaufania opartemu na sts:ExternalId. W przypadku zaufania między usługami AWS należy używać aws:SourceArn i aws:SourceAccount, zawsze zgodnie z zasadą najmniejszych uprawnień.

Często zadawane pytania

Czy lekcja „External ID i problem zdezorientowanego zastępcy” jest bezpłatna?

Tak — pełny tekst „External ID i problem zdezorientowanego zastępcy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Co nauczysz się w „External ID i problem zdezorientowanego zastępcy”?

Zapobiegną Państwo nakłonieniu podmiotów zewnętrznych do niewłaściwego użycia dostępu. Ćwiczysz Cloud & IT Cert Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cloud & IT Cert Prep?

Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „External ID i problem zdezorientowanego zastępcy”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cloud & IT Cert Prep?

Tak. Każda lekcja Cloud & IT Cert Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Jak STS wydaje tymczasowe poświadczenia
  2. AssumeRole i czas trwania sesji
  3. External ID i problem zdezorientowanego zastępcy
  4. Zasady sesji i określanie zakresu za pomocą tagów
← Powrót do Cloud & IT Cert Prep