Punkty kontrolne
Create the blue server
/ 15
Create the green server
/ 15
Install Nginx and customize the welcome page
/ 30
Create the tagged firewall rule
/ 15
Create a test-vm
/ 10
Create a Network-admin service account
/ 15
Sieci VPC – kontrola dostępu
GSP213
Podsumowanie
W tym module utworzysz 2 serwery WWW nginx, a także nauczysz się, jak kontrolować dostęp HTTP do tych serwerów, używając oznaczonych tagami reguł zapory sieciowej. Poznasz również role uprawnień i konta usługi.
Cele
W tym module:
-
utworzysz serwer WWW nginx,
-
utworzysz oznaczone tagami reguły zapory sieciowej,
-
utworzysz konto usługi z rolami uprawnień,
-
poznasz uprawnienia związane z rolami administratora sieci i administratora zabezpieczeń.
Konfiguracja i wymagania
Zanim klikniesz przycisk Rozpocznij moduł
Zapoznaj się z tymi instrukcjami. Moduły mają limit czasowy i nie można ich zatrzymać. Gdy klikniesz Rozpocznij moduł, na liczniku wyświetli się informacja o tym, na jak długo udostępniamy Ci zasoby Google Cloud.
W tym praktycznym module możesz spróbować swoich sił w wykonywaniu opisywanych działań w prawdziwym środowisku chmury, a nie w jego symulacji lub wersji demonstracyjnej. Otrzymasz nowe, tymczasowe dane logowania, dzięki którym zalogujesz się i uzyskasz dostęp do Google Cloud na czas trwania modułu.
Do ukończenia modułu potrzebne będą:
- dostęp do standardowej przeglądarki internetowej (zalecamy korzystanie z przeglądarki Chrome).
- Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Rozpoczynanie modułu i logowanie się w konsoli Google Cloud
-
Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się wyskakujące okienko, w którym możesz wybrać formę płatności. Po lewej stronie znajduje się panel Szczegóły modułu z następującymi elementami:
- przyciskiem Otwórz konsolę Google;
- czasem, który Ci pozostał;
- tymczasowymi danymi logowania, których musisz użyć w tym module;
- innymi informacjami potrzebnymi do ukończenia modułu.
-
Kliknij Otwórz konsolę Google. Moduł uruchomi zasoby, po czym otworzy nową kartę ze stroną logowania.
Wskazówka: otwórz karty obok siebie w osobnych oknach.
Uwaga: jeśli pojawi się okno Wybierz konto, kliknij Użyj innego konta. -
W razie potrzeby skopiuj nazwę użytkownika z panelu Szczegóły modułu i wklej ją w oknie logowania. Kliknij Dalej.
-
Skopiuj hasło z panelu Szczegóły modułu i wklej je w oknie powitania. Kliknij Dalej.
Ważne: musisz użyć danych logowania z panelu po lewej stronie, a nie danych logowania Google Cloud Skills Boost. Uwaga: korzystanie z własnego konta Google Cloud w tym module może wiązać się z dodatkowymi opłatami. -
Na kolejnych stronach wykonaj następujące czynności:
- Zaakceptuj Warunki korzystania z usługi.
- Nie dodawaj opcji odzyskiwania ani uwierzytelniania dwuskładnikowego (ponieważ konto ma charakter tymczasowy).
- Nie rejestruj się w bezpłatnych wersjach próbnych.
Poczekaj, aż na karcie otworzy się konsola Google Cloud.
Aktywowanie Cloud Shell
Cloud Shell to maszyna wirtualna oferująca wiele narzędzi dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud. Dzięki wierszowi poleceń Cloud Shell zyskujesz dostęp do swoich zasobów Google Cloud.
- Kliknij Aktywuj Cloud Shell
na górze konsoli Google Cloud.
Po połączeniu użytkownik od razu jest uwierzytelniony. Uruchomi się Twój projekt o identyfikatorze PROJECT_ID. Dane wyjściowe zawierają wiersz z zadeklarowanym identyfikatorem PROJECT_ID dla tej sesji:
gcloud
to narzędzie wiersza poleceń Google Cloud. Jest ono już zainstalowane w Cloud Shell i obsługuje funkcję autouzupełniania po naciśnięciu tabulatora.
- (Opcjonalnie) Aby wyświetlić listę aktywnych kont, użyj tego polecenia:
-
Kliknij Autoryzuj.
-
Dane wyjściowe powinny wyglądać tak:
Dane wyjściowe:
- (Opcjonalnie) Aby wyświetlić identyfikator projektu, użyj tego polecenia:
Dane wyjściowe:
Przykładowe dane wyjściowe:
gcloud
w Google Cloud znajdziesz w opisie narzędzia wiersza poleceń gcloud.
Tworzenie serwerów WWW
Utwórz 2 serwery WWW (niebieski i zielony) w domyślnej sieci VPC. Następnie zainstaluj nginx na serwerach WWW i zmodyfikuj stronę powitalną, aby je rozróżnić.
Tworzenie serwera niebieskiego
Utwórz serwer niebieski z tagiem sieci.
- W konsoli wybierz menu nawigacyjne (
) > Compute Engine > Instancje maszyn wirtualnych.
-
Kliknij Utwórz.
-
Ustaw wymienione niżej wartości, a wszystkie pozostałe pozostaw domyślne:
Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję) Nazwa niebieski Region us-central1 (Iowa) Strefa us-central1-a Więcej informacji o dostępnych regionach i strefach znajdziesz tutaj.
-
Kliknij Zarządzanie, dyski, sieci, jedyny najemca.
-
Kliknij Sieci.
-
Aby uzyskać informacje na temat tagów sieci, wpisz serwer WWW.
-
Kliknij Utwórz.
Testowanie ukończonego zadania
Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się pomyślnie ukończyć zadanie, wyświetli się odpowiedni wynik.
Tworzenie serwera zielonego
Utwórz serwer zielony bez tagu sieci.
-
Nadal operując w konsoli, w oknie dialogowym Instancje maszyn wirtualnych kliknij Utwórz instancję.
-
Ustaw wymienione niżej wartości, a wszystkie pozostałe pozostaw domyślne:
Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję) Nazwa zielony Region us-central1 (Iowa) Strefa us-central1-a -
Kliknij Utwórz.
Testowanie ukończonego zadania
Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się pomyślnie ukończyć zadanie, wyświetli się odpowiedni wynik.
Instalowanie nginx i dostosowywanie strony powitalnej
Zainstaluj nginx w obu instancjach maszyny wirtualnej i zmodyfikuj stronę powitalną, aby rozróżnić serwery.
-
Dla serwera niebieskiego: nadal operując w oknie dialogowym Instancje maszyn wirtualnych, kliknij SSH, aby uruchomić terminal i nawiązać połączenie.
-
W terminalu SSH dla serwera niebieskiego uruchom następujące polecenie, aby zainstalować nginx:
sudo apt-get install nginx-light -y
-
W nanoedytorze otwórz stronę powitalną:
sudo nano /var/www/html/index.nginx-debian.html
-
Zastąp wiersz
<h1>Welcome to nginx!</h1>
wierszem<h1>Welcome to the blue server!</h1>
. -
Naciśnij CTRL+O, ENTER, CTRL+X.
-
Potwierdź zmianę:
cat /var/www/html/index.nginx-debian.html
Dane wyjściowe powinny być zgodne z następującymi (nie kopiuj ich, to tylko przykłady):
...
<h1>Welcome to the blue server!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
...
-
Zamknij terminal SSH dla serwera niebieskiego:
exit
Powtórz te same czynności dla serwera zielonego:
-
Dla serwera zielonego: kliknij SSH, aby uruchomić terminal i nawiązać połączenie.
-
Zainstaluj nginx:
sudo apt-get install nginx-light -y
-
W nanoedytorze otwórz stronę powitalną:
sudo nano /var/www/html/index.nginx-debian.html
-
Zastąp wiersz
<h1>Welcome to nginx!</h1>
wierszem<h1>Welcome to the green server!</h1>
. -
Naciśnij CTRL+O, ENTER, CTRL+X.
-
Potwierdź zmianę:
cat /var/www/html/index.nginx-debian.html
Dane wyjściowe powinny być zgodne z następującymi (nie kopiuj ich, to tylko przykłady):
...
<h1>Welcome to the green server!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
...
-
Zamknij terminal SSH dla serwera zielonego:
exit
Testowanie ukończonego zadania
Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się pomyślnie ukończyć zadanie, wyświetli się odpowiedni wynik.
Tworzenie reguły zapory sieciowej
Utwórz oznaczoną tagiem regułę zapory sieciowej i przetestuj połączenia HTTP.
Tworzenie oznaczonej tagiem reguły zapory sieciowej
Utwórz regułę zapory sieciowej dotyczącą instancji maszyn wirtualnych z tagiem sieci serwer WWW.
- W konsoli wybierz menu nawigacyjne (
) > Sieć VPC > Reguły zapory sieciowej.
- Zwróć uwagę na regułę zapory sieciowej default-allow-internal (zezwalaj na ruch wewnętrzny w sieci domyślnej).
-
Kliknij Utwórz regułę zapory sieciowej.
-
Ustaw wymienione niżej wartości, a wszystkie pozostałe pozostaw domyślne. Kliknij Utwórz:
Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję) Nazwa allow-http-web-server Sieć domyślna Cele Określone tagi docelowe Tagi docelowe serwer WWW Filtr źródeł Zakresy IP Zakresy źródłowych IP 0.0.0.0/0 Protokoły i porty Określone protokoły i porty, a następnie zaznacz tcp, wpisz: 80 oraz zaznacz Inne protokoły i wpisz: icmp.
-
Kliknij
Utwórz
.
Testowanie ukończonego zadania
Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się pomyślnie ukończyć zadanie, wyświetli się odpowiedni wynik.
Tworzenie testowej maszyny wirtualnej
Utwórz instancję testowej maszyny wirtualnej za pomocą wiersza poleceń Cloud Shell.
Utwórz instancję testowej maszyny wirtualnej w strefie us-central1-a:
gcloud compute instances create test-vm --machine-type=f1-micro --subnet=default --zone=us-central1-a
Dane wyjściowe powinny wyglądać mniej więcej tak (nie kopiuj ich; to tylko przykłady):
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
test-vm us-central1-a f1-micro 10.142.0.4 35.237.134.68 RUNNING
Testowanie ukończonego zadania
Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się pomyślnie ukończyć zadanie, wyświetli się odpowiedni wynik.
Testowanie połączeń HTTP
Z testowej maszyny wirtualnej połącz się za pomocą polecenia curl
z wewnętrznymi i zewnętrznymi adresami IP serwera niebieskiego i zielonego.
-
W konsoli wybierz menu nawigacyjne (
) > Compute Engine > Instancje maszyn wirtualnych.
-
Zapisz wewnętrzne i zewnętrzne adresy IP serwerów niebieskiego i zielonego.
-
W testowej maszynie wirtualnej kliknij SSH, aby uruchomić terminal i nawiązać połączenie.
-
Aby przetestować połączenie HTTP z wewnętrznym adresem IP serwera niebieskiego, uruchom następujące polecenie, zastępując wewnętrzny adres IP serwera niebieskiego:
curl <Enter blue's internal IP here>
Powinien pojawić się nagłówek
Welcome to the blue server!
. -
Aby przetestować połączenie HTTP z wewnętrznym adresem IP serwera zielonego, uruchom następujące polecenie, zastępując wewnętrzny adres IP serwera zielonego:
curl -c 3 <Enter green's internal IP here>
Powinien pojawić się nagłówek Welcome to the green server!
.
-
Aby przetestować połączenie HTTP z zewnętrznym adresem IP serwera niebieskiego, uruchom następujące polecenie, zastępując zewnętrzny adres IP serwera niebieskiego:
curl <Enter blue's external IP here>
Powinien pojawić się nagłówek
Welcome to the blue server!
. -
Aby przetestować połączenie HTTP z zewnętrznym adresem IP serwera zielonego, uruchom następujące polecenie, zastępując zewnętrzny adres IP serwera zielonego:
curl -c 3 <Enter green's external IP here>
- Naciśnij CTRL+C, aby zatrzymać żądanie HTTP.
Możesz sprawdzić to samo zachowanie z poziomu przeglądarki, otwierając nową kartę i przechodząc do adresu http://[zewnętrzny adres IP serwera]
.
Poznawanie ról administratora sieci i administratora zabezpieczeń
Cloud IAM umożliwia autoryzację osób do podejmowania działań dotyczących określonych zasobów. Zapewnia to pełną kontrolę i widoczność pozwalającą na centralne zarządzanie zasobami w chmurze. Wymienione niżej role używane są w połączeniu z sieciami pojedynczego projektu w celu niezależnej kontroli dostępu administracyjnego do poszczególnych sieci VPC:
- Administrator sieci: uprawnienia do tworzenia, modyfikowania i usuwania zasobów sieciowych oprócz reguł zapory sieciowej i certyfikatów SSL.
- Administrator zabezpieczeń: uprawnienia do tworzenia, modyfikowania i usuwania reguł zapory sieciowej oraz certyfikatów SSL.
Poznaj te role, stosując je do konta usługi będącego specjalnym kontem Google i należącym do instancji maszyny wirtualnej (a nie do indywidualnego użytkownika końcowego). Zamiast utworzyć nowego użytkownika, dokonasz autoryzacji testowej maszyny wirtualnej do użycia konta usługi w celu demonstracji uprawnień właściwych rolom administratora sieci i administratora zabezpieczeń.
Sprawdzanie bieżących uprawnień
Obecnie testowa maszyna wirtualna używa domyślnego konta usługi Compute Engine włączonego dla wszystkich instancji tworzonych z wiersza poleceń Cloud Shell i konsoli GCP.
Spróbuj wyświetlić lub usunąć dostępne reguły zapory sieciowej z testowej maszyny wirtualnej.
-
Wróć do terminala SSH instancji testowej maszyny wirtualnej.
-
Spróbuj wyświetlić dostępne reguły zapory sieciowej:
gcloud compute firewall-rules list
Dane wyjściowe powinny wyglądać mniej więcej tak (nie kopiuj ich; to tylko przykłady):
ERROR: (gcloud.compute.firewall-rules.list) Some requests did not succeed:
- Insufficient Permission
-
Spróbuj usunąć regułę zapory sieciowej allow-http-web-server (zezwalaj na HTTP serwera WWW):
gcloud compute firewall-rules delete allow-http-web-server
- Jeśli pojawi się pytanie o to, czy chcesz kontynuować, wpisz Y (Tak).
Dane wyjściowe powinny wyglądać mniej więcej tak (nie kopiuj ich; to tylko przykłady):
ERROR: (gcloud.compute.firewall-rules.delete) Could not fetch resource:
- Insufficient Permission
Tworzenie konta usługi
Utwórz konto usługi i zastosuj rolę administrator sieci.
-
W konsoli wybierz menu nawigacyjne (
) > Administracja > Konta usługi.
-
Zwróć uwagę na domyślne konto usługi Compute Engine.
-
Kliknij Utwórz konto usługi.
-
W polu Nazwa konta usługi wpisz Network-admin i kliknij UTWÓRZ.
-
W polu Wybierz rolę wybierz Compute Engine > Compute Network Admin (Administrator sieci Compute) i kliknij DALEJ.
-
Kliknij UTWÓRZ KLUCZ.
-
W obszarze Typ klucza wybierz JSON i kliknij UTWÓRZ.
-
Kliknij ZAPISZ.
Plik klucza JSON zostanie pobrany na komputer lokalny. Znajdź ten klucz. W następnym kroku prześlesz go do maszyny wirtualnej.
-
Zmień nazwę pliku klucza JSON na komputerze lokalnym na credentials.json.
-
Kliknij Zamknij.
-
Kliknij GOTOWE.
Testowanie ukończonego zadania
Kliknij Check my progress (Sprawdź postępy), by zobaczyć stan realizacji zadania. Jeśli udało Ci się pomyślnie ukończyć zadanie, wyświetli się odpowiedni wynik.
Autoryzowanie maszyny wirtualnej i sprawdzanie uprawnień
Autoryzuj testową maszynę wirtualną do używania konta usługi administratora sieci.
-
Wróć do terminala SSH instancji testowej maszyny wirtualnej.
-
Aby przesłać plik credentials.json przez terminal SSH maszyny wirtualnej, w prawym górnym rogu kliknij ikonę koła zębatego, a następnie kliknij Prześlij plik.
-
Wybierz plik credentials.json i prześlij go.
-
W oknie Przesłanie pliku kliknij Zamknij.
-
Autoryzuj maszynę wirtualną, używając przesłanych właśnie danych logowania:
gcloud auth activate-service-account --key-file credentials.json
-
Spróbuj wyświetlić dostępne reguły zapory sieciowej:
gcloud compute firewall-rules list
Dane wyjściowe powinny wyglądać mniej więcej tak (nie kopiuj ich; to tylko przykłady):
NAME NETWORK DIRECTION PRIORITY ALLOW DENY
allow-http-web-server default INGRESS 1000 tcp:80
default-allow-icmp default INGRESS 65534 icmp
default-allow-internal default INGRESS 65534 all
default-allow-rdp default INGRESS 65534 tcp:3389
default-allow-ssh default INGRESS 65534 tcp:22
To powinno zadziałać.
-
Spróbuj usunąć regułę zapory sieciowej allow-http-web-server (zezwalaj na HTTP serwera WWW):
gcloud compute firewall-rules delete allow-http-web-server
- Jeśli pojawi się pytanie o to, czy chcesz kontynuować, wpisz Y (Tak).
Dane wyjściowe powinny wyglądać mniej więcej tak (nie kopiuj ich; to tylko przykłady):
ERROR: (gcloud.compute.firewall-rules.delete) Could not fetch resource:
- Required 'compute.firewalls.delete' permission for 'projects/[PROJECT_ID]/global/firewalls/allow-http-web-server'
Aktualizowanie konta usługi i sprawdzanie uprawnień
Zaktualizuj konto usługi Network-admin (Administrator sieci), nadając mu rolę Administrator zabezpieczeń.
-
W konsoli wybierz menu nawigacyjne (
) > Administracja > Uprawnienia.
-
Znajdź konto Network-admin. Aby ułatwić sobie to zadanie, zwróć uwagę na kolumnę Nazwa.
-
Kliknij ikonę ołówka dla konta Network-admin.
-
Zmień ustawienie Rola na Compute Engine > Compute Security Admin (Administrator zabezpieczeń Compute).
-
Kliknij Zapisz.
-
Wróć do terminala SSH instancji testowej maszyny wirtualnej.
-
Spróbuj wyświetlić dostępne reguły zapory sieciowej:
gcloud compute firewall-rules list
Dane wyjściowe powinny wyglądać mniej więcej tak (nie kopiuj ich; to tylko przykłady):
NAME NETWORK DIRECTION PRIORITY ALLOW DENY
allow-http-web-server default INGRESS 1000 tcp:80
default-allow-icmp default INGRESS 65534 icmp
default-allow-internal default INGRESS 65534 all
default-allow-rdp default INGRESS 65534 tcp:3389
default-allow-ssh default INGRESS 65534 tcp:22
To powinno zadziałać.
-
Spróbuj usunąć regułę zapory sieciowej allow-http-web-server (zezwalaj na HTTP serwera WWW):
gcloud compute firewall-rules delete allow-http-web-server
- Jeśli pojawi się pytanie o to, czy chcesz kontynuować, wpisz Y (Tak).
Dane wyjściowe powinny wyglądać mniej więcej tak (nie kopiuj ich; to tylko przykłady):
Deleted [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-00e186e4b1cec086/global/firewalls/allow-http-web-server].
To powinno zadziałać.
Sprawdzanie, czy reguła zapory sieciowej została usunięta
Sprawdź, czy na pewno doszło do utraty dostępu HTTP do zewnętrznego adresu IP serwera niebieskiego spowodowanej usunięciem reguły zapory sieciowej allow-http-web-server (zezwalaj na HTTP serwera WWW).
-
Wróć do terminala SSH instancji testowej maszyny wirtualnej.
-
Aby przetestować połączenie HTTP z zewnętrznym adresem IP serwera niebieskiego, uruchom następujące polecenie, zastępując zewnętrzny adres IP serwera niebieskiego:
curl -c 3 <Enter blue's external IP here>
- Naciśnij CTRL+C, aby zatrzymać żądanie HTTP.
Gratulacje!
W tym module udało Ci się utworzyć 2 serwery WWW, a także nauczyć się, jak kontrolować zewnętrzny dostęp HTTP przy użyciu oznaczonych tagami reguł zapory sieciowej. Zostało też utworzone konto usługi – najpierw z rolą Administrator sieci, a następnie z rolą Administrator zabezpieczeń – aby poznać różne uprawnienia tych ról.
Jeśli w Twojej firmie funkcjonuje zespół ds. zabezpieczeń zarządzający zaporami sieciowymi i certyfikatami SSL oraz zespół ds. sieci zarządzający pozostałymi zasobami sieciowymi, zespołowi ds. zabezpieczeń przyznaj rolę Administrator zabezpieczeń, a zespołowi ds. sieci – Administrator sieci.
Ukończ kurs
Ten moduł do samodzielnego ukończenia jest częścią kursu Qwiklabs: Networking in the Google Cloud. Każdy kurs składa się z zestawu powiązanych ze sobą modułów, które razem tworzą ścieżkę szkoleniową. Za ukończenie kursu otrzymujesz widoczną powyżej odznakę – stanowi ona potwierdzenie Twojego osiągnięcia. Swoje odznaki możesz ustawiać jako widoczne publicznie, a także umieszczać linki do nich w swoim CV online lub w mediach społecznościowych. Zapisz się na ten kurs, a natychmiast po jego ukończeniu otrzymasz odpowiednie potwierdzenie. Zobacz inne dostępne kursy Qwiklabs
Przejście do kolejnego modułu
Możesz uczyć się dalej w ramach modułu Korzystanie z połączeń równorzędnych w sieci VPC lub sprawdź inne propozycje:
Kolejne kroki / Więcej informacji
Informacje na temat podstawowych pojęć dotyczących Google Cloud Identity and Access Management uzyskasz tutaj (materiały w języku angielskim):
Szkolenia i certyfikaty Google Cloud
…pomogą Ci wykorzystać wszystkie możliwości technologii Google Cloud. Nasze zajęcia obejmują umiejętności techniczne oraz sprawdzone metody, które ułatwią Ci szybką naukę i umożliwią jej kontynuację. Oferujemy szkolenia na poziomach od podstawowego po zaawansowany prowadzone w trybach wirtualnym, na żądanie i na żywo, dzięki czemu możesz dopasować program szkoleń do swojego napiętego harmonogramu. Certyfikaty umożliwią udokumentowanie i potwierdzenie Twoich umiejętności oraz doświadczenia w zakresie technologii Google Cloud.
Ostatnia aktualizacja instrukcji: 22 listopada 2019 r.
Ostatni test modułu: 22 listopada 2019 r.
Copyright 2020 Google LLC. Wszelkie prawa zastrzeżone. Google i logo Google są znakami towarowymi Google LLC. Wszelkie inne nazwy firm i produktów mogą być znakami towarowymi odpowiednich podmiotów, z którymi są powiązane.