0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Lekcja

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.sh

Sekrety 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-latest

Wymagane 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

  1. Czym są CI/CD i DevOps?
  2. Podstawowe pojęcia GitHub Actions
  3. Państwa pierwszy workflow GitHub
  4. Zarządzanie sekretami i zmiennymi środowiskowymi
← Powrót do CI/CD with GitHub Actions & DevOps Pipelines