Atur variabel rahasia
Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Variabel rahasia adalah variabel terenkripsi yang dapat Anda gunakan dalam alur tanpa mengekspos nilainya. Variabel rahasia dapat digunakan untuk informasi privat seperti kata sandi, ID, dan data identifikasi lainnya yang tidak ingin Anda ekspos dalam alur. Variabel rahasia dienkripsi saat tidak aktif dengan kunci RSA 2048-bit dan tersedia di agen untuk tugas dan skrip yang akan digunakan.
Cara yang disarankan untuk mengatur variabel rahasia ada di UI, dalam grup variabel, dan dalam grup variabel dari Azure Key Vault. Anda juga dapat mengatur variabel rahasia dalam skrip dengan perintah pengelogan tetapi ini tidak disarankan karena siapa pun yang dapat mengakses alur Anda juga dapat melihat rahasianya.
Variabel rahasia yang diatur dalam antarmuka pengguna pengaturan alur untuk alur dicakup ke alur tempat variabel diatur. Anda dapat menggunakan grup variabel untuk berbagi variabel rahasia di seluruh alur.
Variabel rahasia di UI
Anda dapat mengatur variabel rahasia di editor alur saat mengedit alur individual. Anda akan mengenkripsi dan membuat rahasia variabel alur dengan memilih ikon kunci.
Anda mengatur variabel rahasia dengan cara yang sama untuk YAML dan Klasik.
Untuk mengatur rahasia di antarmuka web, ikuti langkah-langkah berikut:
- Masuk ke halaman Alur, pilih alur yang sesuai, lalu pilih Edit.
- Temukan Variabel untuk alur ini.
- Tambahkan atau perbarui variabel.
- Pilih opsi untuk Menyimpan rahasia nilai ini untuk menyimpan variabel dengan cara terenkripsi.
- Simpan alurnya.
Variabel rahasia dienkripsi saat tidak aktif dengan kunci RSA 2048-bit. Rahasia tersedia di agen untuk tugas dan skrip yang akan digunakan. Berhati-hatilah tentang siapa yang memiliki akses untuk mengubah alur Anda.
Penting
Kami berupaya menutupi rahasia agar tidak muncul di output Azure Pipelines, tetapi Anda masih perlu mengambil tindakan pencegahan. Jangan pernah menggaungkan rahasia sebagai output. Beberapa argumen baris perintah log sistem operasi. Jangan pernah meneruskan rahasia pada baris perintah. Sebagai gantinya, kami sarankan Anda memetakan rahasia Anda ke dalam variabel lingkungan.
Kami tidak pernah menutupi substring rahasia. Jika, misalnya, "abc123" diatur sebagai rahasia, "abc" tidak ditutupi dari log. Ini untuk menghindari menutupi rahasia terlalu terperinci dari tingkat, membuat log tidak dapat dibaca. Untuk alasan ini, rahasia tidak boleh berisi data terstruktur. Jika, misalnya, "{ "foo": "bar" }" diatur sebagai rahasia, "bar" tidak ditutupi dari log.
Tidak seperti variabel normal, variabel tersebut tidak secara otomatis didekripsi ke dalam variabel lingkungan untuk skrip. Anda perlu secara eksplisit memetakan variabel rahasia.
Menggunakan variabel rahasia di UI
Anda harus memetakan variabel rahasia sebagai variabel lingkungan untuk mereferensikannya dalam alur YAML. Dalam contoh ini, ada dua variabel rahasia yang ditentukan dalam UI, SecretOne
dan SecretTwo
. Nilai SecretOne
adalah foo
dan nilainya SecretTwo
adalah bar
.
steps:
- powershell: |
Write-Host "My first secret variable is $env:FOO_ONE"
$env:FOO_ONE -eq "foo"
env:
FOO_ONE: $(SecretOne)
- bash: |
echo "My second secret variable: $FOO_TWO"
if [ "$FOO_TWO" = "bar" ]; then
echo "Strings are equal."
else
echo "Strings are not equal."
fi
env:
FOO_TWO: $(SecretTwo)
Output alur:
My first secret variable is ***
True
My second secret variable: ***
Strings are equal.
Catatan
Azure Pipelines berupaya menutupi rahasia saat memancarkan data ke log alur, sehingga Anda mungkin melihat variabel dan data tambahan yang diselubungi dalam output dan log yang tidak ditetapkan sebagai rahasia.
Untuk contoh yang lebih rinci, lihat Menentukan variabel.
Mengatur variabel rahasia dalam grup variabel
Anda dapat menambahkan rahasia ke grup variabel atau menautkan rahasia dari Azure Key Vault yang ada.
Membuat grup variabel baru
Pilih Pustaka> Alur>+ Grup variabel.
Masukkan nama dan deskripsi untuk grup.
Opsional: Pindahkan tombol untuk menautkan rahasia dari brankas kunci Azure sebagai variabel. Untuk informasi selengkapnya, lihat Menggunakan rahasia Azure Key Vault.
Masukkan nama dan nilai untuk setiap variabel untuk disertakan dalam grup, pilih + Tambahkan untuk masing-masing variabel.
Untuk mengamankan variabel Anda, pilih ikon "kunci" di akhir baris.
Setelah selesai menambahkan variabel, pilih Simpan.
Grup variabel mengikuti model keamanan pustaka.
Menautkan rahasia dari Azure Key Vault
Anda dapat membuat grup variabel yang menautkan ke brankas kunci Azure yang ada dan memetakan rahasia Key Vault yang dipilih ke grup variabel. Hanya nama rahasia yang dipetakan ke grup variabel, bukan nilai rahasia. Eksekusi alur yang menautkan ke grup variabel mengambil nilai rahasia terbaru dari vault.
Setiap perubahan yang dilakukan pada rahasia yang ada di brankas kunci secara otomatis tersedia untuk semua alur yang menggunakan grup variabel. Namun, jika rahasia ditambahkan ke atau dihapus dari vault, grup variabel terkait tidak diperbarui secara otomatis. Anda harus secara eksplisit memperbarui rahasia untuk disertakan dalam grup variabel.
Meskipun Key Vault mendukung penyimpanan dan pengelolaan kunci kriptografi dan sertifikat di Azure, integrasi grup variabel Azure Pipelines hanya mendukung pemetaan rahasia brankas kunci. Kunci kriptografi dan sertifikat tidak didukung.
Catatan
Brankas kunci yang menggunakan kontrol akses berbasis peran Azure (Azure RBAC) tidak didukung.
Prasyarat
- Brankas kunci Azure yang berisi rahasia Anda. Anda dapat membuat brankas kunci dengan menggunakan portal Azure.
- Koneksi layanan Azure untuk proyek Anda.
Membuat grup variabel
- Di proyek Azure DevOps Anda, pilih Pustaka> Alur>+ Grup variabel.
- Pada halaman Grup variabel, masukkan nama dan deskripsi opsional untuk grup variabel.
- Aktifkan Tautkan rahasia dari brankas kunci Azure sebagai pengalih variabel .
- Pilih titik akhir langganan Azure dan nama brankas kunci Anda.
- Aktifkan Azure DevOps untuk mengakses brankas kunci dengan memilih Otorisasi di samping nama vault.
- Pada layar Pilih rahasia, pilih rahasia tertentu dari vault Anda untuk dipetakan ke grup variabel ini, lalu pilih OK.
- Pilih Simpan untuk menyimpan grup variabel rahasia.
Catatan
Koneksi layanan Azure Anda harus memiliki setidaknya izin Dapatkan dan Daftar di brankas kunci, yang dapat Anda otorisasi di langkah-langkah sebelumnya. Anda juga dapat memberikan izin ini dari portal Azure dengan mengikuti langkah-langkah berikut:
- Buka Pengaturan untuk brankas kunci, lalu pilih Konfigurasi akses>Buka kebijakan akses.
- Pada halaman Kebijakan akses , jika proyek Azure Pipelines Anda tidak tercantum di bawah Aplikasi dengan setidaknya izin Dapatkan dan Daftar , pilih Buat.
- Di bawah Izin rahasia, pilih Dapatkan dan Daftar, lalu pilih Berikutnya.
- Pilih perwakilan layanan Anda, lalu pilih Berikutnya.
- Pilih Berikutnya lagi, tinjau pengaturan, lalu pilih Buat.
Menggunakan tugas Azure Key Vault
Anda dapat menggunakan tugas Azure Key Vault untuk menyertakan rahasia dalam alur Anda. Tugas ini memungkinkan alur tersambung ke Azure Key Vault Anda dan mengambil rahasia untuk digunakan sebagai variabel alur.
Di editor alur, pilih Tampilkan asisten untuk memperluas panel asisten.
Cari
vault
dan pilih tugas Azure Key Vault.
Opsi Buat rahasia tersedia untuk seluruh pekerjaan saat ini tidak didukung di Azure DevOps Server 2019 dan 2020.
Untuk mempelajari selengkapnya tentang tugas Azure Key Vault, lihat Menggunakan rahasia Azure Key Vault di Azure Pipelines.
Mengatur variabel rahasia dalam skrip dengan perintah pengelogan
Anda dapat menggunakan task.setvariable
perintah pengelogan untuk mengatur variabel dalam skrip PowerShell dan Bash. Ini adalah cara paling tidak aman untuk bekerja dengan variabel rahasia tetapi dapat berguna untuk penelusuran kesalahan. Cara yang disarankan untuk mengatur variabel rahasia ada di UI, dalam grup variabel, dan dalam grup variabel dari Azure Key Vault.
Untuk mengatur variabel sebagai skrip dengan perintah pengelogan, Anda harus meneruskan issecret
bendera.
Ketika issecret
diatur ke true, nilai variabel akan disimpan sebagai rahasia dan ditutupi dari log.
Catatan
Azure Pipelines berupaya menutupi rahasia saat memancarkan data ke log alur, sehingga Anda mungkin melihat variabel dan data tambahan yang diselubungi dalam output dan log yang tidak ditetapkan sebagai rahasia.
Atur variabel mySecretVal
rahasia .
- bash: |
echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"
Dapatkan variabel mySecretVal
rahasia .
- bash: |
echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"
- bash: |
echo $(mySecretVal)
Output variabel rahasia dalam bash.
Pelajari selengkapnya tentang mengatur dan menggunakan variabel dalam skrip.