Salaisten koodien hallinta GitHubissa

Valmis

Salaisuudet ovat muuttujia, jotka luot organisaatio-, säilö- tai säilöympäristössä. Salaisia malleja voi käyttää GitHub Actions -työnkuluissa. GitHub Actions voi lukea salaisen koodin vain, jos sisällytät salaisen koodin työnkulkuun eksplisiittisesti.

Organisaatiotasolla tallennetuissa salaisuissa voit käyttää käyttöoikeuskäytäntöjä hallitaksesi, mitkä säilöt voivat käyttää organisaation salaisia salaisuustietoja. Organisaatiotason salaisten koodien avulla voit jakaa salaisia salaisuus useiden säilöjen välillä. Tämä vähentää salaisten koodien kaksoiskappaleiden luomisen tarvetta. Päivittämällä organisaation salaisen koodin yhdessä sijainnissa varmistat myös, että muutos tulee voimaan kaikissa säilön työnkuluissa, jotka käyttävät tätä salaista salaista koodia.

Ympäristön tasolla tallennettujen salaisten koodien osalta voit antaa tarvittaville tarkastajille mahdollisuuden hallita salaisten koodien käyttöä. Työnkulkutyö ei voi käyttää ympäristön salaisten koodien käyttöä, elleivät tarvittavat hyväksyjät ole hyväksyneet sitä.

Muistiinpano

Voit määrittää työnkulut todentamaan ne suoraan Azureen resurssien käyttöä varten.

Salaisten koodien nimeäminen

Salaisten nimien nimiä koskevat seuraavat säännöt:

  • Nimet voivat sisältää vain aakkosnumeerisia merkkejä ([a-z], [A-Z], [0-9]) tai alaviivoja (_). Välilyöntejä ei sallita.
  • Nimet eivät saa alkaa GITHUB_ etuliitteellä.
  • Nimet eivät saa alkaa luvulla.
  • Nimien kirjainkoolla ei ole merkitystä.
  • Nimien on oltava yksilöllisiä tasolla, jolloin ne luodaan.

Varmista, että GitHub muokkaa salaista koodia lokeissa, välttämällä jäsennettyjen tietojen käyttämistä salaisten koodien arvoina. Vältä esimerkiksi luomasta salaisuuksia, jotka sisältävät JSON-koodattuja Git-blob-objekeja.

Salaisten koodien käyttäminen

Määritä salaisuus syöte- tai ympäristömuuttujaksi työnkulkutiedostossa, jotta se on toiminnon käytettävissä. Voit käyttää ja lukea salaisuuksia työnkulkutiedostossa, jos sinulla on käyttöoikeus tiedoston muokkaamiseen. Lisätietoja on osoitteessa Käyttöoikeudet GitHub-.

Organisaation ja säilön salaisuudet luetaan, kun työnkulun suorittaminen on jonossa ja ympäristön salaisuudet luetaan, kun ympäristöön viittaava työ käynnistetään. Voit hallita salaisuuksia myös REST-ohjelmointirajapinnan avulla.

Tunnistetietojen käyttöoikeuksien rajoittaminen

On suositeltavaa myöntää mahdollisimman vähimmäisoikeudet. Henkilökohtaisten tunnistetietojen käyttämisen sijaan voit esimerkiksi käyttää käyttöönottoavaimia tai palvelutiliä. Harkitse Vain luku -käyttöoikeuksien myöntämistä, jos siinä kaikki, mitä tarvitaan, ja rajoita käyttöoikeuksia mahdollisimman paljon.

Kun luot henkilökohtaista käyttöoikeustietuetta (perinteinen), valitse vähiten tarvittavia vaikutusalueita. Kun luot tarkasti määritettyä henkilökohtaista käyttöoikeustietuetta, valitse tarvittavat vähimmäisoikeudet ja säilön käyttö.

Salaisten koodien luominen

Jotta voit luoda salaisuuksia tai muuttujia GitHubissa henkilökohtaisen tilin säilölle, sinun on oltava säilön omistaja. Jotta voit luoda salaisuuksia tai muuttujia GitHubissa organisaation säilölle, sinulla on oltava admin käyttöoikeus. Lisäksi jos haluat luoda salaisuuksia tai muuttujia henkilökohtaiselle tilisäilölle tai organisaation säilölle REST-ohjelmointirajapinnan kautta, sinulla on oltava yhteiskäyttöoikeus.

Salaista koodia voi luoda seuraavasti:

  • Valitse Asetukset- säilön yläreunan siirtymispalkista.
  • Valitse vasemmassa siirtymisruudussa Security -osassa avattava Secrets ja muuttujat.
  • Valitse Toiminnot, jos haluat käyttää Toimintojen salaisia salaisuuksia ja muuttujia sivulla.

Salaisten koodien käyttäminen työnkulussa

Jos haluat tarjota toiminnon, joka sisältää salaisen koodin syötteenä tai ympäristömuuttujana, voit käyttää säilössäsi luotuja salaisia salaisuuksia secrets kontekstin avulla. Seuraavassa koodissa on esimerkki salaisten koodien käyttöstä työnkulussa.

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

Salaisiin salaisuuksiin ei voi viitata suoraan if: ehdoissa. Harkitse salaisten koodien määrittämistä työtason ympäristömuuttujiksi ja viittaamaan sitten ympäristömuuttujiin, jotta voit suorittaa työn vaiheet ehdollisesti.

Jos salaisen koodin arvoa ei ole määritetty, salauskoodiin viittaavan lausekkeen (esimerkiksi ${{ secrets.SuperSecret }}) palautusarvo on tyhjä merkkijono.