Przejdź do treści

Potoki dostają tylko te sekrety, które przyznasz

Token usługowy powstaje w twojej przeglądarce i jest pokazywany raz; serwer przechowuje tylko jego klucze publiczne. Przyznaj mu środowiska potrzebne potokowi i dodaj powiązanie OIDC, aby działał tylko we właściwym repozytorium i gałęzi.

  • Tokeny odczytują tylko to, co przyznasz
  • Powiązanie OIDC dla GitHub, GitLab i Bitbucket
  • Production może w ogóle nie trafiać do CI
Przykład. Kiteline to fikcyjna firma.

Token, który nie otworzy więcej, niż mu dasz

Token crunu_svc_ powstaje w całości w przeglądarce administratora i jest pokazywany raz. Odczytuje tylko środowiska, do których przyznasz dostęp: token dla development nigdy nie dostaje klucza do production.

  • Dzierżawa, użycia i sieciNadaj tokenowi dzierżawę, limit użyć od 1 do 1 000 000 i sieci, z których może się łączyć.
  • Powiązany z twoim repozytoriumZ powiązaniem OIDC token działa tylko razem z tokenem twojego dostawcy CI dla wybranego repozytorium, gałęzi i środowiska wdrożenia. Ponownie użyty token dostawcy zostaje odrzucony.
  • Każde użycie jest zapisywaneLogowania tokenów i odmowy trafiają do dziennika audytu, a ponowne użycie tokenu CI wywołuje alert.

Przeczytaj dokumentację

Trzy wiersze w potoku

Zapisz token w zmiennych sekretnych swojego CI jako CRUNU_TOKEN, zainstaluj przypiętą wersję crunu i uruchom krok przez crunu run. Zmienne są odszyfrowywane w pamięci i nic nie trafia na dysk.

  • Przypięta, sprawdzona instalacjaAplikacja pokazuje polecenie instalacji z dokładnymi sumami kontrolnymi z podpisanego manifestu wydania.
  • Gotowe nakładkiGitHub Action, szablon GitLab i pipe Bitbucket instalują przypiętą wersję i sprawdzają jej SHA-256.
  • Kody wyjścia są przekazywanecrunu run zwraca kod wyjścia uruchomionego programu, więc nieudany test nadal oblewa krok.

Przeczytaj dokumentację

Co sprawdza każdy system CI

Agent sam znajduje token dostawcy CI w GitHub Actions, GitLab CI i Bitbucket Pipelines. Każde inne CI działa z tokenem zapisanym w jego sekretach.

Systemy CI i powiązania OIDC
System CICo sprawdza powiązanie OIDCNakładka
GitHub ActionsRepozytorium, ref, środowisko wdrożeniaAction setup-crunu skopiowana do twojego repozytorium
GitLab CIŚcieżka projektu, ref, typ refa, środowisko wdrożeniaSzablony .crunu i .crunu-oidc
Bitbucket PipelinesRepozytorium, gałąź, środowisko wdrożeniaPipe crunu run, obraz budujesz samodzielnie
Dowolny dostawca OIDCDowolny wystawca, klucze przez OIDC DiscoveryToken i crunu run
Dowolne CI bez OIDCTylko tokenToken i crunu run

Przeczytaj dokumentację

Trzymaj production z dala od potoku

Zalecana konfiguracja nigdy nie przepuszcza sekretów production przez CI. Agent działa na maszynie production, a potok tylko restartuje usługę.

  • Maszyna pobiera swoje samaSerwer production jest zarejestrowany jako maszyna i dostaje swoje środowisko bezpośrednio.
  • CI tylko restartujeKrok wdrożenia restartuje usługę; crunu run --restart on-change restartuje ją też, gdy zmienią się wartości.
  • Gdy CI musi sięgnąć do productionUżyj osobnego tokenu production z powiązaniem OIDC, zatwierdzonego przez właściciela, z każdym dostarczeniem zapisanym w dzienniku audytu.

Maszyny

Co warto wiedzieć przed podłączeniem

Tokeny trzymają production poza zasięgiem. Niektóre elementy CI to wciąż przepisy, a nie gotowe przyciski.

  • Nakładek nie ma w katalogach integracjiSkopiuj GitHub Action do swojego repozytorium, a obraz pipe Bitbucket zbuduj i opublikuj samodzielnie.
  • Brak wbudowanej synchronizacji z platformamiŻadna integracja nie wysyła wartości do Vercel, Cloudflare, AWS Secrets Manager ani GitHub Secrets. Udokumentowany sposób to przepis z crunu run.
  • Krok odczyta to, co dostanieWszystko, co działa w zadaniu, widzi zmienne, które otrzymuje. Przyznawaj jak najmniej środowisk.
  • Powiąż tokeny productionToken bez powiązania OIDC działa z każdego dozwolonego adresu, dopóki go nie unieważnisz albo nie skończy się jego dzierżawa lub limit użyć.

Wszystkie znane ograniczenia

Odpowiedzi na częste pytania

Masz inne pytanie? Napisz na support@crunu.com

Czy token, który wyciekł, odczyta production?

Nie, jeśli nie przyznano mu production. Token dla development nigdy nie dostaje klucza do production. Z powiązaniem OIDC token, który wyciekł, w ogóle nie działa bez tokenu twojego dostawcy CI dla właściwego repozytorium i gałęzi.

Czy potrzebuję OIDC?

Nie. Każde CI może użyć tokenu usługowego zapisanego w swoich sekretach. OIDC dodaje drugą kontrolę, która wiąże token z twoim repozytorium i gałęzią.

Gdzie jest przechowywany token?

W zmiennych sekretnych twojego CI. Serwer przechowuje tylko klucze publiczne tokenu, dlatego token jest pokazywany raz i nie da się go odzyskać.

Czy token może działać tylko kilka razy?

Tak. Ustaw limit użyć od 1 do 1 000 000, a do tego dzierżawę i dozwolone sieci.

Czy Crunu może wysyłać zmienne do Vercel lub Cloudflare?

Nie przez wbudowaną synchronizację. Możesz to zrobić w kroku potoku przez crunu run i własne polecenie platformy, używając tokenu powiązanego przez OIDC.

Wyprowadź sekrety production z potoku

Utwórz token dla jednego środowiska staging i uruchom testy przez crunu run.

Bezpłatnie we wczesnym dostępie. Poznaj model bezpieczeństwa