Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Key Vault membantu Anda melindungi kunci, rahasia, dan sertifikat, seperti kunci API dan string koneksi database.
Dalam tutorial ini, Anda menyiapkan aplikasi Node.js untuk membaca informasi dari Azure Key Vault dengan menggunakan identitas terkelola untuk sumber daya Azure. Anda akan mempelajari cara untuk:
- Buat penyimpanan kunci
- Menyimpan rahasia di Key Vault
- Membuat komputer virtual Linux Azure
- Mengaktifkan identitas terkelola untuk komputer virtual
- Berikan izin yang diperlukan untuk aplikasi konsol untuk membaca data dari Key Vault
- Mengambil data rahasia dari Key Vault
Sebelum memulai, baca konsep dasar Key Vault.
Jika Anda tidak memiliki langganan Azure, buat akun free.
Prerequisites
Untuk Windows, Mac, dan Linux:
Masuk ke Azure
Masuk ke Azure dengan Azure CLI:
az login
Buat grup sumber daya dan Key Vault.
Panduan mulai cepat ini menggunakan brankas kunci Azure yang sudah dibuat sebelumnya. Anda dapat membuat brankas kunci dengan mengikuti langkah-langkah dalam panduan cepat ini:
- Panduan Memulai Cepat Azure CLI
- Panduan Memulai Cepat Azure PowerShell
- Panduan cepat portal Azure
Atau, Anda dapat menjalankan perintah Azure CLI ini.
Important
Setiap key vault harus memiliki nama yang unik. Ganti <vault-name> dengan nama brankas kunci Anda dalam contoh berikut.
az group create --name "myResourceGroup" -l "EastUS"
az keyvault create --name "<vault-name>" -g "myResourceGroup" --enable-rbac-authorization true
Mengisi brankas kunci Anda dengan rahasia
Mari membuat rahasia yang disebut mySecret, dengan nilai Berhasil!. Rahasia mungkin berupa kata sandi, string koneksi SQL, atau informasi lain yang Anda butuhkan untuk menjaga keamanan dan ketersediaan aplikasi Anda.
Untuk menambahkan rahasia ke brankas kunci yang baru dibuat, gunakan perintah berikut:
az keyvault secret set --vault-name "<vault-name>" --name "mySecret" --value "Success!"
Membuat mesin virtual
Buat VM bernama myVM dengan menggunakan salah satu metode berikut:
| Linux | Windows |
|---|---|
| Azure CLI | Azure CLI |
| PowerShell | PowerShell |
| Portal Azure | Portal Azure |
Untuk membuat VM Linux dengan menggunakan Azure CLI, gunakan perintah az vm create. Contoh berikut menambahkan akun pengguna bernama azureuser. Parameter --generate-ssh-keys menghasilkan kunci SSH dan menyimpannya di lokasi kunci default (~/.ssh).
az vm create \
--resource-group <resource-group> \
--name myVM \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys
Catat nilai publicIpAddress dalam output.
Menetapkan identitas ke komputer virtual
Buat identitas terkelola yang ditetapkan sistem untuk VM dengan menggunakan perintah az vm identity assign :
az vm identity assign --name "myVM" --resource-group "<resource-group>"
Perhatikan identitas yang ditetapkan sistem dalam output:
{
"systemAssignedIdentity": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userAssignedIdentities": {}
}
Menetapkan izin ke identitas komputer virtual
Berikan peran Key Vault Secrets User kepada identitas terkelola VM pada Key Vault:
az role assignment create --role "Key Vault Secrets User" --assignee "<system-assigned-identity>" --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>
Masuk ke VM
Untuk masuk ke VM, ikuti instruksi di Sambungkan dan masuk ke komputer virtual Azure yang menjalankan Linux atau Sambungkan dan masuk ke komputer virtual Azure yang berjalan Windows.
Untuk masuk ke VM Linux, gunakan ssh dengan <public-ip-address> dari langkah Buat komputer virtual :
ssh azureuser@<public-ip-address>
Pasang Node.js dan pustaka npm pada VM
Pada VM, instal dua pustaka npm yang digunakan skrip sampel: @azure/keyvault-secrets dan @azure/identity.
Di terminal SSH, instal Node.js dan npm:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && \ sudo apt-get install -y nodejsBuat direktori aplikasi dan inisialisasi paket Node.js:
mkdir app && cd app && npm init -yInstal paket Azure dengan
npm:npm install @azure/keyvault-secrets @azure/identity
Membuat dan mengedit sampel file JavaScript
Pada VM di
appdirektori, buat file JavaScript bernamaindex.js:touch index.jsBuka file dengan editor teks Nano:
nano index.jsTempelkan kode berikut ke editor, ganti
<vault-name>dengan nama brankas kunci Anda:// index.js const { SecretClient } = require("@azure/keyvault-secrets"); const { DefaultAzureCredential } = require("@azure/identity"); // Your Azure Key Vault name and secret name const keyVaultName = "<vault-name>"; const keyVaultUri = `https://${keyVaultName}.vault.azure.net`; const secretName = "mySecret"; // Authenticate to Azure const credential = new DefaultAzureCredential(); const client = new SecretClient(keyVaultUri, credential); // Get Secret with Azure SDK for JS const getSecret = async (secretName) => { return (await client.getSecret(secretName)).value; } getSecret(secretName).then(secretValue => { console.log(`The value of secret '${secretName}' in '${keyVaultName}' is: '${secretValue}'`); }).catch(err => { console.log(err); })Simpan file dengan Ctrl+X.
Pada prompt
Save modified buffer?, masukkan y.Pada prompt
File Name to Write: index.js, tekan Enter.
Jalankan contoh Node.js
Jalankan index.js. Jika semuanya dikonfigurasi dengan benar, aplikasi akan mencetak nilai rahasia:
node index.js
The value of secret 'mySecret' in '<vault-name>' is: 'Success!'
Membersihkan sumber daya
Ketika Anda tidak lagi membutuhkannya, hapus VM dan brankas kunci. Cara tercepat adalah menghapus grup sumber daya milik mereka:
az group delete -g "myResourceGroup"