IAM Access Analyzer ułatwia wdrażanie najmniejszych uprawnień, generując zasady IAM na podstawie aktywności związanej z dostępem
W 2019 roku został uruchomiony AWS Identity and Access Management (IAM) Access Analyzer, aby pomóc Ci usunąć niezamierzony dostęp publiczny i cross-account poprzez analizę istniejących uprawnień.
W marcu 2021 r., AWS dodał weryfikację polityk w IAM Access Analyzer, aby pomóc Ci ustawić bezpieczne i funkcjonalne uprawnienia podczas tworzenia zasad. Teraz IAM Access Analyzer idzie o krok dalej i generuje dla Ciebie polityki. Możesz używać IAM Access Analyzer do generowania szczegółowych zasad w oparciu o aktywność związaną z dostępem w logach AWS CloudTrail. Kiedy zażądasz polityki, IAM Access Analyzer zaczyna działać i identyfikuje Twoją aktywność w logach CloudTrail, aby wygenerować politykę. Wygenerowana polityka przyznaje tylko wymagane uprawnienia dla obciążeń i ułatwia wdrażanie uprawnień o najmniejszych uprawnieniach.
Jako developer, kiedy tworzysz w środowiskach testowych, zaczynasz od szerszych uprawnień do eksperymentowania i określania potrzebnych funkcji AWS. Gdy obciążenia się ustabilizują, musisz doprecyzować uprawnienia tylko do tych usług i akcji, które są używane. Gwarantuje to, że zasady są zgodne z dobrymi praktykami dotyczącymi zabezpieczeń podczas migracji workloadów ze środowisk deweloperskich do środowisk produkcyjnych. Teraz możesz użyć narzędzia IAM Access Analyzer, aby łatwiej generować szczegółowe zasady, które zapewniają tylko wymagany dostęp. W tym poście przedstawimy przegląd sposobu generowania zasad za pomocą narzędzia IAM Access Analyzer, a następnie przeprowadzimy Cię przez proces generowania, dostosowywania i tworzenia zasad.
Przegląd
Aby wygenerować politykę, przejdź do konsoli IAM i przejdź do swojej roli w aplikacji. Stamtąd możesz poprosić o stworzenie polityki, określając ślad CloudTrail i zakres dat. Następnie IAM Access Analyzer przeanalizuje logi CloudTrail w celu wygenerowania polityki. Potem można ją pobrać i dostosować. W przypadku niektórych usług, IAM Access Analyzer identyfikuje działania zarejestrowane w CloudTrail i generuje zasady na poziomie działań. IAM Access Analyzer identyfikuje również wszystkie usługi używane do wskazywania wymaganych działań. Aby jeszcze bardziej zawęzić uprawnienia, IAM Access Analyzer identyfikuje akcje obsługujące uprawnienia na poziomie zasobów i udostępnia szablon. Możesz określić zasoby ARN w szablonie, aby ustawić uprawnienia na poziomie zasobów. Ułatwia to określanie szczegółowych uprawnień, które ograniczają dostęp do określonych zasobów. Generowanie zasad za pomocą narzędzia IAM Access Analyzer jest dostępne bez dodatkowych kosztów i można z niego korzystać za pośrednictwem konsoli IAM lub programowo przy użyciu interfejsu wiersza polecenia i zestawu SDK.
Teraz przeprowadzimy Cię przez przykład, jak możesz używać IAM Access Analyzer za pośrednictwem konsoli IAM i generować zasady dla swoich workloadów.
Generowanie polityki dla roli na podstawie jej aktywności CloudTrail
W tym przykładzie Senior Developer, Sofía Martínez, buduje koordynator mikroserwisów do uruchamiania aplikacji internetowej e-commerce dla Example Corp. Jej podstawową funkcją jest tworzenie mikroserwisów. W przypadku tych mikroserwisów musi stworzyć polityki uprawnień, aby zapewnić szczegółowe uprawnienia. Wraz z nadchodzącą premierą świątecznych zakupów Sofía zakończyła prace nad aplikacją i przygotowuje się do uruchomienia aplikacji. W szczególności chce się upewnić, że aplikacja ma tylko minimalne wymagane uprawnienia. W tym celu Sofía używa IAM Access Analyzer do generowania zasad i łatwego przyznawania dostępu do swojej roli w aplikacji.
Generowanie polityki w AWS Management Console
1. Otwórz IAM Console i w okienku nawigacji wybierz opcję Roles.
2. Wybierz rolę do analizy. W tym przykładzie Sofía wybiera AWS_Test_Role.
3. W obszarze Generate policy based on CloudTrail events, wybierz opcję Generate policy, jak pokazano na rysunku 1.
Rysunek 1. Generowanie polityki ze strony szczegółów roli
Na stronie Generate policy można wybrać przedział czasu, dla którego IAM Access Analyzer przejrzy logi CloudTrail w celu utworzenia polityki. W tym przykładzie Sofía przetestowała aplikację w ciągu ostatnich 15 dni, więc wybiera to okno czasowe, jak pokazano na rysunku 2.
Rysunek 2. Określenie zakresu czasu
5. Jeśli używasz tej funkcji po raz pierwszy: w przypadku opcji Select trail, należy wybrać ślad, który ma przejrzeć IAM Access Analyzer, wybrać opcję Create and use a new service role, a następnie kliknij Generate policy.
Jeśli masz istniejące role serwisowe, wybierz Use an existing service role, wybierz rolę z dostępnych opcji i wybierzGenerate policy, jak pokazano na Rysunku 3. W tym przykładzie Sofía używa istniejącej roli usługi i wybiera Generate policy, aby rozpocząć generowanie polityki.
Rysunek 3. Dostęp do CloudTrail
6. Gdy polityka będzie gotowa, zobaczysz powiadomienie na stronie. Aby przejrzeć uprawnienia, wybierz View generated policy, jak pokazano na rysunku 4.
Rysuenk 4. Proces generowania polityki
(Opcjonalnie) Dostosowywanie polityki
1. W przypadku niektórych usług na stronie Generated policy, można przejrzeć podsumowanie usług i powiązanych działań w wygenerowanych politykach. W tym przykładzie Sofía widzi, że aplikacja wykorzystywała Amazon Elastic Compute Cloud (Amazon EC2), AWS IAM, AWS Lambda, Amazon Simple Storage Service (Amazon S3) i powiązane działania, jak pokazano na rysunku 5.
Rysunek 5: Usługi i działania w wygenerowanej polityce
2. Możesz również przejrzeć wszystkie używane usługi, jak pokazano na rysunku 6, i wybrać uprawnienia wymagane przez aplikację. W tym przykładzie Sofía widzi, że jej aplikacja korzystała z usługi Amazon Simple Queue Service (Amazon SQS) i wie, że jej aplikacja wymaga SQS:ReceiveMessage i SQS:SendMessage. Wybiera akcję z listy rozwijanej. Rysunek 6 przedstawia szablon polityki, który pomaga Sofii określić wymagane uprawnienia.
Rysunek 6: Dodawanie dodatkowych akcji w oparciu o używane usługi.
3. Następnie przejrzyj zasady i określ uprawnienia resource-level, zastępując placeholdery zasobem ARN używanym przez aplikację. Placeholdery zasobów ułatwiają określanie szczegółowych uprawnień, które ograniczają dostęp do określonych zasobów. Pomaga to w przestrzeganiu dobrych praktyk w zakresie bezpieczeństwa i umożliwia określenie dokładnych zasobów, do których chcesz udzielić dostępu, ograniczając w ten sposób dostęp tylko do podzbioru zasobów.
W tym przykładzie Sofía zauważa, że EC2:RunInstances akceptuje informacje o poziomie zasobów, więc zastępuje symbol zastępczy instancją ARN, która ogranicza dostęp do instancji, z której korzysta aplikacja, jak pokazano na rysunku 7.
Rysunek 7: Dostosowywanie uprawnień w polityce
4. Na stronie Customize generated policy, po dostosowaniu zasad wybierz przycisk Next , aby przejrzeć zasady.
Tworzenie i dołączenie polityki
1. Na stronie Review and create as a customer managed policy zaktualizuj nazwę zasady zgodnie z dorbymi praktykami firmy i przejrzyj podsumowanie uprawnień. Opcjonalnie możesz dodać opis, aby zdefiniować cel zasady. W tym przykładzie Sofía nazywa swoją polisę i dodaje opis, jak pokazano na rysunku 8.
Rysunek 8: Przejrzenie i utworzenie polityki
2. Wybierz opcję Create and attach, aby dołączyć zasady do roli aplikacji.
Po utworzeniu roli Sofía może usunąć wszelkie inne zasady związane z rolą i pracować z uprawnieniami typu fine-grained.
Generowanie i wyświetlanie polityk programowo
Aby zażądać i pobrać zasady, możesz użyć następujących interfejsów API IAM Access Analyzer:
- start-policy-generation: generuje polityki dla użytkownika lub roli IAM. Wywołaj ten interfejs API, aby rozpocząć generowanie zasad. Określ okres, przez jaki narzędzie IAM Access Analyzer powinno przeglądać logi CloudTrail.
- get-generated-policy: Wywołaj ten interfejs API, aby pobrać i wyświetlić wygenerowane zasady.
Aby uzyskać więcej informacji, zobacz Generate policies based on access activity w AWS IAM User Guide.
Podsumowanie
IAM Access Analyzer ułatwia nadawanie uprawnień typu fine-grained rolom aplikacji, generując zasady uprawnień na podstawie aktywności CloudTrail. Aby dowiedzieć się więcej na temat generowania zasad, zobacz Generate policies based on access activity w AWS IAM User Guide.
źródło: AWS