Kubernetes Runasuser

Kubernetes Runasuser
Runasuser definiuje identyfikator użytkownika z określonymi uprawnieniami bezpieczeństwa, które nie mają obawy o uprawnienia administracyjne. W tym artykule zdefiniuje, czym jest Kubernetes Runasuser i jak można go wykorzystać w środowisku Kubernetes, aby ustawić kontekst bezpieczeństwa dla kontenera lub POD. Tutaj pokażemy, jak ustawić uprawnienia w kontekście bezpieczeństwa dla kapsułki lub kontenera.

Czym jest Runasuser w środowisku Kubernetes?

Runasuser jest jednym z pól kontekstu bezpieczeństwa określonego w pliku konfiguracyjnym, który określa identyfikator użytkownika, aby zapewnić uprawnienia bezpieczeństwa dla określonego kontenera lub POD. Wartość pola runasuser określa, że ​​wszystkie procesy w kontenerze będą wykonywać z określonym identyfikatorem runasuser.

Kontekst bezpieczeństwa służy do zdefiniowania ustawień kontroli dostępu lub zdefiniowania uprawnień użytkownika dla określonego kontenera lub podkładu. Główne ustawienia kontekstu bezpieczeństwa obejmują identyfikator użytkownika, identyfikator grupy podstawowej, dodatkowy identyfikator grupy, SECComp, Apparmor, Linex itp. Ustawienie kontekstu bezpieczeństwa nie ogranicza się do tych rzeczy, w tym o wiele więcej ustawień.

Jednak w tym artykule staramy się poprowadzić Cię, w jaki sposób zdefiniować uprawnienia bezpieczeństwa dla określonego użytkownika, aby proces mógł zostać wykonany za pomocą identyfikatora tego użytkownika zamiast użytkownika administratora. Przejdźmy więc do następnej sekcji, aby dowiedzieć się, jak zdefiniować ustawienie kontekstu bezpieczeństwa dla kontenera lub kapsułki.

Wymagania wstępne

Zanim zaczniesz, upewnij się, że system spełnia wymagania wstępne, aby nie mieć żadnych błędów podczas korzystania z Kubernetes jako ogólnego użytkownika. Lista warunków wstępnych podano poniżej:

  • Ubuntu 20.04 lub inna najnowsza wersja
  • Minikube klaster do interakcji z węzłami
  • Narzędzie wiersza poleceń Kubeclt do interakcji z klastrem w środowisku Kubernetes

Jeśli masz wszystkie te narzędzia zainstalowane w systemie, jesteś gotowy do użycia środowiska Kubernetes jako ogólnego użytkownika.

Określ kontekst bezpieczeństwa Runasuser dla środowiska Kubernetes

Ogólnie rzecz biorąc, wszystkie polecenia lub prace zostały wykonane w środowisku Kubernetes z uprawnieniami administracyjnymi. Jeśli chcesz zmienić uprawnienia bezpieczeństwa użytkownika, możesz zmienić prawa użytkownika, umożliwiając pewnego użytkownika dostęp do systemu. Można to zrobić, postępując zgodnie z poniższym procesem.

Po pierwsze, musimy upewnić się, że klaster minikupowy jest uruchomiony i za to będziemy używać następującego polecenia:

> Minikube start

To rozpocznie klaster minikupe, jeśli nie został uruchomiony wcześniej lub zapewni, że minikube jest w trybie aktywnym.

Teraz, gdy nasz klaster minikube jest uruchomiony, jesteśmy gotowi zmienić ograniczenia bezpieczeństwa dla naszego systemu. Aby określić ustawienia zabezpieczeń dla POD w klastrze, będziemy potrzebować pliku konfiguracyjnego YAML, w którym musimy podać definicję wdrażania. Użyj polecenia „Nano”, aby stworzyć nowy plik konfiguracyjny YAML.

> Nano SC.Yaml

To polecenie utworzy plik YAML o nazwie SC.Yaml. Teraz możesz umieścić definicję wdrażania w tym pliku konfiguracyjnym. Definicja wdrażania jest podana poniżej w celu odniesienia:

Teraz zapisz definicję wdrażania w SC.plik konfiguracyjny YAML, abyśmy mogli zastosować wdrożenie na PODS. Należy zauważyć, że wartość Runasuser wynosi 1000, co oznacza, że ​​identyfikator użytkownika wynosi 1000, którego możemy użyć, aby odwołać się do konkretnego użytkownika. Runasuser określa, że ​​wszystkie procesy dla kontenerów w POD zostaną wykonane z daną wartością Runasuser. Rinasgroup określa podstawowy identyfikator grupy dla procesu w pojemniku POD, podczas gdy FSGroup określa dodatkowy identyfikator grupy dla procesu w pojemniku POD.

Teraz zastosujmy definicję konfiguracji na wdrażaniu za pomocą polecenia podanego poniżej:

> Kubectl Apply -f Sc.Yaml

To stworzyło kapsuły z definicji konfiguracji. Sprawdźmy bieżący status kapsuły w klastrze za pomocą następującego polecenia:

> Kubectl zdobądź podstęp bezpieczeństwa

Status kapsuły jest „uruchamiany”, co oznacza, że ​​możemy wdrożyć powłokę w tym pojemniku. Użyj następującego polecenia, aby uzyskać powłokę do kontenera działającego Konteksu-Demo-Demo:

> Kubectl Exec -it Security -Context -Demo - -sh

Następnym krokiem jest wymienienie wszystkich działających procesów:

> Ps

Jak zdefiniowaliśmy runasuser jako 1000, wszystkie procesy działają jako 1000, co oznacza, że ​​dostarczyliśmy użytkownikowi 1000 uprawnień do dostępu do systemu. Preferencje bezpieczeństwa zostały zmienione dla użytkownika 1000. Teraz wszystkie procesy będą działać z identyfikatorem użytkownika 1000. Przejdźmy do kolejnego bezpośrednio, aby sprawdzić kontekst bezpieczeństwa użytkownika 1000:

> CD /dane

Będzie to nawigować do katalogu /danych, w którym możemy wymienić wszystko w katalogu za pomocą następującego polecenia:

> ls -l

W powyższym wyjściu widać, że katalog /dane korzysta z dodatkowego identyfikatora użytkownika 2000. Teraz przejdźmy do innego katalogu, aby sprawdzić, jakiego identyfikatora użytkownika używa:

> Demo CD

To zabierze nas do katalogu /demo, gdzie możemy wymienić wszystko z katalogu:

> ls -l

Zobaczmy, jakie identyfikatory były używane przez katalog /dane /demo:

> Id

Wyjście pokazuje, że pliki w katalogu /danych /demonstracie używają identyfikatora użytkownika 1000, podstawowej grupy 3000 i dodatkowej grupy Identyfikator grupy 2000.

Aby zamknąć powłokę, możesz użyć polecenia wyjścia i natychmiast wyjść ze skorupy:

> Istnieją

Pamiętaj, że nawigowaliśmy do różnych katalogów, aby sprawdzić uprawnienia Runasuser, więc musimy odpowiednio wyjść ze skorupy, aby odzyskać uprawnienia bezpieczeństwa od użytkownika.

Wniosek

W tym artykule konkretnie dowiedzieliśmy się o przywilejach bezpieczeństwa Runasuser. Dowiedzieliśmy się, że proces ten można wykonać w środowisku Kubernetes bez posiadania praw administracyjnych. Kontekst bezpieczeństwa można zdefiniować dla innych użytkowników i mogą mieć bezpieczny dostęp do systemu i może uruchamiać wszystkie procesy zgodnie z wymaganiami. Po włączeniu kontekstu bezpieczeństwa dla określonego użytkownika przypisując go identyfikator Runasuser, wszystkie procesy w kontenerach POD będą działać z tym identyfikatorem.