Sdílet prostřednictvím


AzureKeyVault@2 – úloha Azure Key Vault v2

Tato úloha slouží ke stažení tajných kódů, jako jsou ověřovací klíče, klíče účtu úložiště, šifrovací klíče dat a . Soubory PFX a hesla z instance Azure Key Vault. Úlohu je možné použít k načtení nejnovějších hodnot všech tajných kódů nebo podmnožiny tajných kódů z trezoru a jejich nastavení jako proměnných, které lze použít v následných úlohách kanálu. Úloha je založená na uzlu a pracuje s agenty v Linuxu, macOS a Windows.

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.

Vstupy

azureSubscription - Předplatné Azure
Vstupní alias: ConnectedServiceName. string. Povinná hodnota.

Vyberte připojení služby pro předplatné Azure obsahující instanci Azure Key Vault nebo vytvořte nové připojení. Přečtěte si další informace.


KeyVaultName - Trezor klíčů
string. Povinná hodnota.

Název Key Vault Azure, který obsahuje tajné kódy ke stažení.


SecretsFilter - Filtr tajných kódů
string. Povinná hodnota. Výchozí hodnota: *.

Stáhne názvy tajných kódů podle zadané hodnoty. Hodnota může být výchozí hodnota pro stažení všech tajných kódů z vybraného trezoru klíčů nebo seznam názvů tajných kódů oddělených čárkami.


RunAsPreJob - Zpřístupnění tajných kódů pro celou úlohu
boolean. Výchozí hodnota: false.

Spustí úlohu před zahájením provádění úlohy. Zpřístupňuje tajné kódy všem úkolům v úloze, nejen úkolům, které následují po tomto úkolu.


Možnosti řízení úkolů

Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.

Výstupní proměnné

Žádné

Poznámky

Novinky ve verzi 2.0: Byla přidána podpora pro %3B a %5D v tajných kódech.

Tato úloha slouží ke stažení tajných kódů, jako jsou ověřovací klíče, klíče účtu úložiště, šifrovací klíče dat a . Soubory PFX a hesla z instance Azure Key Vault. Úlohu je možné použít k načtení nejnovějších hodnot všech tajných kódů nebo podmnožiny tajných kódů z trezoru a jejich nastavení jako proměnných, které lze použít v následných úlohách kanálu. Úloha je založená na uzlu a pracuje s agenty v Linuxu, macOS a Windows.

Při získávání přihlašovacích údajů z Azure Key Vault se u kanálů zobrazuje forbidden chyba

K tomu dochází v případě, že ve službě Azure Key Vault chybí požadovaná oprávnění. Pokud chcete tento problém vyřešit, přidejte zásadu přístupu se správnými oprávněními.

Požadavky

Úkol má následující požadavky:

Trezor klíčů můžete vytvořit:

Přidání tajných kódů do trezoru klíčů:

  • Pomocí rutiny PowerShellu Set-AzureKeyVaultSecret. Pokud tajný klíč neexistuje, tato rutina ho vytvoří. Pokud tajný klíč již existuje, tato rutina vytvoří novou verzi tohoto tajného klíče.

  • Pomocí Azure CLI. Pokud chcete do trezoru klíčů přidat tajný kód, například tajný kód s názvem SQLPassword s hodnotou PlaceholderPassword, zadejte:

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

Pokud chcete získat přístup k tajným kódům:

  • Ujistěte se, že připojení služby Azure má k trezoru alespoň oprávnění Získat a Zobrazit seznam. Tato oprávnění můžete nastavit v Azure Portal:

    • Otevřete okno Nastavení trezoru, zvolte Zásady přístupu a pak Přidat nový.
    • V okně Přidat zásadu přístupu zvolte Vybrat objekt zabezpečení a vyberte instanční objekt pro váš klientský účet.
    • V okně Přidat zásadu přístupu zvolte Oprávnění k tajným kódům a ujistěte se , že jsou zaškrtnuté možnosti Get a List .
    • Zvolte OK a uložte změny.

Poznámka

Pokud používáte agenta hostovaného Microsoftem, musíte do brány firewall přidat rozsah IP adres agenta hostovaného Microsoftem. Získejte týdenní seznam rozsahů IP adres z týdenního souboru JSON, který se publikuje každou středu. Nové rozsahy IP adres začnou platit následující pondělí. Další informace najdete v tématu Agenti hostovaní Microsoftem. Pokud chcete zjistit rozsahy IP adres vyžadované pro vaši organizaci Azure DevOps, přečtěte si, jak identifikovat možné rozsahy IP adres pro agenty hostované Microsoftem.

Poznámka

Hodnoty se načítají jako řetězce. Pokud například existuje tajný kód s názvem connectionString, vytvoří se proměnná connectionString úkolu s nejnovější hodnotou příslušného tajného kódu načteného z trezoru klíčů Azure. Tato proměnná je pak k dispozici v dalších úlohách.

Pokud je hodnota načtená z trezoru certifikát (například soubor PFX), bude proměnná úkolu obsahovat obsah PFX v řetězcovém formátu. K načtení souboru PFX z proměnné úlohy můžete použít následující kód PowerShellu:

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

Pokud bude soubor certifikátu uložen místně na počítači, je vhodné ho zašifrovat heslem:

 #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)

Další informace najdete v tématu Začínáme s certifikáty Azure Key Vault.

Požadavky

Požadavek Popis
Typy kanálů YAML, classic build, verze Classic
Spustí se Agent, DeploymentGroup
Požadavky Žádné
Možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
Omezení příkazů Všechny
Nastavitelné proměnné Všechny
Verze agenta 2.182.1 nebo vyšší
Kategorie úloh Nasazení