Megosztás a következőn keresztül:


AzureKeyVault@2 – Azure Key Vault v2-feladat

Ezzel a feladatsal titkos kulcsokat tölthet le, például hitelesítési kulcsokat, tárfiókkulcsokat, adattitkosítási kulcsokat, . PFX-fájlok és jelszavak egy Azure-Key Vault-példányból. A feladat használatával lekérheti az összes vagy a titkos kulcsok egy részhalmazának legújabb értékeit a tárolóból, és beállíthatja őket változóként, amelyek felhasználhatók egy folyamat későbbi feladataiban. A feladat csomópontalapú, és linuxos, macOS és Windows rendszerű ügynökökkel működik együtt.

Syntax

# Azure Key Vault v2
# Download Azure Key Vault secrets.
- task: AzureKeyVault@2
  inputs:
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    KeyVaultName: # string. Required. Key vault. 
    SecretsFilter: '*' # string. Required. Secrets filter. Default: *.
    #RunAsPreJob: false # boolean. Make secrets available to whole job. Default: false.

Bevitelek

azureSubscription - Azure-előfizetés
Bemeneti alias: ConnectedServiceName. string. Kötelező.

Válassza ki az Azure-Key Vault-példányt tartalmazó Azure-előfizetés szolgáltatáskapcsolatát, vagy hozzon létre egy új kapcsolatot. További információk.


KeyVaultName - Kulcstartó
string. Kötelező.

A letölteni kívánt titkos kódokat tartalmazó Azure-Key Vault neve.


SecretsFilter - Titkos kódok szűrője
string. Kötelező. Alapértelmezett érték: *.

A megadott értéknek megfelelően letölti a titkos kódneveket. Az érték lehet az alapértelmezett érték, amely az összes titkos kulcsot letölti a kiválasztott kulcstartóból, vagy a titkos kódok vesszővel tagolt listája.


RunAsPreJob - Titkos kulcsok elérhetővé tétele a teljes feladat számára
boolean. Alapértelmezett érték: false.

A feladat végrehajtása előtt futtatja a feladatot. A titkos kódokat a feladat összes tevékenységének elérhetővé teszi, nem csak az ezt követő feladatokat.


Tevékenységvezérlési beállítások

A tevékenységbemeneteken kívül minden tevékenység rendelkezik vezérlési lehetőségekkel. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.

Kimeneti változók

Nincsenek.

Megjegyzések

A 2.0-s verzió újdonságai: %3B és %5D támogatása a titkos kódokban.

Ezzel a feladatsal titkos kulcsokat tölthet le, például hitelesítési kulcsokat, tárfiókkulcsokat, adattitkosítási kulcsokat, . PFX-fájlok és jelszavak egy Azure-Key Vault-példányból. A feladat használatával lekérheti az összes vagy a titkos kulcsok egy részhalmazának legújabb értékeit a tárolóból, és beállíthatja őket változóként, amelyek felhasználhatók egy folyamat későbbi feladataiban. A feladat csomópontalapú, és linuxos, macOS és Windows rendszerű ügynökökkel működik együtt.

Hibaüzenetet forbidden kapok a folyamatokkal kapcsolatban, amikor hitelesítő adatokat kapok az Azure Key Vault

Ez akkor fordul elő, ha a szükséges engedélyek hiányoznak az Azure Key Vaultból. A probléma megoldásához adjon hozzá egy hozzáférési szabályzatot a megfelelő engedélyekkel.

Előfeltételek

A feladat előfeltételei a következők:

Létrehozhat egy kulcstartót:

Titkos kulcsok hozzáadása kulcstartóhoz:

  • A Set-AzureKeyVaultSecret PowerShell-parancsmaggal. Ha a titkos kód nem létezik, ez a parancsmag hozza létre. Ha a titkos kód már létezik, ez a parancsmag létrehozza a titkos kód új verzióját.

  • Az Azure CLI használatával. Ha titkos kódot szeretne hozzáadni egy kulcstartóhoz, például egy SQLPassword nevű titkos kódot a PlaceholderPassword értékkel, írja be a következőt:

    az keyvault secret set --vault-name 'ContosoKeyVault' --name 'SQLPassword' --value 'PlaceholderPassword'
    

Ha titkos kulcsokhoz szeretne hozzáférni:

  • Győződjön meg arról, hogy az Azure-szolgáltatáskapcsolat legalább Get és List engedélyekkel rendelkezik a tárolón. Ezeket az engedélyeket a Azure Portal állíthatja be:

    • Nyissa meg a tároló Beállítások paneljét, válassza a Hozzáférési szabályzatok, majd az Új hozzáadása lehetőséget.
    • A Hozzáférési szabályzat hozzáadása panelen válassza az Egyszerű kiválasztása lehetőséget, majd válassza ki az ügyfélfiókhoz tartozó szolgáltatásnevet.
    • A Hozzáférési szabályzat hozzáadása panelen válassza a Titkos engedélyek lehetőséget, és győződjön meg arról, hogy a Beolvasás és a Lista jelölőnégyzet be van jelölve (be van jelölve).
    • A módosítások mentéséhez kattintson az OK gombra .

Megjegyzés

Ha Microsoft által üzemeltetett ügynököt használ, hozzá kell adnia a Microsoft által üzemeltetett ügynök IP-tartományát a tűzfalhoz. A hetente közzétett JSON-fájlból lekérheti az IP-tartományok heti listáját. Az új IP-tartományok a következő hétfőn lépnek hatályba. További információ: Microsoft által üzemeltetett ügynökök. Az Azure DevOps-szervezet számára szükséges IP-tartományok megkereséséhez megtudhatja, hogyan azonosíthatja a Microsoft által üzemeltetett ügynökök lehetséges IP-tartományait.

Megjegyzés

Az értékek sztringekként lesznek lekérve. Ha például van egy connectionString nevű titkos kód, egy feladatváltozó connectionString jön létre az Azure Key Vaultból lekért titkos kulcs legújabb értékével. Ez a változó ezután elérhető a következő feladatokban.

Ha a tárolóból lekért érték tanúsítvány (például PFX-fájl), a feladatváltozó sztringformátumban fogja tartalmazni a PFX tartalmát. Az alábbi PowerShell-kóddal lekérheti a PFX-fájlt a feladatváltozóból:

$kvSecretBytes = [System.Convert]::FromBase64String("$(PfxSecret)")
$certCollection = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2Collection
$certCollection.Import($kvSecretBytes,$null,[System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable)

Ha a tanúsítványfájl helyileg lesz tárolva a gépen, érdemes jelszóval titkosítani:

 #Get the file created
$password = 'your password'
$protectedCertificateBytes = $certCollection.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12, $password)
$pfxPath = [Environment]::GetFolderPath("Desktop") + "\MyCert.pfx"
[System.IO.File]::WriteAllBytes($pfxPath, $protectedCertificateBytes)

További információ: Ismerkedés az Azure Key Vault-tanúsítványokkal.

Követelmények

Követelmény Leírás
Folyamattípusok YAML, klasszikus build, klasszikus kiadás
Futtatás: Ügynök, DeploymentGroup
Igények None
Képességek Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek.
Parancskorlátozások Bármelyik
Változók beállítása Bármelyik
Ügynök verziója 2.182.1 vagy újabb
Feladatkategória Üzembe helyezés