Panduan pengembang Azure Key Vault
Azure Key Vault memungkinkan Anda mengakses informasi sensitif dengan aman dari dalam aplikasi Anda:
- Kunci, rahasia, dan sertifikat dilindungi tanpa harus menulis kode sendiri, dan Anda dapat dengan mudah menggunakannya dari aplikasi Anda.
- Anda memungkinkan pelanggan untuk memiliki dan mengelola kunci, rahasia, dan sertifikat mereka sendiri sehingga Anda dapat fokus pada penyediaan fitur perangkat lunak inti. Dengan cara ini, aplikasi Anda tidak akan memiliki tanggung jawab atau kewajiban potensial atas kunci, rahasia, dan sertifikat penyewa pelanggan Anda.
- Aplikasi Anda dapat menggunakan kunci untuk penandatanganan dan enkripsi dengan tetap menjaga manajemen kunci di luar aplikasi Anda. Untuk informasi lebih lanjut, lihat Tentang kunci.
- Anda dapat mengelola kredensial seperti kata sandi, kunci akses, dan token SAS dengan menyimpannya di Key Vault sebagai rahasia. Untuk informasi lebih lanjut, lihat Tentang rahasia.
- Mengelola sertifikat. Untuk informasi lebih lanjut, lihat Tentang sertifikat.
Untuk informasi umum selengkapnya tentang Azure Key Vault, lihat Tentang Azure Key Vault.
Pratinjau Umum
Secara berkala, kami merilis pratinjau umum fitur Key Vault baru. Cobalah fitur pratinjau umum dan beri tahu kami pendapat Anda melalui azurekeyvault@microsoft.com, alamat email tanggapan kami.
Membuat dan mengelola key vault
Seperti layanan Azure lainnya, Key Vault dikelola melalui Azure Resource Manager. Azure Resource Manager adalah layanan penyebaran dan manajemen untuk Azure. Anda dapat menggunakan Resource Manager untuk membuat, memperbarui, dan menghapus sumber daya di langganan Azure Anda.
Role-Based Access Control (RBAC) Azure mengontrol akses ke lapisan manajemen, juga dikenal sebagai sarana manajemen. Anda menggunakan sarana manajemen di Key Vault untuk membuat dan mengelola key vault dan atributnya, termasuk kebijakan akses. Anda menggunakan data plane untuk mengelola kunci, sertifikat, dan rahasia.
Anda dapat menggunakan peran Key Vault Contributor yang telah ditentukan untuk memberikan akses manajemen ke Key Vault.
API dan SDK untuk manajemen key vault
Azure CLI | PowerShell | REST API | Manajer Sumber Daya | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi | Referensi Mulai Cepat |
Referensi | Referensi | Referensi | Referensi |
Untuk paket pemasangan dan kode sumber, lihat Pustaka klien.
Mengautentikasi ke Key Vault dalam kode
Key Vault menggunakan autentikasi Microsoft Entra, yang memerlukan perwakilan keamanan Microsoft Entra untuk memberikan akses. Perwakilan keamanan Microsoft Entra dapat menjadi pengguna, perwakilan layanan aplikasi, identitas terkelola untuk sumber daya Azure, atau grup salah satu jenis ini.
Praktik autentikasi terbaik
Disarankan untuk menggunakan identitas terkelola untuk aplikasi yang diterapkan ke Azure. Jika Anda menggunakan layanan Azure yang tidak mendukung identitas terkelola atau jika aplikasi diterapkan secara lokal, perwakilan layanan dengan sertifikat adalah alternatif yang memungkinkan. Dalam kondisi tersebut, sertifikat harus disimpan di Key Vault dan sering diputar.
Gunakan perwakilan layanan dengan rahasia untuk lingkungan pengembangan dan pengujian. Gunakan perwakilan pengguna untuk pengembangan lokal dan Azure Cloud Shell.
Kami merekomendasikan prinsipal keamanan berikut ini di setiap lingkungan:
- Lingkungan produksi: Identitas terkelola atau perwakilan layanan dengan sertifikat.
- Lingkungan pengujian dan pengembangan: Identitas terkelola, perwakilan layanan dengan sertifikat, atau perwakilan layanan dengan rahasia.
- Pengembangan lokal: Perwakilan pengguna atau perwakilan layanan dengan rahasia.
Pustaka klien Azure Identity
Skenario autentikasi sebelumnya didukung oleh pustaka klien Azure Identity dan terintegrasi dengan SDK Key Vault. Anda dapat menggunakan pustaka klien Azure Identity di seluruh lingkungan dan platform tanpa mengubah kode Anda. Pustaka secara otomatis mengambil token autentikasi dari pengguna yang masuk ke pengguna Azure melalui Azure CLI, Visual Studio, Visual Studio Code, dan cara lainnya.
Untuk informasi selengkapnya tentang pustaka klien Azure Identity, lihat:
.NET | Python | Java | JavaScript |
---|---|---|---|
Identitas Azure SDK .NET | Identitas Azure SDK Python | Identitas Azure SDK Java | Identitas Azure SDK JavaScript |
Catatan
Kami merekomendasikan pustaka Autentikasi Aplikasi untuk SDK .NET Key Vault versi 3, tetapi sekarang sudah tidak digunakan lagi. Untuk bermigrasi ke SDK .NET Key Vault versi 4, ikuti panduan migrasi AppAuthentication ke Azure.Identity.
Untuk tutorial tentang cara mengautentikasi ke Key Vault dalam aplikasi, lihat:
- Gunakan Azure Key Vault dengan mesin virtual dalam .NET
- Gunakan Azure Key Vault dengan mesin virtual dalam Python
- Gunakan identitas terkelola untuk menghubungkan Key Vault ke aplikasi web Azure di .NET
Mengelola kunci, sertifikat, dan rahasia
Catatan
SDK untuk .NET, Python, Java, JavaScript, PowerShell, dan Azure CLI adalah bagian dari proses rilis fitur Key Vault melalui pratinjau publik dan ketersediaan umum dengan dukungan tim layanan Key Vault. Klien SDK lain untuk Key Vault tersedia, tetapi mereka dibangun dan didukung oleh tim SDK individual melalui GitHub dan dirilis dalam jadwal tim mereka.
Data plane mengontrol akses ke kunci, sertifikat, dan rahasia. Anda dapat menggunakan kebijakan akses vault lokal atau Azure RBAC untuk kontrol akses melalui data plane.
API dan SDK untuk kunci
Azure CLI | PowerShell | REST API | Manajer Sumber Daya | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi | Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi Mulai Cepat |
Pustaka Lain
Klien Kriptografi untuk Key Vault dan HSM Terkelola
Modul ini menyediakan klien kriptografi untuk modul klien Azure Key Vault Keys untuk Go.
Catatan
Proyek ini tidak didukung oleh tim Azure SDK, tetapi selaras dengan klien kriptografi dalam bahasa lain yang didukung.
Bahasa | Referensi |
---|---|
Go | Referensi |
API dan SDK untuk sertifikat
Azure CLI | PowerShell | REST API | Manajer Sumber Daya | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi | T/A | Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi Mulai Cepat |
API dan SDK untuk rahasia
Azure CLI | PowerShell | REST API | Manajer Sumber Daya | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi | Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi Mulai Cepat |
Referensi Mulai Cepat |
Penggunaan rahasia
Gunakan Azure Key Vault hanya untuk menyimpan rahasia untuk aplikasi Anda. Contoh rahasia yang harus disimpan di Key Vault di antaranya:
- Rahasia aplikasi klien
- String koneksi
- Kata Sandi
- Kunci akses bersama
- Kunci SSH
Setiap informasi yang berhubungan dengan rahasia, seperti nama pengguna dan ID aplikasi, dapat disimpan sebagai tag secara rahasia. Untuk pengaturan konfigurasi sensitif lainnya, Anda harus menggunakan = Azure App Configuration.
Referensi
Untuk paket pemasangan dan kode sumber, lihat Pustaka klien.
Untuk informasi tentang keamanan data plane untuk Key Vault, lihat fitur keamanan Azure Key Vault.
Menggunakan Key Vault dalam Aplikasi
Untuk memanfaatkan fitur terbaru di Key Vault, kami sarankan Anda menggunakan SDK Key Vault yang tersedia untuk menggunakan rahasia, sertifikat, dan kunci dalam aplikasi Anda. SDK dan REST API Key Vault dirilis oleh tim kami saat kami merilis fitur baru produk, serta mengikuti praktik dan pedoman terbaik kami.
Untuk skenario dasar, ada pustaka dan solusi integrasi lain untuk penggunaan yang disederhanakan, dengan dukungan yang disediakan oleh mitra Microsoft atau komunitas sumber terbuka.
Untuk sertifikat, Anda dapat menggunakan:
- Ekstensi komputer virtual (VM) Key Vault, yang menyediakan refresh otomatis sertifikat yang disimpan di Azure key vault. Untuk mengetahui informasi selengkapnya, silakan lihat:
- Integrasi Azure App Service, yang dapat mengimpor dan secara otomatis me-refresh sertifikat dari Key Vault. Untuk informasi selengkapnya, lihat Mengimpor sertifikat ke Key Vault.
Untuk rahasia, Anda dapat menggunakan:
- Rahasia Key Vault dengan pengaturan aplikasi App Service. Untuk mempelajari selengkapnya, lihat Menggunakan referensi Key Vault untuk App Service dan Azure Functions.
- Referensi Key Vault dengan Azure App Configuration untuk menyederhanakan akses aplikasi Anda ke konfigurasi dan rahasia. Untuk informasi selengkapnya, lihat Menggunakan referensi Key Vault di Azure App Configuration.
Contoh kode
Untuk contoh lengkap menggunakan Key Vault dengan aplikasi, lihat Sampel kode Azure Key Vault.
Panduan terkait tugas
Artikel dan skenario berikut ini menyediakan panduan khusus tugas untuk bekerja dengan Azure Key Vault:
- Untuk mengakses sebuah key vault, aplikasi klien Anda harus mengakses berbagai titik akhir untuk berbagai fungsi. Lihat Mengakses Key Vault di belakang firewall.
- Aplikasi cloud yang berjalan di Azure VM membutuhkan sertifikat. Bagaimana Anda mendapatkan sertifikat ini ke VM ini? Lihat Ekstensi komputer virtual Key Vault untuk Windows atau Ekstensi komputer virtual Key Vault untuk Linux.
- Untuk menetapkan kebijakan akses dengan menggunakan Azure CLI, PowerShell, atau portal Microsoft Azure, lihat Menetapkan kebijakan akses Key Vault.
- Untuk panduan penggunaan dan siklus hidup key vault dan berbagai objek key vault dengan penghapusan sementara diaktifkan, lihat Manajemen pemulihan Azure Key Vault dengan penghapusan sementara dan perlindungan pembersihan.
- Saat Anda perlu melewati nilai parameter aman (seperti kata sandi) selama penerapan, Anda dapat menyimpan nilai tersebut sebagai rahasia di key vault dan mereferensikan nilai tersebut di template Resource Manager lainnya. Lihat Menggunakan Azure Key Vault untuk melewati nilai parameter aman selama penerapan.
Integrasi dengan Azure Key Vault
Layanan dan skenario berikut menggunakan atau berintegrasi dengan Key Vault:
- Enkripsi saat istirahat memungkinkan pengkodean (enkripsi) data ketika masih ada. Kunci enkripsi data sering kali dienkripsi dengan kunci enkripsi kunci di Azure Key Vault untuk membatasi akses lebih lanjut.
- Perlindungan Informasi Azure memungkinkan Anda untuk membuat kunci penyewa Anda sendiri. Misalnya, alih-alih Microsoft mengelola kunci penyewa Anda (default), Anda dapat mengelola kunci penyewa Anda sendiri untuk mematuhi peraturan tertentu yang berlaku bagi organisasi Anda. Mengelola kunci penyewa Anda sendiri juga disebut bawa kunci Anda sendiri (Bring Your Own Key/BYOK).
- Azure Private Link memungkinkan Anda mengakses Layanan Azure (misalnya, Azure Key Vault, Azure Storage, dan Azure Cosmos DB) serta layanan pelanggan/mitra yang dihosting Azure melalui Titik Akhir Privat di jaringan virtual Anda.
- Integrasi Key Vault dengan Azure Event Grid memungkinkan pengguna untuk diberi tahu ketika status rahasia yang disimpan dalam key vault telah berubah. Anda dapat mendistribusikan rahasia versi baru ke aplikasi atau memutar rahasia yang hampir kedaluwarsa untuk mencegah pemadaman.
- Melindungi rahasia Azure DevOps Anda dari akses yang tidak diinginkan di Key Vault.
- Gunakan rahasia yang disimpan di Key Vault untuk terhubung ke Azure Storage dari Azure Databricks.
- Konfigurasikan dan jalankan penyedia Azure Key Vault untuk driver Secrets Store CSI di Kubernetes.
Gambaran umum dan konsep Key Vault
Untuk mempelajari tentang:
- Fitur yang memungkinkan pemulihan objek yang dihapus, apakah penghapusan itu tidak disengaja atau disengaja, lihat ikhtisar penghapusan sementara Azure Key Vault.
- Konsep dasar pembatasan dan mendapatkan pendekatan untuk aplikasi Anda, lihat panduan pembatasan Azure Key Vault.
- Hubungan antara kawasan dan area keamanan, lihat dunia keamanan dan batas geografis Azure Key Vault.