Titkos változók beállítása

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

A titkos változók titkosított változók, amelyeket az értékük felfedése nélkül használhat a folyamatokban. Titkos változók használhatók személyes adatokhoz, például jelszavakhoz, azonosítókhoz és egyéb olyan azonosító adatokhoz, amelyeket nem szeretne felfedni egy folyamatban. A titkos változók inaktív állapotban titkosítva vannak egy 2048 bites RSA-kulccsal, és elérhetők az ügynökön a használandó feladatokhoz és szkriptekhez.

A titkos változók beállításának ajánlott módjai a felhasználói felületen, egy változócsoportban és az Azure Key Vault változócsoportjában találhatók. A titkos változókat naplózási paranccsal is beállíthatja egy szkriptben, de ez nem ajánlott, mivel bárki, aki hozzáfér a folyamathoz, láthatja a titkos kulcsot is.

A folyamat folyamatbeállítási felhasználói felületén beállított titkos változók hatóköre arra a folyamatra terjed ki, amelyben be vannak állítva. A változócsoportok segítségével titkos változókat oszthat meg a folyamatok között.

Titkos változó a felhasználói felületen

Titkos változókat a folyamatszerkesztőben állíthat be, amikor egy adott folyamatot szerkeszt. A zárolás ikon kiválasztásával titkosíthatja és titkossá teheti a folyamatváltozót.

A titkos változókat ugyanúgy állíthatja be, mint a YAML és a klasszikus esetében.

Ha titkos kulcsokat szeretne beállítani a webes felületen, kövesse az alábbi lépéseket:

  1. Lépjen a Folyamatok lapra, válassza ki a megfelelő folyamatot, majd válassza a Szerkesztés lehetőséget.
  2. Keresse meg a folyamat változóit .
  3. Adja hozzá vagy frissítse a változót.
  4. A változó titkosított tárolásához válassza az érték titokban tartásának lehetőségét.
  5. Mentse a folyamatot.

A titkos változók inaktív állapotban, 2048 bites RSA-kulccsal vannak titkosítva. A titkos kódok az ügynökön érhetők el a használni kívánt feladatokhoz és szkriptekhez. Ügyeljen arra, hogy kinek van hozzáférése a folyamat módosításához.

Fontos

Igyekszünk elfedni a titkos kulcsokat az Azure Pipelines kimenetében való megjelenéstől, de óvintézkedéseket kell tennie. Soha ne visszhangozza a titkos kulcsokat kimenetként. Néhány operációs rendszer naplójának parancssori argumentumai. Soha ne adjon át titkos kulcsokat a parancssorban. Ehelyett azt javasoljuk, hogy a titkos kulcsokat környezeti változókra képezheti le.

Soha nem maszkoljuk a titkos kódok részszúrásait. Ha például az "abc123" titkos kódként van beállítva, az "abc" nem maszkolódik a naplókból. Ennek az az oka, hogy a titkos kulcsok túl részletes elfedésének elkerülése érdekében a naplók olvashatatlanok lesznek. Ezért a titkos kódok nem tartalmazhatnak strukturált adatokat. Ha például a"{ "foo": "bar" }" titkos kódként van beállítva, a "bar" nem lesz maszkolva a naplókból.

A normál változókkal ellentétben a rendszer nem fejti vissza automatikusan a szkriptek környezeti változóira. Explicit módon le kell képeznie a titkos változókat.

Titkos változó használata a felhasználói felületen

A titkos változók környezeti változóként való leképezéséhez yaML-folyamatokban kell hivatkoznia rájuk. Ebben a példában két titkos változó van definiálva a felhasználói felületen és SecretOneSecretTwoa . Az érték SecretOne az érték foo , az értéke SecretTwo pedig az bar.

steps:
- powershell: |
      Write-Host "My first secret variable is $env:FOO_ONE"
      $env:FOO_ONE -eq "foo"
  env:
    FOO_ONE: $(SecretOne)
- bash: |
    echo "My second secret variable: $FOO_TWO"
    if [ "$FOO_TWO" = "bar" ]; then
        echo "Strings are equal."
    else
        echo "Strings are not equal."
    fi
  env:
    FOO_TWO: $(SecretTwo) 

A folyamat kimenetei:

My first secret variable is ***
True
My second secret variable: ***
Strings are equal.

Feljegyzés

Az Azure Pipelines arra törekszik, hogy titkos kulcsokat rejtsen el, amikor adatokat bocsát ki a folyamatnaplókba, így további változókat és adatokat láthat a kimenetben és a naplókban, amelyek nincsenek titkos kulcsként beállítva.

Részletesebb példa: Változók definiálása.

Titkos változó beállítása változócsoportban

Titkos kulcsokat adhat hozzá egy változócsoporthoz, vagy csatolhat titkos kulcsokat egy meglévő Azure Key Vaultból.

Új változócsoportok létrehozása

  1. Válassza a Pipelines>Library>+ változócsoportot.

    Screenshot of Add variable group button highlighted with red box.

  2. Adja meg a csoport nevét és leírását.

  3. Nem kötelező: A kapcsoló mozgatása titkos kulcsok azure-kulcstartóból változóként való összekapcsolásához. További információ: Az Azure Key Vault titkos kulcsainak használata.

  4. Adja meg a csoportba felvenni kívánt változók nevét és értékét, és válassza a + Hozzáadás lehetőséget mindegyikhez.

  5. A változó biztonságossá tételéhez válassza a sor végén található "zárolás" ikont.

  6. Ha befejezte a változók hozzáadását, válassza a Mentés lehetőséget.

    Screenshot of saving a variable group.

A változócsoportok a kódtár biztonsági modelljét követik.

Meglévő Azure Key Vault csatolása egy változócsoporthoz, és a szelektív tároló titkos kulcsainak leképezése a változócsoporthoz.

  1. A Változócsoportok lapon engedélyezze az Azure Key Vault titkos kulcsainak csatolását változóként. Szüksége lesz egy meglévő kulcstartóra, amely tartalmazza a titkos kulcsokat. Hozzon létre egy kulcstartót az Azure Portal használatával.

    Screenshot of variable group with Azure key vault integration.

  2. Adja meg az Azure-előfizetés végpontját és a titkos kulcsokat tartalmazó tároló nevét.

    Győződjön meg arról, hogy az Azure-szolgáltatáskapcsolat rendelkezik legalább get and list management engedélyekkel a tárolón a titkos kódokhoz. Engedélyezze az Azure Pipelines számára ezeknek az engedélyeknek a beállítását a tároló neve melletti Engedélyezés lehetőség választásával. Vagy állítsa be manuálisan az engedélyeket az Azure Portalon:

    1. Nyissa meg a tárolóhoz tartozó Gépház, majd válassza az Új hozzáadása hozzáférési szabályzatot>.
    2. Válassza az Egyszerű kiválasztása lehetőséget, majd válassza ki az ügyfélfiókhoz tartozó szolgáltatásnevet.
    3. Válassza a Titkos kódok engedélyeket , és győződjön meg arról, hogy a Beolvasás és a Lista jelölőnégyzetekkel rendelkezik.
    4. A módosítások mentéséhez kattintson az OK gombra .
  3. A Változócsoportok lapon válassza a + Hozzáadás lehetőséget a tároló adott titkos kulcsainak kiválasztásához a változócsoporthoz való leképezéshez.

Kulcstartó titkos kulcsának kezelése

Tekintse meg a titkos kódok kezelésére vonatkozó hasznos tippek alábbi listáját.

  • Csak a titkos nevek lesznek leképezve a változócsoportra, nem a titkos értékekre. A tárolóból lekért legújabb titkos kódérték a változócsoporthoz csatolt folyamatfuttatásban használatos.

  • A kulcstartóban meglévő titkos kulcsok módosításai automatikusan elérhetők lesznek a változócsoport által használt összes folyamat számára.

  • Amikor új titkos kulcsokat adnak hozzá vagy törölnek a tárolóból, a társított változócsoportok nem frissülnek automatikusan. A változócsoport titkos kulcsait explicit módon frissíteni kell, hogy a változócsoportot használó folyamatok megfelelően legyenek végrehajtva.

  • Az Azure Key Vault támogatja a titkosítási kulcsok és titkos kódok tárolását és kezelését az Azure-ban. Az Azure Pipelines változócsoport-integrációja jelenleg csak az Azure Key Vault titkos kulcsainak leképezését támogatja. A titkosítási kulcsok és tanúsítványok nem támogatottak.

Az Azure Key Vault-feladat használata

Az Azure Key Vault-feladat használatával titkos kulcsokat is belefoglalhat a folyamatba. Ez a feladat lehetővé teszi, hogy a folyamat csatlakozzon az Azure Key Vaulthoz, és lekérje a folyamatváltozóként használt titkos kulcsokat.

  1. A folyamatszerkesztőben válassza az Asszisztens megjelenítése lehetőséget az asszisztens panel kibontásához.

  2. Keresse meg vault és válassza ki az Azure Key Vault-feladatot.

    Add the Azure Key Vault task.

Az Azure DevOps Server 2019-ben és 2020-ban jelenleg nem támogatott a titkos kulcsok teljes feladat számára való elérhetővé tétele lehetőség.

Az Azure Key Vault-feladatról további információt az Azure Key Vault titkos kulcsainak használata az Azure Pipelinesban című témakörben talál.

Titkos kódváltozó beállítása egy szkriptben naplózási parancsokkal

A naplózási task.setvariable paranccsal változókat állíthat be a PowerShell- és Bash-szkriptekben. Ez a legkevésbé biztonságos módszer a titkos változók használatához, de hibakereséshez hasznos lehet. A titkos változók beállításának ajánlott módjai a felhasználói felületen, egy változócsoportban és az Azure Key Vault változócsoportjában találhatók.

Ha egy változót szkriptként szeretne beállítani egy naplózási paranccsal, át kell adnia a jelzőt issecret .

Ha issecret igaz értékre van állítva, a rendszer titkosként menti a változó értékét, és elrejti a naplókból.

Feljegyzés

Az Azure Pipelines arra törekszik, hogy titkos kulcsokat rejtsen el, amikor adatokat bocsát ki a folyamatnaplókba, így további változókat és adatokat láthat a kimenetben és a naplókban, amelyek nincsenek titkos kulcsként beállítva.

Állítsa be a titkos változót mySecretVal.

- bash: |
    echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"

Kérje le a titkos változót mySecretVal.

- bash: |
    echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"
- bash: |
    echo $(mySecretVal)

Titkos változó kimenete a bashben.

Screenshot of bash variable output.

További információ a változók parancsfájlokban való beállításáról és használatáról.