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:
- Předplatné Azure propojené se službou Azure Pipelines nebo Team Foundation Server pomocí připojení služby Azure Resource Manager.
- Azure Key Vault obsahující tajné kódy.
Trezor klíčů můžete vytvořit:
- V Azure Portal
- Pomocí Azure PowerShell
- Pomocí Azure CLI
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í |