Zarządzanie sekretami i zmiennymi środowiskowymi
Bezpiecznie korzystaj z sekretów, zmiennych i środowisk GitHub Actions, aby chronić dane uwierzytelniające przed umieszczeniem w kodzie i kontrolować wdrożenia.
Zarządzanie sekretami i zmiennymi środowiskowymi to bezpłatna lekcja CI/CD with GitHub Actions & DevOps Pipelines na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej CI/CD with GitHub Actions & DevOps Pipelines, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs CI/CD with GitHub Actions & DevOps Pipelines zawiera 4 lekcji w sumie.
Dlaczego sekrety wymagają ostrożności
Potoki potrzebują tokenów i haseł, aby uzyskać dostęp do rejestrów i środowisk chmurowych. Wpisanie ich na stałe ujawnia je każdej osobie mającej dostęp do repozytorium — temu właśnie zapobiegają sekrety.
Gdzie przechowywane są sekrety
Sekrety dodaje się w ustawieniach repozytorium, organizacji lub środowiska. Są szyfrowane podczas przechowywania, a przepływy pracy otrzymują je wyłącznie jako zamaskowane wartości.
Używanie sekretu
Odwołaj się do sekretu za pośrednictwem kontekstu secrets, a następnie przekaż go do kroku jako zmienną środowiskową lub dane wejściowe akcji. W tym przykładzie zasila on skrypt wdrożeniowy.
steps:
- name: Deploy
env:
API_TOKEN: ${{ secrets.API_TOKEN }}
run: ./deploy.shSekrety są maskowane
GitHub automatycznie maskuje sekrety w logach jako ***. Mimo to nigdy nie wyświetlaj ani nie zapisuj sekretu — przekształcenia takie jak base64 mogą ominąć maskowanie i doprowadzić do jego ujawnienia.
Zmienne a sekrety
W przypadku niesensytywnej konfiguracji, takiej jak region lub flaga kompilacji, użyj zmiennych za pośrednictwem kontekstu vars. Są widoczne w interfejsie użytkownika, co nie stanowi problemu, gdy nie zawierają sekretów.
env:
REGION: ${{ vars.AWS_REGION }}Domyślny GITHUB_TOKEN
Każde uruchomienie otrzymuje automatyczny GITHUB_TOKEN do uwierzytelniania w repozytorium. Ogranicz jego zakres za pomocą klucza permissions, stosując zasadę minimalnych uprawnień.
permissions:
contents: read
pull-requests: writeŚrodowiska
Środowisko, takie jak staging lub production, grupuje sekrety i dodaje reguły ochrony — wymagane osoby zatwierdzające, timery oczekiwania i ograniczenia gałęzi — zanim uruchomi się wdrożenie.
jobs:
deploy:
environment: production
runs-on: ubuntu-latestWymagane osoby zatwierdzające
W przypadku chronionego środowiska zadanie wdrożeniowe zostaje wstrzymane do momentu zatwierdzenia przez wyznaczoną osobę zatwierdzającą — to celowa kontrola człowieka przed wdrożeniem na produkcję.
Bezpieczeństwo PR-ów z forków
Sekrety nigdy nie są przekazywane przepływom pracy uruchamianym z PR-ów z forków, więc niezaufany współtwórca nie może ich wykraść. Projektuj CI tak, aby PR-y z forków nie wymagały sekretów.
Rotowanie sekretów
Zakładaj, że każdy sekret można rotować. Gdy sekret wycieknie lub wygaśnie, po prostu zaktualizuj go w ustawieniach — kolejne uruchomienie pobierze nową wartość bez żadnych zmian w kodzie.
Podsumowanie dobrych praktyk
Zestaw zasad: sekrety dla wrażliwych wartości, zmienne dla pozostałych, odpowiednio ograniczony GITHUB_TOKEN, środowiska chroniące produkcję oraz nigdy niezapisywanie sekretu w logach.
Szybki test
Sekret czy zmienna, wartość zamaskowana czy widoczna — co należy zastosować w danym przypadku?
Podsumowanie
Potrafisz już bezpiecznie zarządzać sekretami i zmiennymi: przechowywać je w postaci zaszyfrowanej, odczytywać za pomocą kontekstu secrets, ograniczać zakres tokena i chronić wdrożenia za pomocą środowisk.
Często zadawane pytania
Czy lekcja „Zarządzanie sekretami i zmiennymi środowiskowymi” jest bezpłatna?
Tak — pełny tekst „Zarządzanie sekretami i zmiennymi środowiskowymi” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu CI/CD with GitHub Actions & DevOps Pipelines, przejdź na CoddyKit PRO. Kurs CI/CD with GitHub Actions & DevOps Pipelines zawiera 4 lekcji w sumie.
Co nauczysz się w „Zarządzanie sekretami i zmiennymi środowiskowymi”?
Bezpiecznie korzystaj z sekretów, zmiennych i środowisk GitHub Actions, aby chronić dane uwierzytelniające przed umieszczeniem w kodzie i kontrolować wdrożenia. Ćwiczysz CI/CD with GitHub Actions & DevOps Pipelines z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć CI/CD with GitHub Actions & DevOps Pipelines?
Nie wymagamy żadnego doświadczenia. CI/CD with GitHub Actions & DevOps Pipelines w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Zarządzanie sekretami i zmiennymi środowiskowymi”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji CI/CD with GitHub Actions & DevOps Pipelines?
Tak. Każda lekcja CI/CD with GitHub Actions & DevOps Pipelines zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Czym są CI/CD i DevOps?
- Podstawowe pojęcia GitHub Actions
- Państwa pierwszy workflow GitHub
- Zarządzanie sekretami i zmiennymi środowiskowymi