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:
- 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:
- Na webu Azure Portal
- Pomocí azure PowerShellu
- Pomocí Azure CLI
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 zvolteOprávnění tajných kódů a ujistěte se, že jsou zaškrtnuté Získat aseznam. - Pokud chcete změny uložit, zvolte OK.
- Otevřete okno nastavení
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
Rychlý start : Použití tajných kódů ze služby Azure Key Vault (Classic nebo YAML)
Kurz : Použití tajných kódů služby Azure Key Vault v kanálu YAML
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 |