Tutorial: Gunakan identitas terkelola yang ditetapkan sistem komputer virtual Linux untuk mengakses Azure Key Vault

Identitas terkelola untuk sumber daya Azure adalah fitur ID Microsoft Entra. Setiap layanan Azure yang mendukung identitas terkelola untuk sumber daya Azure tunduk pada garis waktu mereka masing-masing. Pastikan Anda meninjau status ketersediaan identitas terkelola untuk sumber daya dan masalah yang diketahui sebelum Anda memulai.

Tutorial ini menunjukkan kepada Anda bagaimana komputer virtual Linux (VM) dapat menggunakan identitas terkelola yang ditetapkan sistem untuk mengakses Azure Key Vault. Key Vault memungkinkan aplikasi klien Anda untuk kemudian menggunakan rahasia untuk mengakses sumber daya yang tidak diamankan oleh ID Microsoft Entra. Identitas Layanan Terkelola dikelola secara otomatis oleh Azure dan memungkinkan Anda mengautentikasi ke layanan yang mendukung autentikasi Microsoft Entra, tanpa menyertakan informasi autentikasi dalam kode Anda.

Anda akan mempelajari cara untuk:

  • Memberikan akses komputer virtual Anda ke rahasia yang disimpan di Key Vault
  • Dapatkan token akses menggunakan identitas VM dan gunakan untuk mengambil rahasia dari Key Vault

Prasyarat

Membuat Key Vault

Tip

Langkah-langkah dalam artikel ini mungkin sedikit berbeda berdasarkan portal tempat Anda memulai.

Bagian ini menunjukkan cara memberi komputer virtual Anda akses ke rahasia yang disimpan di Key Vault. Menggunakan identitas terkelola untuk sumber daya Azure, kode Anda bisa mendapatkan token akses untuk mengautentikasi ke sumber daya yang mendukung autentikasi Microsoft Entra.  Namun, tidak semua layanan Azure mendukung autentikasi Microsoft Entra. Untuk menggunakan identitas terkelola pada sumber daya Azure dengan layanan tersebut, simpan kredensial layanan di Azure Key Vault, dan gunakan identitas terkelola komputer virtual untuk mengakses Key Vault guna mengambil kredensial.

Pertama, kita perlu membuat Azure Key Vault dan memberikan akses identitas terkelola yang ditetapkan sistem komputer virtual kita ke Azure Key Vault.

  1. Masuk ke portal Azure.

  2. Di bagian atas bilah navigasi kiri, pilih Buat sumber daya.

  3. Di kotak Telusuri Marketplace ketikkan Key Vault dan tekan Enter.

  4. Pilih Key Vault dari hasil.

  5. Pilih Buat.

  6. Berikan Nama untuk brankas kunci baru.

    Cuplikan layar memperlihatkan layar pembuatan Azure Key Vault.

  7. Isi semua informasi yang diperlukan, pastikan Anda memilih grup langganan dan sumber daya tempat Anda membuat komputer virtual yang Anda gunakan untuk tutorial ini.

  8. Pilih Tinjau+ buat

  9. Pilih Buat

Buat rahasia

Selanjutnya, tambahkan rahasia ke Key Vault, sehingga Anda dapat mengambilnya nanti menggunakan kode yang berjalan di komputer virtual Anda. Untuk tutorial ini, kita menggunakan PowerShell tetapi konsep yang sama berlaku untuk setiap kode apa pun yang dijalankan di mesin virtual ini.

  1. Arahkan ke Key Vault yang baru Anda buat.

  2. Pilih Rahasia, dan pilih Tambahkan.

  3. Pilih Buat/Impor

  4. Di layar Buat rahasia dari opsi Unggah, pilih Manual.

  5. Masukkan nama dan nilai untuk rahasia tersebut.  Nilainya bisa dalam bentuk apa pun yang Anda inginkan. 

  6. Biarkan tanggal aktivasi dan tanggal kedaluwarsa jelas, dan biarkan opsi Diaktifkan diatur ke Ya

  7. Pilih Buat untuk membuat rahasia.

    Cuplikan layar memperlihatkan pembuatan rahasia.

Memberikan akses

Identitas terkelola yang digunakan oleh komputer virtual memerlukan akses untuk membaca rahasia yang disimpan di Key Vault.

  1. Arahkan ke Key Vault yang baru Anda buat

  2. Pilih Kebijakan Akses dari menu di sebelah kiri.

  3. Pilih Tambahkan Kebijakan Akses

    Cuplikan layar kebijakan pembuatan brankas kunci.

  4. Di bagian Tambahkan kebijakan akses di bagian Konfigurasikan dari templat (opsional) pilih Manajemen Rahasia dari menu pull-down.

  5. Pilih Pilih Utama, dan di bidang pencarian masukkan nama komputer virtual yang Anda buat sebelumnya.  Pilih komputer virtual dalam daftar hasil dan pilih Pilih.

  6. Pilih Tambahkan

  7. Pilih Simpan.

Mengakses data

Untuk menyelesaikan langkah-langkah ini, Anda memerlukan klien SSH.  Jika menggunakan Windows, Anda dapat menggunakan klien SSH di Subsistem Windows untuk Linux. Jika Anda memerlukan bantuan untuk mengonfigurasi kunci klien SSH Anda, lihat Cara Menggunakan kunci SSH dengan Windows di Microsoft Azure, atau Cara membuat dan menggunakan pasangan kunci publik dan privat SSH untuk komputer virtual Linux di Microsoft Azure.

Penting

Semua Azure SDK mendukung pustaka Azure.Identity yang memudahkan untuk memperoleh token Microsoft Entra untuk mengakses layanan target. Pelajari selengkapnya tentang Azure SDK dan manfaatkan pustaka Azure.Identity.

  1. Di portal, navigasikan ke VM Linux Anda dan di Gambaran Umum, pilih Koneksi

  2. Sambungkan ke komputer virtual dengan klien SSH pilihan Anda. 

  3. Di jendela terminal,gunakan CURL untuk mengajukan permintaan ke identitas terkelola lokal untuk titik akhir sumber daya Azure guna mendapatkan token akses untuk Azure Key Vault.   Permintaan CURL untuk token akses di bawah ini.

    curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -H Metadata:true
    

    Respons mencakup token akses yang Anda butuhkan untuk mengakses Resource Manager. 

    Respons:

    {"access_token":"eyJ0eXAi...",
    "refresh_token":"",
    "expires_in":"3599",
    "expires_on":"1504130527",
    "not_before":"1504126627",
    "resource":"https://vault.azure.net",
    "token_type":"Bearer"} 
    

    Anda dapat menggunakan token akses ini untuk mengautentikasi ke Azure Key Vault.  Permintaan CURL berikutnya menunjukkan cara membaca rahasia dari Key Vault menggunakan CURL dan Key Vault REST API.  Anda memerlukan URL Key Vault Anda, yang ada di bagian Esensial di halaman Gambaran Umum Key Vault.  Anda juga memerlukan token akses yang Anda peroleh pada panggilan sebelumnya. 

    curl 'https://<YOUR-KEY-VAULT-URL>/secrets/<secret-name>?api-version=2016-10-01' -H "Authorization: Bearer <ACCESS TOKEN>" 
    

    Responsnya terlihat seperti ini:

    {"value":"p@ssw0rd!","id":"https://mytestkeyvault.vault.azure.net/secrets/MyTestSecret/7c2204c6093c4d859bc5b9eff8f29050","attributes":{"enabled":true,"created":1505088747,"updated":1505088747,"recoveryLevel":"Purgeable"}} 
    

Setelah Anda mengambil rahasia dari Key Vault, Anda dapat menggunakannya untuk mengautentikasi ke layanan yang memerlukan nama dan kata sandi.

Membersihkan sumber daya

Saat Anda ingin membersihkan sumber daya, masuk ke portal Azure, pilih Grup sumber daya, temukan, dan pilih grup sumber daya yang dibuat dalam proses tutorial ini (seperti mi-test), lalu gunakan perintah Hapus grup sumber daya.

Atau Anda juga dapat melakukan ini melalui PowerShell atau CLI.

Langkah berikutnya

Dalam tutorial ini, Anda mempelajari cara menggunakan identitas terkelola yang ditetapkan sistem Komputer Visual Linux untuk mengakses Azure Key Vault. Untuk mempelajari lebih lanjut tentang Azure Key Vault lihat: