Bagikan melalui


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:

  1. Masuk ke halaman Alur, pilih alur yang sesuai, lalu pilih Edit.
  2. Temukan Variabel untuk alur ini.
  3. Tambahkan atau perbarui variabel.
  4. Pilih opsi untuk Menyimpan rahasia nilai ini untuk menyimpan variabel dengan cara terenkripsi.
  5. 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

  1. Pilih Pustaka> Alur>+ Grup variabel.

    Cuplikan layar tombol Tambahkan grup variabel disorot dengan kotak merah.

  2. Masukkan nama dan deskripsi untuk grup.

  3. Opsional: Pindahkan tombol untuk menautkan rahasia dari brankas kunci Azure sebagai variabel. Untuk informasi selengkapnya, lihat Menggunakan rahasia Azure Key Vault.

  4. Masukkan nama dan nilai untuk setiap variabel untuk disertakan dalam grup, pilih + Tambahkan untuk masing-masing variabel.

  5. Untuk mengamankan variabel Anda, pilih ikon "kunci" di akhir baris.

  6. Setelah selesai menambahkan variabel, pilih Simpan.

    Cuplikan layar menyimpan grup variabel.

Grup variabel mengikuti model keamanan pustaka.

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

  1. Di proyek Azure DevOps Anda, pilih Pustaka> Alur>+ Grup variabel.
  2. Pada halaman Grup variabel, masukkan nama dan deskripsi opsional untuk grup variabel.
  3. Aktifkan Tautkan rahasia dari brankas kunci Azure sebagai pengalih variabel .
  4. Pilih titik akhir langganan Azure dan nama brankas kunci Anda.
  5. Aktifkan Azure DevOps untuk mengakses brankas kunci dengan memilih Otorisasi di samping nama vault.
  6. Pada layar Pilih rahasia, pilih rahasia tertentu dari vault Anda untuk dipetakan ke grup variabel ini, lalu pilih OK.
  7. Pilih Simpan untuk menyimpan grup variabel rahasia.

Cuplikan layar grup variabel dengan integrasi brankas kunci Azure.

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:

  1. Buka Pengaturan untuk brankas kunci, lalu pilih Konfigurasi akses>Buka kebijakan akses.
  2. Pada halaman Kebijakan akses , jika proyek Azure Pipelines Anda tidak tercantum di bawah Aplikasi dengan setidaknya izin Dapatkan dan Daftar , pilih Buat.
  3. Di bawah Izin rahasia, pilih Dapatkan dan Daftar, lalu pilih Berikutnya.
  4. Pilih perwakilan layanan Anda, lalu pilih Berikutnya.
  5. 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.

  1. Di editor alur, pilih Tampilkan asisten untuk memperluas panel asisten.

  2. Cari vault dan pilih tugas Azure Key Vault.

    Tambahkan 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 mySecretValrahasia .

- bash: |
    echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"

Dapatkan variabel mySecretValrahasia .

- bash: |
    echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"
- bash: |
    echo $(mySecretVal)

Output variabel rahasia dalam bash.

Cuplikan layar output variabel bash.

Pelajari selengkapnya tentang mengatur dan menggunakan variabel dalam skrip.