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 Python 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.
Prasyarat
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 atau Azure PowerShell ini.
Penting
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 penyimpanan kunci Anda dengan informasi 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 menggunakan Azure CLI, gunakan perintah az vm create. Contoh berikut menambahkan akun pengguna bernama azureuser. Parameter --generate-ssh-keys digunakan untuk secara otomatis membuat kunci SSH, dan meletakkannya 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
Untuk mendapatkan izin ke brankas kunci Anda melalui Role-Based Access Control (RBAC), tetapkan peran ke "Nama Prinsipal Pengguna" (UPN) Anda menggunakan perintah Azure CLI az role assignment create.
az role assignment create --role "Key Vault Secrets User" --assignee "<upn>" --scope "/subscriptions/<subscription-id>/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/<vault-name>"
Ganti <upn>, <subscription-id>, dan <vault-name> dengan nilai aktual Anda. Jika Anda menggunakan nama grup sumber daya yang berbeda, ganti "myResourceGroup" juga. UPN Anda biasanya akan dalam format alamat email (misalnya, username@domain.com).
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>
Menginstal pustaka Python pada VM
Pada VM, instal dua pustaka Python yang digunakan skrip sampel: azure-keyvault-secrets dan azure-identity.
Pada VM Linux, instal dengan pip3:
pip3 install azure-keyvault-secrets azure-identity
Membuat dan mengedit sampel skrip Python
Pada VM, buat file Python bernama sample.py. Tempelkan kode berikut ke dalam file, ganti <vault-name> dengan nama brankas kunci Anda:
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential
key_vault_name = "<vault-name>"
key_vault_uri = f"https://{key_vault_name}.vault.azure.net"
secret_name = "mySecret"
credential = DefaultAzureCredential()
client = SecretClient(vault_url=key_vault_uri, credential=credential)
retrieved_secret = client.get_secret(secret_name)
print(f"The value of secret '{secret_name}' in '{key_vault_name}' is: '{retrieved_secret.value}'")
Menjalankan sampel aplikasi Python
Jalankan sample.py. Jika semuanya dikonfigurasi dengan benar, aplikasi akan mencetak nilai rahasia:
python3 sample.py
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"