Menggunakan rahasia kredensial autentikasi dalam pekerjaan Azure Machine Learning

BERLAKU UNTUK: Python SDK azure-ai-ml v2 (saat ini)

Informasi autentikasi seperti nama pengguna dan kata sandi Anda adalah rahasia. Misalnya, jika Anda menyambungkan ke database eksternal untuk meminta data pelatihan, Anda harus meneruskan nama pengguna dan kata sandi Anda ke konteks pekerjaan jarak jauh. Mengoding nilai-nilai tersebut ke dalam skrip pelatihan dalam teks yang jelas tidak aman karena berpotensi mengekspos rahasia.

Azure Key Vault memungkinkan Anda menyimpan dan mengambil rahasia dengan aman. Dalam artikel ini, pelajari bagaimana Anda dapat mengambil rahasia yang disimpan dalam brankas kunci dari pekerjaan pelatihan yang berjalan pada kluster komputasi.

Penting

Ekstensi Azure Machine Learning Python SDK v2 dan Azure CLI v2 untuk pembelajaran mesin tidak menyediakan kemampuan untuk mengatur atau mendapatkan rahasia. Sebagai gantinya, informasi dalam artikel ini menggunakan pustaka klien Azure Key Vault Secrets untuk Python.

Prasyarat

Sebelum mengikuti langkah-langkah dalam artikel ini, pastikan Anda memiliki prasyarat berikut:

Tip

Banyak prasyarat di bagian ini memerlukan Kontributor, Pemilik, atau akses yang setara ke langganan Azure Anda, atau Grup Sumber Daya Azure yang berisi sumber daya. Anda mungkin perlu menghubungi administrator Azure Anda dan meminta mereka melakukan tindakan ini.

  • Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai. Coba Azure Machine Learning versi gratis atau berbayar.

  • Ruang kerja Azure Machine Learning. Jika Anda tidak memilikinya, gunakan langkah-langkah dalam artikel Membuat sumber daya untuk memulai untuk membuatnya.

  • Azure Key Vault. Jika Anda menggunakan artikel Buat sumber daya untuk memulai untuk membuat ruang kerja Anda, brankas kunci dibuat untuk Anda. Anda juga dapat membuat instans brankas kunci terpisah menggunakan informasi di artikel Mulai Cepat: Membuat brankas kunci .

    Tip

    Anda tidak perlu menggunakan brankas kunci yang sama dengan ruang kerja.

  • Kluster komputasi Azure Machine Learning dikonfigurasi untuk menggunakan identitas terkelola. Kluster dapat dikonfigurasi untuk identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna.

  • Berikan identitas terkelola untuk akses kluster komputasi ke rahasia yang disimpan di brankas kunci. Metode yang digunakan untuk memberikan akses tergantung pada bagaimana brankas kunci Anda dikonfigurasi:

  • Nilai rahasia yang disimpan di brankas kunci. Nilai ini kemudian dapat diambil menggunakan kunci. Untuk informasi selengkapnya, lihat Mulai Cepat: Mengatur dan mengambil rahasia dari Azure Key Vault.

    Tip

    Tautan mulai cepat adalah langkah-langkah untuk menggunakan Azure Key Vault Python SDK. Dalam daftar isi di area navigasi kiri adalah tautan ke cara lain untuk mengatur kunci.

Mendapatkan rahasia

  1. azure-keyvault-secrets Tambahkan paket dan azure-identity ke lingkungan Azure Machine Learning yang digunakan saat melatih model. Misalnya, dengan menambahkannya ke file conda yang digunakan untuk membangun lingkungan.

    Lingkungan ini digunakan untuk membangun gambar Docker tempat pekerjaan pelatihan berjalan pada kluster komputasi.

  2. Dari kode pelatihan Anda, gunakan Azure Identity SDK dan pustaka klien Key Vault untuk mendapatkan kredensial identitas terkelola dan mengautentikasi ke brankas kunci:

    from azure.identity import DefaultAzureCredential
    from azure.keyvault.secrets import SecretClient
    
    credential = DefaultAzureCredential()
    
    secret_client = SecretClient(vault_url="https://my-key-vault.vault.azure.net/", credential=credential)
    
  3. Setelah mengautentikasi, gunakan pustaka klien Key Vault untuk mengambil rahasia dengan menyediakan kunci terkait:

    secret = secret_client.get_secret("secret-name")
    print(secret.value)
    

Langkah berikutnya

Untuk contoh pengiriman pekerjaan pelatihan menggunakan Azure Machine Learning Python SDK v2, lihat Melatih model dengan Python SDK v2.