Bagikan melalui


AzureKeyVault@2 - Tugas Azure Key Vault v2

Gunakan tugas ini untuk mengunduh rahasia, seperti kunci autentikasi, kunci akun penyimpanan, kunci enkripsi data, . File PFX, dan kata sandi dari instans Azure Key Vault. Tugas dapat digunakan untuk mengambil nilai terbaru dari semua atau subset rahasia dari vault dan mengaturnya sebagai variabel yang dapat digunakan dalam tugas alur berikutnya. Tugas ini berbasis Node dan bekerja dengan agen di Linux, macOS, dan Windows.

Sintaks

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

Input

azureSubscription - Langganan Azure
Alias input: ConnectedServiceName. string. Wajib diisi.

Pilih koneksi layanan untuk langganan Azure yang berisi instans Azure Key Vault, atau buat koneksi baru. Pelajari lebih lanjut.


KeyVaultName - Brankas kunci
string. Wajib diisi.

Nama Key Vault Azure yang berisi rahasia untuk diunduh.


SecretsFilter - Filter rahasia
string. Wajib diisi. Nilai default: *.

Mengunduh nama rahasia sesuai dengan nilai yang dimasukkan. Nilai dapat menjadi nilai default untuk mengunduh semua rahasia dari brankas kunci yang dipilih, atau daftar nama rahasia yang dipisahkan koma.


RunAsPreJob - Membuat rahasia tersedia untuk seluruh pekerjaan
boolean. Nilai default: false.

Menjalankan tugas sebelum eksekusi pekerjaan dimulai. Mengekspos rahasia ke semua tugas dalam pekerjaan, bukan hanya tugas yang mengikuti yang satu ini.


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugasnya. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.

Variabel output

Tidak ada.

Keterangan

Apa yang baru dalam Versi 2.0: Menambahkan dukungan untuk %3B, %5D dalam rahasia.

Gunakan tugas ini untuk mengunduh rahasia, seperti kunci autentikasi, kunci akun penyimpanan, kunci enkripsi data, . File PFX, dan kata sandi dari instans Azure Key Vault. Tugas dapat digunakan untuk mengambil nilai terbaru dari semua atau subset rahasia dari vault dan mengaturnya sebagai variabel yang dapat digunakan dalam tugas alur berikutnya. Tugas ini berbasis Node dan bekerja dengan agen di Linux, macOS, dan Windows.

Saya mendapatkan forbidden kesalahan pada alur pada titik mendapatkan kredensial dari Azure Key Vault

Ini terjadi jika izin yang diperlukan hilang di brankas kunci Azure. Untuk mengatasi masalah ini, tambahkan kebijakan akses dengan izin yang benar.

Prasyarat

Tugas ini memiliki Prasyarat berikut:

Anda dapat membuat brankas kunci:

Tambahkan rahasia ke brankas kunci:

  • Dengan menggunakan cmdlet PowerShell Set-AzureKeyVaultSecret. Jika rahasia tidak ada, cmdlet ini membuatnya. Jika rahasia sudah ada, cmdlet ini membuat versi baru rahasia tersebut.

  • Dengan menggunakan Azure CLI. Untuk menambahkan rahasia ke brankas kunci, misalnya rahasia bernama SQLPassword dengan nilai PlaceholderPassword, ketik:

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

Saat Anda ingin mengakses rahasia:

  • Pastikan koneksi layanan Azure memiliki setidaknya izin Dapatkan dan Daftar di vault. Anda dapat mengatur izin ini di portal Azure:

    • Buka bilah Pengaturan untuk vault, pilih Kebijakan akses, lalu Tambahkan baru.
    • Di bilah Tambahkan kebijakan akses , pilih Pilih utama dan pilih perwakilan layanan untuk akun klien Anda.
    • Di bilah Tambahkan kebijakan akses , pilih Izin rahasia dan pastikan bahwa Dapatkan dan Daftar dicentang (dicentang).
    • Pilih OK untuk menyimpan perubahan.

Catatan

Jika Anda menggunakan agen yang dihosting Microsoft, Anda harus menambahkan rentang IP agen yang dihosting Microsoft ke firewall Anda. Dapatkan daftar mingguan rentang IP dari file JSON mingguan, yang diterbitkan setiap hari Rabu. Rentang IP baru mulai berlaku pada hari Senin berikutnya. Untuk informasi selengkapnya, lihat agen yang dihosting Microsoft. Untuk menemukan rentang IP yang diperlukan untuk organisasi Azure DevOps Anda, pelajari cara mengidentifikasi kemungkinan rentang IP untuk agen yang dihosting Microsoft.

Catatan

Nilai diambil sebagai string. Misalnya, jika ada rahasia bernama connectionString, variabel connectionString tugas dibuat dengan nilai terbaru dari rahasia masing-masing yang diambil dari brankas kunci Azure. Variabel ini kemudian tersedia dalam tugas berikutnya.

Jika nilai yang diambil dari vault adalah sertifikat (misalnya, file PFX), variabel tugas akan berisi konten PFX dalam format string. Anda dapat menggunakan kode PowerShell berikut untuk mengambil file PFX dari variabel tugas:

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

Jika file sertifikat akan disimpan secara lokal di komputer, ada baiknya untuk mengenkripsinya dengan kata sandi:

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

Untuk informasi selengkapnya, lihat Mulai menggunakan sertifikat Azure Key Vault.

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan.
Pembatasan perintah Apa pun
Variabel yang dapat diatur Apa pun
Versi agen 2.182.1 atau lebih tinggi
Kategori tugas Sebarkan