Zweryfikuj dostęp do zasobników S3 przed wdrożeniem zmian uprawnień wraz z IAM Access Analyzer

29 marca 2021

AWS Identity and Access Management (IAM) Access Analyzer pomaga Ci w monitorowaniu i ograniczaniu dostępu poprzez korzystanie ze zautomatyzowanej argumentacji do generowania obszernych wyników dotyczących dostępu do zasobów.

Teraz możesz wyświetlić podgląd i zweryfikować dostęp publiczny pomiędzy kontami przed wdrożeniem zmian uprawnień. Przykładowo możesz sprawdzić, czy Twój zasobnik S3 pozwoliłby na publiczny dostęp przed wdrożeniem uprawnień zasobnika. Pomaga to rozpocząć zamierzony dostęp.

Wraz z IAM Access Analyzer możesz zastanowić się, zanim podejmiesz ostateczną decyzję, dzięki czemu zapobiegniesz dostępowi publicznemu i do wielu kont, zanim utracisz uprawnienia. Możesz przeglądać i weryfikować dostęp w konsoli Amazon S3 lub przy pomocy interfejsów API Access Analyzer. W konsoli S3 możesz przeglądać wyniki IAM Access Analyzer, aby uzyskać dostęp do zasobnika, zanim zapiszesz jego zasady. To umożliwia Ci zweryfikowanie, czy zmiana zasad wprowadza nowe ustalenia lub rozwiązuje już istniejące. Możesz także wykorzystywać interfejsy API Access Analyzer w celu weryfikacji proponowanych uprawnień dla swoich zasobników Amazon S3, kluczy AWS KMS, ról AWS IAM, kolejek Amazon SQS i tajnych wpisów AWS Secrets Manager.

Dzięki temu artykułowi otrzymasz zwięzłe omówienie narzędzia, jakim jest IAM Access Analyzer. Następnie zostanie przedstawione użycie konsoli S3 w celu podglądu dostępu do zasobnika, zanim dodasz nowe zasady, a także informacje o tym, jak przeglądać i weryfikować wyniki Access Analyzer. Na sam koniec dowiesz się, jak wyświetlać podgląd oraz weryfikować dostęp podczas określania zakresu istniejących zasad zasobnika.

Zarys IAM Access Analyzer

IAM Access Analyzer analizuje dostęp, aby pomóc Ci zrealizować zasadę najmniejszego uprzywilejowania. Wcześniej IAM Access Analyzer analizował istniejące uprawnienia zasobów, aby pomóc Ci zidentyfikować i ograniczyć dostęp z zewnątrz. Od teraz możesz także przeglądać i weryfikować dostęp przed wdrożeniem zmian uprawnień.

Aby przeanalizować dostęp, IAM analizuje uprawnienia do zasobów za pomocą zautomatyzowanego rozumowania. Ta forma wyczerpującej analizy matematycznej wykorzystuje logikę, jak i wnioskowanie matematyczne w celu zdeterminowania wszystkich możliwych ścieżek dostępu dozwolonych przez politykę zasobów. Właśnie w ten sposób IAM Access Analyzer zapewnia sprawdzalne zabezpieczenia i generuje obszerne wyniki dotyczące potencjalnego, niezamierzonego dostępu do zasobów.

Podgląd i weryfikacja dostępu do zasobnika S3 podczas dodawania zasad

Zanim zapiszesz zasady swojego zasobnika S3 w konsoli S3, możesz zatwierdzić dostęp do swojego zasobnika S3. To pomoże Ci rozpocząć od zamierzonych uprawnień podczas tworzenia nowych zasad lub aktualizowania istniejących. Jest to opcjonalny krok i w każdej chwili możesz zdecydować o zapisaniu swoich zasad. Aby wyświetlić podgląd dostępu do zasobnika na Twoim koncie, najpierw włącz IAM Access Analyzer, tworząc analizator dla konta w konsoli IAM.

Przykładowo możesz chcieć zezwolić kontu zewnętrznemu na dostęp do zasobnika na Twoim koncie. Tworzysz nowy zasobnik w swoim koncie, a następnie chcesz dodać zasady zasobnika, które przyznają dostęp do zasobnika określonemu kontu zewnętrznemu. W edytorze zasad zasobnika konsoli S3 możesz utworzyć szkic zasad zasobnika w celu uzyskania dostępu. Jednak zanim zapiszesz swoje zasady zasobnika, być może będziesz chciał wyświetlić wyniki wyszukiwania dla dostępu publicznego i między kontami do zasobnika.

Dostęp do podglądu

W konsoli S3 otwórz stronę Edytuj zasadę klucza i utwórz szkic tej zasady, tak jak pokazano na rysunku nr 1.

Podgląd dostępu do zasobnika S3 w konsoli S3

Rysunek nr 1: Podgląd dostępu do zasobnika S3 w konsoli S3

W obszarze „Podgląd dostępu zewnętrznego” wybierz istniejący analizator konta z menu rozwijanego, a następnie wybierz „Podgląd”. Access Analyzer generuje podgląd wyników w celu uzyskania dostępu do Twojego zasobnika. Te wyniki uwzględniają proponowaną zasadę zasobnika wraz z istniejącymi uprawnieniami zasobnika, jak ustawienia S3 Block Public Access dla zasobnika lub konta, zasobników ACL i punktów dostępu S3, które są przyłączone do zasobnika.

Weryfikacja dostępu

Możesz przejrzeć i zweryfikować te wyniki podglądu, aby upewnić się, że zasady przyznają zamierzony dostęp tylko do Twojego zasobnika. Identyfikator obok każdego wyniku przedstawia kontekst, w jaki sposób zasady zasobnika zmieniałyby dostęp do zasobnika w przypadku ich zapisania. Poniżej znajdują się identyfikatory wyszukiwania wraz z ich znaczeniem:

  • nowy – wskazuje na znalezienie nowego dostępu, który wprowadziłby zasady;
  • rozwiązany – wskazuje na wynik dotyczący istniejącego dostępu, który zostałby usunięty przez zasady;
  • zarchiwizowany – wskazuje na znalezienie nowego dostępu, który zostałby automatycznie zarchiwizowany w oparciu o zasady archiwizacji dla analizatora. Zasady archiwizacji określają, kiedy wyszukiwania powinny zostać oznaczone jako zamierzone;
  • istniejący – wskazuje na istniejący wynik dostępu, który zostałby niezmieniony;
  • publiczny – jeśli ten identyfikator pojawia się obok jednego z poprzednich, oznacza to, że wyszukiwania są dostępne publicznie. Jeśli ten identyfikator się nie pojawia, oznacza to, że wyszukiwanie dotyczy dostępu do wielu kont.

W tym przykładzie Access Analyzer generuje wynik dostępu dla wielu kont, tak jak przedstawiono na rysunku nr 2.

Podgląd znalezienia nowego dostępu dla wielu kont do Twojego zasobnika S3

Rysunek nr 2: Podgląd znalezienia nowego dostępu dla wielu kont do Twojego zasobnika S3

Na rysunku nr 2 oznaczenie Nowe z opisem Konto AWS z dostępem do odczytu i zapisu wskazuje, że jest to odkrycie dla nowego dostępu dla wielu kont, które wprowadziłyby zasady. Możesz rozwinąć wynik, aby wyświetlić szczegóły wyszukiwań, tak jak pokazano na obrazku nr 3.

Widok rozszerzonych wyników wyszukiwania

Rysunek nr 3: Widok rozszerzonych wyników wyszukiwania

Na rysunku nr 3 pole Zewnętrzny podmiot główny pokazuje ID konta, które posiada dostęp do Twojego zasobnika S3 pomiędzy kontami. Pole Poziom dostępu wyświetla uprawnienia do odczytu i zapisu dostępu, które posiada konto w przypadku Twojego zasobnika.

Jeśli zidentyfikujesz nowy dostęp zewnętrzny, którego nie zamierzasz wprowadzać lub istniejący dostęp zewnętrzny, którego nie zamierzasz usuwać, powinieneś kontynuować przeglądanie zasad, a następnie wybrać po raz kolejny Podgląd, do momentu aż osiągniesz zamierzony sukces. Po sprawdzeniu, że wyniki dotyczą zamierzonego dostępu oraz zweryfikowaniu, że nie ma żadnych wyników dotyczących niezamierzonego dostępu, możesz wybrać „Zapisz zmiany”, aby zapisać zasady.

Podgląd i weryfikacja dostępu podczas zmiany istniejących zasad

Idąc za przykładem, posiadasz zasobnik S3 z istniejącymi zasadami, które umożliwiają publiczny dostęp do odczytu i zapisu. Jeśli wyświetlasz podgląd dostępu bez aktualizowania zasad, możesz zauważyć, że istnieje wynik do publicznego dostępu, tak jak przedstawiono na rysunku nr 4.

Istniejące wyniki do publicznego dostępu

Rysunek nr 4: Istniejące wyniki do publicznego dostępu

Teraz chcesz zaktualizować zasady i ograniczyć dostęp tak, aby tylko jedno określone konto zewnętrzne miało dostęp do odczytu i zapisu w tym zasobniku. W edytorze zasad zmieniasz istniejące zasady, tak aby udzielały dostępu tylko do tego konta, a następnie wybierasz Podgląd. Tak jak przedstawiono na rysunku nr 5, podczas podglądu dostępu dla tej zmiany poniżej można zobaczyć dwa wyniki.

Podgląd jednego rozwiązanego (usuniętego) wyniku publicznego i jednego nowego wyniku dla wielu kont

Rysunek nr 5: Podgląd jednego rozwiązanego (usuniętego) wyniku publicznego i jednego nowego wyniku dla wielu kont

Jeden wynik posiada dwie etykiety: Rozwiązane i Publiczne, które wskazują na to, że zmiana zasad spowodowałaby usunięcie publicznego dostępu i rozwiązanie wyniku zgodne z intencjami. Drugi wynik posiada etykietę Nowy, co oznacza, że zasady wprowadziłyby nowy dostęp, a szczegóły znalezienia wskazują, że jest to dostęp do wielu kont, który Ty zamierzałeś przyznać. Ze względu na to, że zatwierdziłeś, że zmiana zasad spowoduje usunięcie istniejącego dostępu publicznego i przyznanie nowego dostępu do wielu kont, możesz zapisać zmianę zasad.

Kolejne kroki

Tak jak opisano w tym poście, oprócz dostępu do zasobnika w konsoli S3 możesz również korzystać z interfejsów API Access Analyzer, aby wyświetlić podgląd do zasobników S3, kluczy KMS, ról IAM, kolejek SQS oraz tajnych danych Secrets Manager za pośrednictwem interfejsu wiersza AWS CLI i SDK. Możesz użyć nowych operacji API Access Analyzer: CreateAccessPreview, GetAccessPreview, ListAccessPreviews oraz ListAccessPreviewFindings. W przypadku operacji CreateAccessPreview będziesz musiał przekazać analizator konta i proponowaną konfigurację zasobów jako dane wejściowe. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją dotyczącą interfejsu API IAM Access Analyzer.

Aby włączyć IAM Access Analyzer bez ponoszenia dodatkowych kosztów, otwórz konsolę IAM. IAM Access Analyzer jest dostępna we wszystkich regionach AWS, w tym regionach AWS China i AWS GovCloud (USA). Jeśli chcesz dowiedzieć się więcej na temat IAM Access Analyzer oraz tego, jakie zasoby obsługuje, zapoznaj się ze stroną IAM access analysis features.

źródło: AWS