Zarządzanie zaszyfrowanymi wpisami tajnymi

Ukończone

Wpisy tajne są zaszyfrowanymi zmiennymi środowiskowymi, które można tworzyć w celu przechowywania tokenów, poświadczeń lub innych typów poufnych informacji, na których mogą polegać przepływy pracy i akcje funkcji GitHub Actions. Po utworzeniu stają się one dostępne do użycia w przepływach pracy i akcjach, które mają dostęp do organizacji, repozytorium lub środowiska repozytorium, w którym są przechowywane.

W tej sekcji zapoznasz się z różnymi narzędziami i strategiami dostępnymi w usłudze GitHub Enterprise Cloud i GitHub Enterprise Server, aby zarządzać użyciem zaszyfrowanych wpisów tajnych. Wyjaśnimy również, jak uzyskać dostęp do zaszyfrowanych wpisów tajnych w przepływach pracy i akcjach.

Zarządzanie zaszyfrowanymi wpisami tajnymi na poziomie organizacji

Tworzenie zaszyfrowanych wpisów tajnych na poziomie organizacji w celu przechowywania poufnych informacji jest doskonałym sposobem zapewnienia bezpieczeństwa tych informacji, jednocześnie minimalizując obciążenie związane z zarządzaniem w przedsiębiorstwie.

Załóżmy, że niektórzy deweloperzy piszący przepływy pracy w organizacji usługi GitHub potrzebują poświadczeń do wdrożenia kodu w środowisku produkcyjnym w niektórych przepływach pracy. Aby uniknąć udostępniania tych poufnych informacji, można utworzyć zaszyfrowany wpis tajny zawierający poświadczenia na poziomie organizacji. Dzięki temu poświadczenia mogą być używane w przepływach pracy bez uwidocznienia.

Aby utworzyć wpis tajny na poziomie organizacji, przejdź do ustawień organizacji, a następnie na pasku bocznym wybierz pozycję Wpisy tajne i zmienne Akcje > Nowy wpis > tajny organizacji. Na wyświetlonym ekranie wprowadź nazwę i wartość, a następnie wybierz zasady dostępu do repozytorium dla wpisu tajnego:

Nowy ekran wpisu tajnego dla organizacji.

Zasady dostępu są wyświetlane poniżej wpisu tajnego na liście wpisów tajnych po jego zapisaniu:

Przykład zaszyfrowanych wpisów tajnych z wyświetlonymi zasadami dostępu.

Możesz wybrać pozycję Aktualizuj , aby uzyskać więcej informacji na temat skonfigurowanych uprawnień dla wpisu tajnego.

Zarządzanie zaszyfrowanymi wpisami tajnymi na poziomie repozytorium

Jeśli potrzebujesz zaszyfrowanego wpisu tajnego w zakresie określonego repozytorium, usługa GitHub Enterprise Cloud i serwer GitHub Enterprise Server umożliwiają również tworzenie wpisów tajnych na poziomie repozytorium.

Aby utworzyć wpis tajny na poziomie repozytorium, przejdź do obszaru Ustawienia repozytorium, a następnie na pasku bocznym wybierz pozycję Wpisy tajne i zmienne > Akcje > Nowy wpis tajny repozytorium. Na wyświetlonym ekranie wprowadź nazwę i wartość wpisu tajnego:

Nowy ekran wpisu tajnego dla repozytoriów.

Uzyskiwanie dostępu do zaszyfrowanych wpisów tajnych w ramach akcji i przepływów pracy

W przepływach pracy

Aby uzyskać dostęp do zaszyfrowanego wpisu tajnego w przepływie pracy, należy użyć secrets kontekstu w pliku przepływu pracy. Na przykład:

steps:
  - name: Hello world action
    with: # Set the secret as an input
      super_secret: ${{ secrets.SuperSecret }}
    env: # Or as an environment variable
      super_secret: ${{ secrets.SuperSecret }}

W akcjach

Aby uzyskać dostęp do zaszyfrowanego wpisu tajnego w akcji, należy określić wpis tajny jako input parametr w action.yml pliku metadanych. Na przykład:

inputs:
  super_secret:
    description: 'My secret token'
    required: true

Jeśli chcesz uzyskać dostęp do zaszyfrowanego wpisu tajnego w kodzie akcji, kod akcji może odczytać wartość danych wejściowych przy użyciu zmiennej środowiskowej $SUPER_SECRET .

Ostrzeżenie

Podczas tworzenia własnych akcji pamiętaj, aby nie uwzględniać żadnych zaszyfrowanych wpisów tajnych w kodzie źródłowym akcji, ponieważ akcje są jednostkami pracy, które można udostępnić. Jeśli akcja wymaga użycia zaszyfrowanych wpisów tajnych lub innych danych wejściowych dostarczonych przez użytkownika, najlepiej użyć podstawowego modułu z zestawu narzędzi Actions Toolkit.