Hantera krypterade hemligheter

Slutförd

Hemligheter är krypterade miljövariabler som du kan skapa för att lagra token, autentiseringsuppgifter eller någon annan typ av känslig information som dina GitHub Actions-arbetsflöden och åtgärder kan förlita sig på. När de har skapats blir de tillgängliga att använda i arbetsflöden och åtgärder som har åtkomst till den organisation, lagringsplats eller lagringsplatsmiljö där de lagras.

I det här avsnittet ska du utforska de olika verktyg och strategier som är tillgängliga i GitHub Enterprise Cloud och GitHub Enterprise Server för att hantera användningen av krypterade hemligheter. Vi förklarar också hur du får åtkomst till krypterade hemligheter i dina arbetsflöden och åtgärder.

Hantera krypterade hemligheter på organisationsnivå

Att skapa krypterade hemligheter på organisationsnivå för att lagra känslig information är ett bra sätt att säkerställa säkerheten för den här informationen, samtidigt som hanteringskostnaderna i företaget minimeras.

Anta att vissa utvecklare som skriver arbetsflöden i din GitHub-organisation behöver autentiseringsuppgifterna för att distribuera kod till produktion i några av sina arbetsflöden. För att undvika att dela den här känsliga informationen kan du skapa en krypterad hemlighet som innehåller autentiseringsuppgifterna på organisationsnivå. På så sätt kan autentiseringsuppgifterna användas i arbetsflödena utan att exponeras.

Om du vill skapa en hemlighet på organisationsnivå går du till organisationens inställningar och i sidofältet väljer du Hemligheter och variabler > Åtgärder > Ny organisationshemlighet. På skärmen som visas anger du ett namn och ett värde och väljer en lagringsplatsåtkomstprincip för din hemlighet:

Ny hemlig skärm för organisationer.

Åtkomstprincipen visas under hemligheten i hemlighetslistan när den har sparats:

Exempel på krypterade hemligheter med åtkomstprincip som visas.

Du kan välja Uppdatera för mer information om de konfigurerade behörigheterna för din hemlighet.

Hantera krypterade hemligheter på lagringsplatsnivå

Om du behöver en krypterad hemlighet som ska begränsas till en specifik lagringsplats kan du även skapa hemligheter på lagringsplatsnivå i GitHub Enterprise Cloud och GitHub Enterprise Server.

Om du vill skapa en hemlighet på lagringsplatsnivå går du till lagringsplatsens inställningar och i sidofältet väljer du Hemligheter och variabler > Åtgärder > Ny lagringsplatshemlighet. På skärmen som visas anger du ett namn och ett värde för din hemlighet:

Ny hemlig skärm för lagringsplatser.

Få åtkomst till krypterade hemligheter i åtgärder och arbetsflöden

I arbetsflöden

Om du vill komma åt en krypterad hemlighet i ett arbetsflöde måste du använda kontexten secrets i arbetsflödesfilen. Till exempel:

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 }}

I åtgärder

Om du vill komma åt en krypterad hemlighet i en åtgärd måste du ange hemligheten som en input parameter i action.yml metadatafilen. Till exempel:

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

Om du behöver komma åt den krypterade hemligheten i åtgärdens kod kan åtgärdskoden läsa värdet för indata med hjälp $SUPER_SECRET av miljövariabeln.

Varning

När du redigerar dina egna åtgärder ska du se till att inte inkludera några krypterade hemligheter i åtgärdens källkod, eftersom åtgärder är delbara arbetsenheter. Om åtgärden behöver använda krypterade hemligheter eller andra användarindata är det bäst att använda kärnmodulen från Åtgärdsverktyg.