Sdílet prostřednictvím


AzureKeyVault@2 – úloha služby Azure Key Vault v2

Tuto úlohu použijte ke stažení tajných kódů, jako jsou ověřovací klíče, klíče účtu úložiště, šifrovací klíče dat, . Soubory PFX a hesla z instance služby Azure Key Vault. Úlohu lze 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é je možné použít v následných úlohách kanálu. Úloha je založená na uzlu a pracuje s agenty v systémech Linux, 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ého Azure
Vstupní alias: ConnectedServiceName. string. Požadovaný.

Vyberte připojení služby pro předplatné Azure obsahující instanci služby Azure Key Vault nebo vytvořte nové připojení. Další informace.


trezoru klíčů
string. Požadovaný.

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


SecretsFilter - filtr tajných kódů
string. Požadovaný. Výchozí hodnota: *.

Stáhne názvy tajných kódů podle zadané hodnoty. Tato hodnota může být výchozí hodnotou pro stažení všech tajných kódů z vybraného trezoru klíčů nebo seznamu 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é tento úkol následují.


Možnosti řízení úkolů

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

Výstupní proměnné

Žádný.

Poznámky

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

Tuto úlohu použijte ke stažení tajných kódů, jako jsou ověřovací klíče, klíče účtu úložiště, šifrovací klíče dat, . Soubory PFX a hesla z instance služby Azure Key Vault. Úlohu lze 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é je možné použít v následných úlohách kanálu. Úloha je založená na uzlu a pracuje s agenty v systémech Linux, macOS a Windows.

Zobrazuje se mi chyba forbidden v kanálech v okamžiku získání přihlašovacích údajů ze služby Azure Key Vault

K tomu dochází v případě, že v trezoru klíčů Azure chybí požadovaná oprávnění. Pokud chcete tento problém vyřešit, přidat zásadu přístupu se správnými oprávněními.

Požadavky

Úloha 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-AzKeyVaultSecret. Pokud tajný klíč neexistuje, tato rutina ho vytvoří. Pokud tajný klíč již existuje, tato rutina vytvoří novou verzi tohoto tajného kódu.

  • 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á alespoň Oprávnění k získání a Seznamu v trezoru. Tato oprávnění můžete nastavit na webu Azure Portal:

    • Otevřete okno nastavení trezoru, zvoltezásady přístupu a pak Přidat nové.
    • V okně Přidat zásadu přístupu zvolte Vyberte objektu zabezpečení a vyberte instanční objekt pro váš klientský účet.
    • V okně Přidat zásadu přístupu zvolte Oprávnění tajných kódů a ujistěte se, že jsou zaškrtnuté Získat a seznam.
    • Pokud chcete změny uložit, zvolte OK.

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 ze 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 agenty hostované Microsoftem. Pokud chcete zjistit rozsahy IP adres vyžadované pro vaši organizaci Azure DevOps, zjistěte, jak identifikovat možné rozsahy IP adres pro agenty hostované Microsoftem.

Poznámka

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

Pokud je hodnota načtená z trezoru certifikátem (například soubor PFX), proměnná úkolu bude obsahovat obsah PFX ve formátu řetězce. 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 se soubor certifikátu uloží 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 služby Azure Key Vault.

Příklady

Požadavky

Požadavek Popis
Typy kanálů YAML, klasické sestavení, klasická verze
Běží na Agent, DeploymentGroup
požadavky Žádný
možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
omezení příkazů Jakýkoliv
nastavitelné proměnné Jakýkoliv
Verze agenta 2.182.1 nebo vyšší
Kategorie úkolu Nasadit