Aktualizacje IAM Access Analyzer: znajdź niewykorzystany dostęp, sprawdź zasady przed wdrożeniem

7 lutego 2024

AWS wprowadza dwie nowe funkcje narzędzia AWS Identity and Access Management (IAM) Access Analyzer:Unused Access Analyzer i Custom Policy Checks.

Unused Access Analyzer – nowy analizator, który w sposób ciągły monitoruje role i użytkowników poszukujących uprawnień, które zostały przyznane, ale nie zostały faktycznie wykorzystane. Centralne zespoły ds. bezpieczeństwa mogą skorzystać z widoku pulpitu nawigacyjnego, który pomoże im znaleźć konta, które mogą najbardziej skorzystać na przeglądzie niewykorzystanych uprawnień, ról i użytkowników IAM.

Custom Policy Checks – sprawdzenie, czy nowo utworzone zasady nie przyznają dodatkowych (i być może niezamierzonych) uprawnień. Możesz sprawować większą kontrolę nad swoimi zasadami IAM i przyspieszyć proces przenoszenia aplikacji AWS z fazy rozwojowej do produkcyjnej, dodając automatyczne przeglądy zasad do potoków CI/CD i niestandardowych narzędzi zasad.

Pora rzucić okiem na najświeższe premiery!

Unused Access Analyzer

Można już utworzyć analizator monitorujący dostęp z zewnątrz. Dzięki tej premierze możesz stworzyć taki, który wyszukuje uprawnienia dostępu, które są albo zbyt obfite, albo wyszły z użycia. Obejmuje to niewykorzystane role IAM, niewykorzystane klucze dostępu dla użytkowników IAM, niewykorzystane hasła dla użytkowników IAM oraz niewykorzystane usługi i działania dla aktywnych ról i użytkowników IAM.

Po przejrzeniu wniosków wygenerowanych przez analizator obejmujący całą organizację lub konkretne konto, możesz podjąć działania, usuwając niepotrzebne uprawnienia. Możesz tworzyć analizatory i analizować wnioski z poziomu konsoli zarządzania AWS, interfejsu CLI lub interfejsu API. Zacznij od konsoli IAM. Kliknij Analyzer settings w lewym panelu nawigacyjnym:

Unused Access Analyzer

Można zauważyć obecne analizatory (w tym przypadku żadnych). Kliknij Create analyzer, aby kontynuować:

Można zauważyć obecne analizatory (w tym przypadku żadnych). Kliknij Create analyzer, aby kontynuować:

Określ analizę niewykorzystanego dostępu, pozostaw domyślny okres śledzenia wynoszący 90 dni bez zmian, a następnie kliknij Create analyzer:

Określ analizę niewykorzystanego dostępu, pozostaw domyślny okres śledzenia wynoszący 90 dni bez zmian, a następnie kliknij Create analyzer:

Twój analizator został utworzony. Za jakiś czas sprawdź ponownie, co znajdzie. Twoje ustalenia były dostępne w ciągu minuty, ale to może się ulec zmianie. Oto niektóre z ustaleń:

Twój analizator został utworzony. Za jakiś czas sprawdź ponownie, co znajdzie. Twoje ustalenia były dostępne w ciągu minuty, ale to może się ulec zmianie. Oto niektóre z ustaleń:

Jak widać w przykładzie, twórca posiada wiele niewykorzystanych ról i uprawnień IAM. Można kliknąć na wyszukiwanie, aby dowiedzieć się więcej:

Jak widać w przykładzie, twórca posiada wiele niewykorzystanych ról i uprawnień IAM. Można kliknąć na wyszukiwanie, aby dowiedzieć się więcej:

Jeśli potrzebujesz tej roli IAM, możesz kliknąć Archive, aby usunąć ją z listy aktywnych wyników. Możesz także utworzyć reguły archiwizacji, które zrobią to samo w przypadku podobnych wyników:

Jeśli potrzebujesz tej roli IAM, możesz kliknąć Archive, aby usunąć ją z listy aktywnych wyników. Możesz także utworzyć reguły archiwizacji, które zrobią to samo w przypadku podobnych wyników:

Zewnętrzny analizator dostępu działa w podobny sposób i jest idealnym miejscem na rozpoczęcie, gdy dopiero zaczynasz korzystać z Access Analyzer i jesteś gotowy, aby znaleźć i usunąć dodatkowe uprawnienia:

Zewnętrzny analizator dostępu działa w podobny sposób i jest idealnym miejscem na rozpoczęcie, gdy dopiero zaczynasz korzystać z Access Analyzer i jesteś gotowy, aby znaleźć i usunąć dodatkowe uprawnienia:

Panel daje oferuje przegląd wszystkich aktywnych wyników:

Panel daje oferuje przegląd wszystkich aktywnych wyników:

Jeśli utworzysz analizator i określisz swoją Organizację jako Strefę zaufania, będziesz mógł również wyświetlić listę pokazującą konta, które mają największą liczbę aktywnych wyników:

Jeśli utworzysz analizator i określisz swoją Organizację jako Strefę zaufania, będziesz mógł również wyświetlić listę pokazującą konta, które mają największą liczbę aktywnych wyników:

Ta funkcja jest również dostępna z wiersza poleceń. Możesz utworzyć nowy analizator w następujący sposób:

$ aws accessanalyzer create-analyzer --type ACCOUNT_UNUSED_ACCESS \
  --analyzer-name OneWeek \
  --configuration '{"unusedAccess" : {"unusedAccessAge" : 90}}'
----------------------------------------------------------------------------
|                              CreateAnalyzer                              |
+-----+--------------------------------------------------------------------+
|  arn|  arn:aws:access-analyzer:us-east-1:348414629041:analyzer/OneWeek   |
+-----+--------------------------------------------------------------------+

Możesz wymienić ustalenia:

$  aws accessanalyzer list-findings-v2 \
  --analyzer-arn  arn:aws:accessanalyzer:us-east-1:123456789012:analyzer/OneWeek 
  --output json |
 jq -r '.findings[] | .resource'

arn:aws:iam::123456789012:role/MobileHub_Service_Role
arn:aws:iam::123456789012:role/EKSClusterRole
arn:aws:iam::123456789012:role/service-role/AWSDataSyncS3BucketAccess-jbarr-data
arn:aws:iam::123456789012:role/rds-monitoring-role
arn:aws:iam::123456789012:role/IsengardRoleForDependencyAssuranceIamAnalyzer
arn:aws:iam::123456789012:role/service-role/s3crr_role_for_rep-src_to_rep-dest
arn:aws:iam::123456789012:role/service-role/AWSDeepRacerServiceRole
...

Możesz archiwizować wyniki według identyfikatora:

$ aws accessanalyzer update-findings  \
  --analyzer-arn arn:aws:accessanalyzer:us-east-1:123456789012:analyzer/OneWeek 
  --status ARCHIVED --ids "f0492061-8638-48ac-b91a-f0583cc839bf"

Możesz wykonywać te same operacje, korzystając z interfejsu API IAM Access Analyzer.

Ta funkcja jest wyceniana na podstawie liczby ról IAM analizowanych co miesiąc i jest dostępna we wszystkich regionach AWS, w których dostępne są uprawnienia.

Custom Policy Checks

Teraz przed wdrożeniem możesz sprawdzić, czy zasady uprawnień są zgodne ze standardami bezpieczeństwa i aktywnie wykrywać niezgodne aktualizacje zasad. Pomoże Ci to szybciej wprowadzać innowacje, efektywniej przenosić aplikacje z fazy rozwojowej do produkcyjnej i zyskać pewność, że wszelkie wprowadzone zmiany odpowiadają Twoim zamierzeniom.

Zacznij od polityki allow-all-ssm:

Zacznij od polityki allow-all-ssm:

Dla celów ilustracyjnych autor edytuje go, aby dodać dostęp S3:

Dla celów ilustracyjnych autor edytuje go, aby dodać dostęp S3:

Następnie wybiera Check for new access, potwierdza, iż rozumie, że zostanie naliczona opłata, i klika Check policy:

Następnie wybiera Check for new access, potwierdza, iż rozumie, że zostanie naliczona opłata, i klika Check policy:

Automatyczne rozumowanie weryfikuje zasady i informuje, że umożliwiono nowy dostęp. Jeśli taki był zamiar, kliknij Next, aby kontynuować, w przeciwnym razie należy ponownie przemyśleć zmiany w zasadach:

Automatyczne rozumowanie weryfikuje zasady i informuje, że umożliwiono nowy dostęp. Jeśli taki był zamiar, kliknij Next, aby kontynuować, w przeciwnym razie należy ponownie przemyśleć zmiany w zasadach:

To bardzo prosty i wymyślony przykład, jednak autorzy są pewni, że widzisz, jak przydatny i cenny może to być dla Twoich wysiłków w zakresie bezpieczeństwa. Dostęp do tego można również uzyskać z interfejsu CLI (check-no-new-access) i API (CheckNoNewAccess).

Istnieje również inne polecenie i funkcja przeznaczona do użycia w potokach CI/CD, AWS CloudFormation hooks i niestandardowych narzędziach polityki. Check-access-not-granted i CheckAccessNotGranted akceptują dokument polityki i pozwolenie, takie jak s3:Get*, i sprawdzają, czy polityka nie przyznaje pozwolenia. Można tego użyć na przykład, aby upewnić się, że nie można wdrożyć polityki określającej, że Centrum zabezpieczeń powinno być wyłączone. Pomoże Ci to przejść od programowania do produkcji, mając pewność, że Twoje zasady są zgodne ze standardami bezpieczeństwa Twojej organizacji.

Cena tej funkcji opiera się na liczbie kontroli przeprowadzanych w każdym miesiącu i jest dostępna we wszystkich regionach komercyjnych AWS i AWS GovCloud.

źródło: AWS

Case Studies
Referencje

Dzięki wsparciu specjalistów Hostersi Sp. z o.o. i ścisłej współpracy z naszym zespołem developerskim, kampania sprzedażowa biletów na koncert Justina Biebera odniosła stuprocentowy sukces. Chmura obliczeniowa Amazon Web Services po raz kolejny zdała swój egzamin.

Marek Kurzawa
Manager produkcji w Prestige MJM
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.