Rola IAM pozwala funkcji Lambda dostęp do innych usług AWS na koncie AWS. Z drugiej strony zasady oparte na zasobach są dołączane do funkcji Lambda, aby umożliwić innym usługom AWS na tych samych lub różnych kontach w celu uzyskania dostępu do funkcji Lambda. Na tym blogu zobaczymy, w jaki sposób możemy zarządzać uprawnieniami Lambda, stosując zasady oparte na IAM i zasobach."
Zarządzanie uprawnieniami za pomocą roli IAM
Domyślnie rola IAM dołączona do funkcji Lambda ma dostęp tylko do umieszczenia dzienników w dziennikach CloudWatch. Zawsze możesz zaktualizować rolę wykonania, aby dodać do niej dalsze uprawnienia. Jeśli chcesz uzyskać dostęp do wiadra S3 lub chcesz wykonać akcję na obiekcie S3, potrzebujesz dostępu do poziomu obróbki S3 i S3 w roli wykonania Lambda. W tej sekcji bloga zaktualizujemy uprawnienia do roli IAM, aby umożliwić Lambda na interakcję z wiadrem S3.
Przede wszystkim przejdź do konsoli AWS Lambda i kliknij funkcję Lambda, dla której chcesz zaktualizować rolę wykonania. Kliknij na konfiguracja Zakładka na konsoli funkcyjnej Lambda. Następnie z lewego panelu bocznego wybierz Uprawnienia Tab i pokaże tam rolę wykonania Lambda.
W roli IAM możesz dodać zasadę zarządzaną przez AWS lub zarządzaną przez klienta, albo możesz dodać zasady wbudowanej, aby zapewnić funkcję Lambda niezbędne uprawnienia do interakcji z innymi usługami AWS.
Zarządzanie uprawnieniami za pomocą zasad opartych na zasobach
Zasady oparte na zasobach funkcji Lambda zapewniają uprawnienia do innych usług AWS w ramach tego samego lub innego konta AWS w celu uzyskania dostępu do funkcji Lambda. Domyślnie nie ma zasad opartych na zasobach automatycznie dołączonej do funkcji Lambda, więc żadna usługa AWS nie może uzyskać dostępu do funkcji Lambda. Możesz dodać i usunąć zasady oparte na zasobach w dowolnym momencie do funkcji Lambda. Na tym blogu dodamy zasady oparte na zasobach do funkcji Lambda, która pozwala S3 wywołać funkcję Lambda.
Aby dodać zasady oparte na zasobach do funkcji Lambda, najpierw kliknij funkcję Lambda i przejdź do uprawnienia Karta funkcji Lambda.
w uprawnienia karta, przewiń w dół, a znajdziesz sekcję dla zasad opartych na zasobach. Kliknij na Dodaj uprawnienia przycisk w Oświadczenia polityczne oparte na zasobach Sekcja konsoli, aby dodać nową zasady oparte na zasobach do funkcji Lambda.
W polityce opartej na zasobach istnieją trzy rodzaje zasobów, które możesz udzielić zezwolenia na funkcję Lambda.
W przypadku tego demo będziemy konfigurować wiadro S3 tego samego konta, aby wywołać funkcję Lambda, ilekroć jest do niego przesłany nowy obiekt S3. Do tej konfiguracji wybierz Usługa AWS a następnie wybierz S3 jako usługa. Wprowadź identyfikator konta AWS, w którym istnieje wiadro S3, i.mi., Twój własny identyfikator konta AWS. Po podaniu identyfikatora konta podaj ARN wiadra S3, który będzie miał zgodę na wywołanie funkcji Lambda, a następnie wybierz Lambda: Funkcja Invoke tak działanie, jak zamierzamy wywołać funkcję Lambda z wiadra S3.
Po dodaniu wszystkich tych informacji kliknij przycisk Zapisz, aby dodać zasady oparte na zasobach do funkcji Lambda. Możesz także rzucić okiem na format JSON w zasobach opartych na zasobach dołączonej do funkcji Lambda.
Z sekcji polityki opartej na zasobach w uprawnienia Tab, kliknij nowo utworzone zasady oparte na zasobach, a wyświetli zasadę w formacie JSON.
Usuwanie zasad opartych na zasobach
Możesz usunąć zasady oparte na zasobach, gdy nie musisz zezwalać innym usługom AWS na dostęp do funkcji Lambda. Utrzymanie polityki opartej na zasobach dołączonej do funkcji Lambda może być szkodliwe, ponieważ zapewnia inne usługi AWS dostęp do funkcji Lambda.
Aby usunąć zasady oparte na zasobach, przejdź do Oświadczenia oparte na zasobach sekcja uprawnienia patka. Wybierz zasady oparte na zasobach, które chcesz usunąć, i kliknij Usuwać przycisk i usunie zasady oparte na zasobach z funkcji Lambda.
Poprosi o potwierdzenie przed usunięciem zasad opartych na zasobach, a możesz potwierdzić usunięcie, klikając usuwać przycisk.
Wniosek
Na tym blogu studiowaliśmy, jak zarządzać pozwoleniem z funkcją AWS Lambda. Istnieją dwa rodzaje uprawnień, które można przypisać do Lambda; Jednym z nich są uprawnienia oparte na role Lambda, które pozwala AWS Lambda na dostęp do innych usług AWS, a druga to uprawnienia oparte na zasobach, które pozwalają innym usługom dostęp do funkcji Lambda. Na tym blogu zbadaliśmy różnicę między obiema rodzajami zasad i zobaczyliśmy, w jaki sposób możemy zaktualizować obie zasady, aby udzielić uprawnień.