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 metode 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 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 perlu 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 dan menautkannya ke brankas kunci Azure yang ada, yang memungkinkan Anda memetakan ke rahasia yang disimpan di brankas kunci. Hanya nama rahasia yang dipetakan ke grup variabel, bukan nilai rahasia. Eksekusi alur yang menautkan ke grup variabel mengambil nilai rahasia terbaru dari vault. Untuk informasi selengkapnya, lihat Menautkan grup variabel ke rahasia di Azure Key Vault.

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. Metode 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 perlu 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.