Mendiagnosis masalah konfigurasi tautan privat di Azure Key Vault
Pendahuluan
Artikel ini membantu pengguna mendiagnosis dan memperbaiki masalah yang melibatkan Key Vault dan fitur Link Pribadi. Panduan ini membantu pada aspek konfigurasi, seperti membuat tautan pribadi berfungsi untuk pertama kalinya, atau untuk memperbaiki situasi di mana tautan pribadi berhenti berfungsi karena beberapa perubahan.
Jika Anda baru menggunakan fitur ini, lihat Mengintegrasikan Key Vault dengan Azure Private Link.
Masalah yang dicakup oleh artikel ini
- Kueri DNS Anda masih mengembalikan alamat IP publik untuk brankas kunci, bukan alamat IP pribadi yang Anda harapkan dari menggunakan fitur link pribadi.
- Semua permintaan yang dibuat oleh klien tertentu yang menggunakan tautan pribadi, gagal dengan batas waktu atau kesalahan jaringan, dan masalahnya tidak terputus-putus.
- Brankas kunci memiliki alamat IP pribadi, tetapi permintaan masih mendapatkan
403
respons denganForbiddenByFirewall
kode kesalahan internal. - Anda menggunakan tautan privat, tetapi brankas kunci Anda masih menerima permintaan dari Internet publik.
- Brankas kunci Anda memiliki dua Titik Akhir Pribadi. Permintaan yang menggunakan satu titik bekerja dengan baik, tetapi permintaan menggunakan yang lain gagal.
- Anda memiliki langganan lain, brankas kunci, atau jaringan virtual yang menggunakan tautan pribadi. Anda ingin membuat penyebaran serupa baru, tetapi Anda tidak bisa mendapatkan tautan pribadi untuk bekerja di sana.
Masalah yang TIDAK dicakup oleh artikel ini
- Terdapat masalah konektivitas yang terputus-terputus. Dalam klien tertentu, Anda melihat beberapa permintaan yang berfungsi dan beberapa tidak berfungsi. Masalah terputus-terputus biasanya tidak disebabkan oleh masalah dalam konfigurasi tautan pribadi; mereka adalah tanda kelebihan jaringan atau klien.
- Anda menggunakan produk Azure yang mendukung BYOK (Bring Your Own Key), CMK (Customer Managed Keys), atau akses ke rahasia yang disimpan dalam brankas kunci. Ketika Anda mengaktifkan firewall dalam pengaturan brankas kunci, produk tersebut tidak dapat mengakses brankas kunci Anda. Lihat dokumentasi produk tertentu. Pastikan tombol itu secara eksplisit menyatakan dukungan untuk brankas kunci dengan firewall yang diaktifkan. Hubungi dukungan untuk produk tertentu, jika diperlukan.
Cara membaca artikel ini
Jika Anda baru menggunakan tautan pribadi atau sedang mengevaluasi penyebaran yang kompleks, disarankan agar Anda membaca seluruh artikel. Jika tidak, jangan ragu untuk memilih bagian yang lebih masuk akal untuk masalah yang Anda hadapi.
Mari kita mulai!
1. Mengonfirmasi bahwa Anda memiliki koneksi klien
Mengonfirmasi bahwa klien Anda berjalan di jaringan virtual
Panduan ini dimaksudkan untuk membantu Anda memperbaiki koneksi ke brankas kunci yang berasal dari kode aplikasi. Contohnya adalah aplikasi dan skrip yang dijalankan di Azure Virtual Machines, kluster Azure Service Fabric, Azure App Service, Azure Kubernetes Service (AKS), dan yang lainnya. Panduan ini juga berlaku untuk akses yang dilakukan di antarmuka pengguna basis web portal Microsoft Azure, di mana browser mengakses brankas kunci Anda secara langsung.
Menurut definisi tautan pribadi, aplikasi, skrip, atau portal harus berjalan pada komputer, kluster, atau lingkungan yang terhubung ke Microsoft Azure Virtual Network tempat sumber daya Titik Akhir Pribadi diterapkan.
Jika aplikasi, skrip, atau portal berjalan pada jaringan yang terhubung ke Internet arbritrer, panduan ini TIDAK berlaku, dan kemungkinan tautan pribadi tidak dapat digunakan. Pembatasan ini juga berlaku untuk perintah yang dijalankan di Azure Cloud Shell, karena dijalankan di mesin Azure jarak jauh yang disediakan sesuai permintaan alih-alih browser pengguna.
Jika Anda menggunakan solusi terkelola, lihat dokumentasi tertentu
Panduan ini TIDAK berlaku untuk solusi yang dikelola oleh Microsoft, di mana brankas kunci diakses oleh produk Azure yang ada secara terpisah dari Jaringan Virtual pelanggan. Contoh skenario tersebut adalah Azure Storage atau Azure SQL yang dikonfigurasi untuk enkripsi tidak aktif, Azure Event Hubs mengenkripsi data dengan kunci yang disediakan pelanggan, Azure Data Factory mengakses kredensial layanan yang disimpan di brankas kunci, Azure Pipelines yang mengambil rahasia dari brankas kunci, dan skenario serupa lainnya. Dalam kasus ini, Anda harus memeriksa apakah produk mendukung brankas kunci dengan firewall diaktifkan. Dukungan ini biasanya dilakukan dengan fitur Layanan Tepercaya dari firewall Key Vault. Namun, banyak produk tidak termasuk dalam daftar layanan tepercaya, karena berbagai alasan. Dalam kasus itu, hubungi dukungan khusus produk.
Beberapa produk Azure mendukung konsep injeksi vnet. Dalam istilah sederhana, produk menambahkan perangkat jaringan ke Virtual Network pelanggan, memungkinkannya untuk mengirim permintaan seolah-olah disebarkan ke Virtual Network. Contoh yang menonjol adalah Azure Databricks. Produk seperti ini dapat membuat permintaan ke brankas kunci menggunakan tautan pribadi, dan panduan pemecahan masalah ini dapat membantu.
2. Mengonfirmasi bahwa koneksi disetujui dan berhasil
Langkah-langkah berikut memvalidasi bahwa koneksi titik akhir privat disetujui dan berhasil:
- Buka portal Microsoft Azure dan buka sumber daya brankas kunci Anda.
- Pada menu sebelah kiri, pilih Jaringan.
- Pilih tab Koneksi titik akhir privat. Ini akan menampilkan semua koneksi titik akhir privat dan setiap statusnya. Jika tidak ada koneksi, atau jika koneksi untuk Jaringan Virtual Anda hilang, Anda harus membuat Titik Akhir Pribadi baru. Ini akan ditutupi nanti.
- Masih tentang Koneksi titik akhir pribadi, temukan yang Anda diagnosis dan konfirmasikan bahwa "Status koneksi" Disetujui dan "Status penyediaan" Berhasil.
- Jika koneksi dalam status "Tertunda", Anda mungkin dapat menyetujuinya.
- Jika koneksi "Ditolak", "Gagal", "Kesalahan", "Terputus" atau status lainnya, maka itu tidak efektif sama sekali, Anda harus membuat sumber daya Titik Akhir Pribadi baru.
Ada baiknya untuk menghapus koneksi yang tidak efektif untuk menjaga semuanya tetap bersih.
3. Mengonfirmasi bahwa firewall brankas kunci dikonfigurasi dengan benar
Penting
Mengubah pengaturan firewall dapat menghapus akses dari klien yang sah yang masih tidak menggunakan tautan pribadi. Pastikan Anda mengetahui implikasi dari setiap perubahan konfigurasi firewall.
Gagasan penting adalah bahwa fitur tautan pribadi hanya memberikan akses ke brankas kunci Anda di Jaringan Virtual yang ditutup untuk mencegah penyelundupan data. Ini tidak menghapus akses yang ada. Untuk memblokir akses dari Internet publik secara efektif, Anda harus mengaktifkan firewall brankas kunci secara eksplisit:
- Buka portal Microsoft Azure dan buka sumber daya brankas kunci Anda.
- Pada menu sebelah kiri, pilih Jaringan.
- Pastikan tab Firewall dan jaringan virtual dipilih di atas.
- Jika Anda menemukan Izinkan akses publik dari semua jaringan yang dipilih, itu menjelaskan mengapa klien eksternal masih dapat mengakses brankas kunci. Jika Anda ingin Key Vault hanya dapat diakses melalui Private Link, pilih Nonaktifkan Akses Publik.
Pernyataan berikut ini juga berlaku untuk setelan firewall:
- Fitur tautan pribadi tidak memerlukan "jaringan virtual" untuk ditentukan dalam pengaturan firewall brankas kunci. Semua permintaan yang menggunakan alamat IP pribadi dari brankas kunci (lihat bagian berikutnya) harus berfungsi, bahkan jika tidak ada jaringan virtual yang ditentukan dalam pengaturan firewall brankas kunci.
- Fitur tautan pribadi tidak memerlukan menentukan alamat IP apa pun di pengaturan firewall brankas kunci. Sekali lagi, semua permintaan yang menggunakan alamat IP pribadi dari brankas kunci harus berfungsi, bahkan jika tidak ada alamat IP yang ditentukan dalam pengaturan firewall.
Jika Anda menggunakan tautan pribadi, satu-satunya motivasi untuk menentukan jaringan virtual atau alamat IP di firewall brankas kunci adalah:
- Anda memiliki sistem hibrid di mana beberapa klien menggunakan tautan pribadi, beberapa menggunakan titik akhir layanan, beberapa menggunakan alamat IP publik.
- Anda beralih ke tautan pribadi. Dalam kasus ini, setelah Anda mengonfirmasi semua klien menggunakan tautan pribadi, Anda harus menghapus jaringan virtual dan alamat IP dari pengaturan firewall brankas kunci.
4. Pastikan brankas kunci memiliki alamat IP pribadi
Perbedaan antara alamat IP pribadi dan publik
Alamat IP pribadi selalu memiliki salah satu format berikut:
- 10.x.x.x: Contoh:
10.1.2.3
,10.56.34.12
. - 172.16.x.x hingga 172.32.x.x: Contoh:
172.20.1.1
,172.31.67.89
. - 192.168.x.x.x: Contoh:
192.168.0.1
,192.168.100.7
Alamat dan rentang IP tertentu dicadangkan:
- 224.x.x.x: Multicast
- 255.255.255.255: Siaran
- 127.x.x.x: Loopback
- 169.254.x.x: Link-lokal
- 168.63.129.16 DNS Internal
Semua alamat IP lainnya bersifat publik.
Saat Anda menelusuri portal atau menjalankan perintah yang menampilkan alamat IP, pastikan Anda dapat mengidentifikasi apakah alamat IP tersebut bersifat pribadi, publik, atau dicadangkan. Agar tautan privat berfungsi, nama host brankas kunci harus diselesaikan ke alamat IP pribadi milik ruang alamat Jaringan Virtual.
Temukan alamat IP pribadi brankas kunci di jaringan virtual
Anda harus mendiagnosis resolusi nama host, dan untuk itu Anda harus mengetahui alamat IP pribadi yang tepat dari brankas kunci Anda dengan tautan pribadi yang diaktifkan. Untuk menemukan alamat tersebut, ikuti prosedur ini:
- Buka portal Microsoft Azure dan buka sumber daya brankas kunci Anda.
- Pada menu sebelah kiri, pilih Jaringan.
- Pilih tab Koneksi titik akhir privat. Ini akan menampilkan semua koneksi titik akhir privat dan setiap statusnya.
- Temukan yang Anda diagnosis dan konfirmasikan bahwa "Status koneksi" Disetujui dan "Status penyediaan" Berhasil. Jika Anda tidak melihat ini, kembali ke bagian sebelumnya dari dokumen ini.
- Saat Anda menemukan item yang tepat, klik link di kolom Titik akhir pribadi. Ini akan membuka sumber daya Titik Akhir Pribadi.
- Halaman Gambaran Umum mungkin memperlihatkan bagian yang disebut Pengaturan DNS Kustom. Konfirmasikan bahwa hanya ada satu entri yang cocok dengan nama host brankas kunci. Entri itu menunjukkan alamat IP pribadi brankas kunci.
- Anda juga dapat mengklik tautan di Antarmuka jaringan dan mengonfirmasi bahwa alamat IP pribadi sama dengan yang ditampilkan pada langkah sebelumnya. Antarmuka jaringan adalah perangkat virtual yang mewakili brankas kunci.
Alamat IP adalah yang akan digunakan VM dan perangkat lain yang berjalan di Jaringan Virtual yang sama untuk terhubung ke brankas kunci. Catat alamat IP, atau biarkan tab browser tetap terbuka dan jangan menyentuhnya saat Anda melakukan penyelidikan lebih lanjut.
Catatan
Jika brankas kunci Anda memiliki beberapa titik akhir pribadi, maka brankas tersebut memiliki beberapa alamat IP pribadi. Ini hanya berguna jika Anda memiliki beberapa Jaringan Virtual yang mengakses brankas kunci yang sama, masing-masing melalui Titik Akhir Pribadi sendiri (Titik Akhir Pribadi milik satu Jaringan Virtual). Pastikan Anda mendiagnosa masalah untuk Jaringan Virtual yang benar, dan pilih koneksi titik akhir pribadi yang benar dalam prosedur di atas. Selain itu, jangan membuat beberapa Titik Akhir Pribadi untuk Key Vault yang sama di Jaringan Virtual yang sama. Ini tidak diperlukan dan merupakan sumber kebingungan.
5. Validasi resolusi DNS
Resolusi DNS adalah proses menerjemahkan nama host brankas kunci (misalnya: fabrikam.vault.azure.net
) ke alamat IP (misalnya: 10.1.2.3
). Subbagian berikut ini memperlihatkan hasil resolusi DNS yang diharapkan dalam setiap skenario.
Brankas kunci tanpa tautan pribadi
Bagian ini ditujukan untuk tujuan pembelajaran. Ketika brankas kunci tidak memiliki koneksi titik akhir pribadi dalam status yang disetujui, menyelesaikan nama host memberikan hasil yang mirip dengan yang satu ini:
Windows:
C:\> nslookup fabrikam.vault.azure.net
Non-authoritative answer:
Address: 52.168.109.101
Aliases: fabrikam.vault.azure.net
data-prod-eus.vaultcore.azure.net
data-prod-eus-region.vaultcore.azure.net
Linux:
joe@MyUbuntu:~$ host fabrikam.vault.azure.net
fabrikam.vault.azure.net is an alias for data-prod-eus.vaultcore.azure.net.
data-prod-eus.vaultcore.azure.net is an alias for data-prod-eus-region.vaultcore.azure.net.
data-prod-eus-region.vaultcore.azure.net has address 52.168.109.101
Anda dapat melihat bahwa nama tersebut diputuskan ke alamat IP publik, dan tidak ada privatelink
alias. Alias akan dijelaskan kemudian, jangan khawatir tentang hal itu sekarang.
Hasil di atas diharapkan terlepas dari komputer yang terhubung ke Jaringan Virtual atau menjadi komputer arbitrer dengan koneksi Internet. Ini terjadi karena brankas kunci tidak memiliki koneksi titik akhir pribadi dalam kondisi disetujui, dan oleh karena itu brankas kunci tidak perlu mendukung tautan pribadi.
Brankas kunci dengan penyelesaian tautan pribadi dari komputer Internet arbitrer
Ketika brankas kunci memiliki satu atau lebih koneksi titik akhir pribadi dalam kondisi disetujui dan Anda memutuskan nama host dari mesin arbitrer yang terhubung ke Internet (komputer yang tidak terhubung ke Jaringan Virtual tempat Titik Akhir Pribadi berada), Anda akan menemukan ini:
Windows:
C:\> nslookup fabrikam.vault.azure.net
Non-authoritative answer:
Address: 52.168.109.101
Aliases: fabrikam.vault.azure.net
fabrikam.privatelink.vaultcore.azure.net
data-prod-eus.vaultcore.azure.net
data-prod-eus-region.vaultcore.azure.net
Linux:
joe@MyUbuntu:~$ host fabrikam.vault.azure.net
fabrikam.vault.azure.net is an alias for fabrikam.privatelink.vaultcore.azure.net.
fabrikam.privatelink.vaultcore.azure.net is an alias for data-prod-eus.vaultcore.azure.net.
data-prod-eus.vaultcore.azure.net is an alias for data-prod-eus-region.vaultcore.azure.net.
data-prod-eus-region.vaultcore.azure.net has address 52.168.109.101
Perbedaan penting dari skenario sebelumnya adalah bahwa ada alias baru dengan nilai {vaultname}.privatelink.vaultcore.azure.net
. Ini berarti bahwa sarana data brankas kunci siap menerima permintaan dari tautan pribadi.
Ini bukan berarti bahwa permintaan yang dilakukan dari komputer di luar Jaringan Virtual (seperti yang baru saja Anda gunakan) akan menggunakan tautan pribadi - tentu tidak akan begitu. Anda dapat melihat bahwa dari fakta bahwa nama host masih diputuskan ke alamat IP publik. Hanya komputer yang terhubung ke Jaringan Virtual yang bisa menggunakan tautan pribadi. Lebih lanjut tentang hal ini akan menyusul.
Jika Anda tidak melihat privatelink
alias, itu berarti brankas kunci memiliki koneksi titik akhir pribadi nol dalam Approved
status. Kembali ke bagian ini sebelum mencoba kembali.
Brankas kunci dengan penyelesaian tautan pribadi dari Jaringan Virtual
Ketika brankas kunci memiliki satu atau beberapa koneksi titik akhir pribadi dalam status disetujui dan Anda memutuskan nama host dari komputer yang terhubung ke Jaringan Virtual tempat Titik Akhir Pribadi dibuat, ini adalah respons yang diharapkan:
Windows:
C:\> nslookup fabrikam.vault.azure.net
Non-authoritative answer:
Address: 10.1.2.3
Aliases: fabrikam.vault.azure.net
fabrikam.privatelink.vaultcore.azure.net
Linux:
joe@MyUbuntu:~$ host fabrikam.vault.azure.net
fabrikam.vault.azure.net is an alias for fabrikam.privatelink.vaultcore.azure.net.
fabrikam.privatelink.vaultcore.azure.net has address 10.1.2.3
Ada dua perbedaan penting. Pertama, nama diputuskan ke alamat IP pribadi. Itu harus menjadi alamat IP yang kami temukan di bagian yang sesuai dari artikel ini. Kedua, tidak ada alias lain setelah privatelink
yang itu. Ini terjadi karena server DNS Virtual Network mencegat rantai alias dan mengembalikan alamat IP pribadi langsung dari nama fabrikam.privatelink.vaultcore.azure.net
. Entri itu sebenarnya adalah A
rekaman di Zona DNS Privat. Lebih lanjut tentang hal ini akan menyusul.
Catatan
Hasil di atas hanya terjadi di Komputer Virtual yang terhubung ke Jaringan Virtual tempat Titik Akhir Pribadi dibuat. Jika Anda tidak memiliki VM yang disebarkan di Jaringan Virtual yang berisi Titik Akhir Pribadi, terapkan satu dan sambungkan dari jarak jauh ke sana, lalu jalankan nslookup
perintah (Windows) atau host
perintah (Linux) di atas.
Jika Anda menjalankan perintah ini pada Komputer Virtual yang terhubung ke Jaringan Virtual tempat Titik Akhir Pribadi dibuat, dan perintah tersebut tidak menampilkan alamat IP pribadi brankas kunci, bagian berikutnya dapat membantu memperbaiki masalah.
6. Memvalidasi Zona DNS Privat
Jika resolusi DNS tidak berfungsi seperti yang dijelaskan di bagian sebelumnya, mungkin ada masalah dengan Zona DNS Pribadi Anda dan bagian ini mungkin bisa membantu. Jika resolusi DNS memperlihatkan alamat IP privat brankas kunci yang benar, Zona DNS Pribadi Anda mungkin sudah benar. Anda dapat melewati seluruh bagian ini.
Mengonfirmasi bahwa sumber daya Zona DNS Privat yang diperlukan ada
Langganan Azure Anda harus memiliki sumber daya Zona DNS Pribadi dengan nama persis begini:
privatelink.vaultcore.azure.net
Anda dapat memeriksa keberadaan sumber daya ini dengan membuka halaman langganan di Portal, dan memilih "Sumber Daya" di menu sebelah kiri. Nama sumber daya harus privatelink.vaultcore.azure.net
, dan jenis sumber daya haruslah zona DNS Pribadi.
Biasanya sumber daya ini dibuat secara otomatis saat Anda membuat Titik Akhir Pribadi menggunakan prosedur umum. Tetapi ada kasus di mana sumber daya ini tidak dibuat secara otomatis dan Anda harus melakukannya secara manual. Sumber daya ini mungkin juga telah dihapus secara tidak sengaja.
Jika Anda tidak memiliki sumber daya ini, buat sumber daya Zona DNS Pribadi baru di langganan Anda. Ingatlah bahwa nama itu harus tepat privatelink.vaultcore.azure.net
, tanpa spasi atau titik-titik tambahan. Jika Anda menentukan nama yang salah, resolusi nama yang dijelaskan dalam artikel ini tidak akan berfungsi. Untuk informasi selengkapnya tentang cara membuat sumber daya ini, lihat Membuat zona DNS pribadi Azure menggunakan portal Microsoft Azure. Jika Anda mengikuti halaman itu, Anda dapat melewati pembuatan Jaringan Virtual karena pada titik ini Anda harus sudah memilikinya. Anda juga dapat melewati prosedur validasi dengan Komputer Virtual.
Mengonfirmasikan bahwa Zona DNS Pribadi ditautkan ke Jaringan Virtual
Tidak cukup hanya dengan memiliki Zona DNS Pribadi. Ini juga harus ditautkan ke Jaringan Virtual yang berisi Titik Akhir Pribadi. Jika Zona DNS Pribadi tidak ditautkan ke Jaringan Virtual yang benar, resolusi DNS apa pun dari Jaringan Virtual tersebut akan mengabaikan Zona DNS Pribadi.
Buka sumber daya Zona DNS Pribadi dan klik opsi Tautan jaringan virtual di menu sebelah kiri. Ini akan menampilkan daftar tautan, masing-masing dengan nama Jaringan Virtual di langganan Anda. Jaringan Virtual yang memuat sumber daya Titik Akhir Pribadi pasti tercantum di sini. Jika tidak ada, tambahkan jaringan virtual. Untuk langkah-langkah mendetail, lihat Menautkan jaringan virtual. Anda dapat membiarkan "Aktifkan pendaftaran otomatis" tidak dicentang - fitur itu tidak terkait dengan tautan pribadi.
Setelah Zona DNS Pribadi ditautkan ke Jaringan Virtual, permintaan DNS yang berasal dari Jaringan Virtual akan mencari nama di Zona DNS Pribadi. Hal ini diperlukan untuk resolusi alamat yang benar yang dilakukan di Komputer Virtual yang terhubung ke Jaringan Virtual tempat Titik Akhir Pribadi dibuat.
Catatan
Jika Anda baru saja menyimpan tautan, mungkin perlu beberapa waktu agar ini mulai berlaku, bahkan setelah Portal mengatakan operasi selesai. Anda mungkin juga perlu me-reboot VM yang Anda gunakan untuk menguji resolusi DNS.
Mengonfirmasi bahwa Zona DNS Pribadi berisi rekaman A yang tepat
Menggunakan Portal, buka Zona DNS Pribadi dengan nama privatelink.vaultcore.azure.net
. Halaman Gambaran Umum memperlihatkan semua rekaman. Secara default, akan ada satu rekaman dengan nama @
dan jenisSOA
, yang berarti Start of Authority. Jangan sentuh itu.
Agar resolusi nama brankas kunci berfungsi, harus ada A
rekaman dengan nama brankas sederhana tanpa akhiran atau titik. Misalnya, jika nama host adalah fabrikam.vault.azure.net
, harus ada A
rekaman dengan nama tersebut fabrikam
, tanpa akhiran atau titik.
Selain itu, nilai A
rekaman (alamat IP) harus menjadi alamat IP pribadi brankas kunci. Jika Anda menemukan A
rekaman tetapi berisi alamat IP yang salah, Anda harus menghapus alamat IP yang salah dan menambahkan alamat IP baru. Disarankan agar Anda menghapus seluruh rekaman A
dan menambahkan yang baru.
Catatan
Setiap kali Anda menghapus atau A
mengubah rekaman, komputer mungkin masih memutuskan ke alamat IP lama karena nilai TTL (Time To Live) mungkin belum kedaluwarsa. Disarankan agar Anda selalu menentukan nilai TTL tidak lebih kecil dari 10 detik dan tidak lebih besar dari 600 detik (10 menit). Jika Anda menentukan nilai yang terlalu besar, klien Anda mungkin membutuhkan waktu terlalu lama untuk pulih dari pemadaman.
Resolusi DNS untuk lebih dari satu Jaringan Virtual
Jika ada beberapa Jaringan Virtual dan masing-masing memiliki sumber daya Titik Akhir Pribadi sendiri yang merujuk ke brankas kunci yang sama, maka nama host brankas kunci perlu diputuskan ke alamat IP pribadi yang berbeda tergantung pada jaringan. Ini berarti beberapa Zona DNS Pribadi juga diperlukan, masing-masing ditautkan ke Jaringan Virtual yang berbeda dan menggunakan alamat IP yang berbeda dalam A
rekaman.
Dalam skenario yang lebih canggih, Jaringan Virtual mungkin memiliki peering yang diaktifkan. Dalam kasus ini, hanya satu Jaringan Virtual yang memerlukan sumber daya Titik Akhir Pribadi, meskipun keduanya mungkin perlu ditautkan ke sumber daya Zona DNS Pribadi. Ini adalah skenario yang tidak langsung dicakup oleh dokumen ini.
Memahami bahwa Anda memiliki kontrol atas resolusi DNS
Seperti yang dijelaskan di bagian sebelumnya, brankas kunci dengan tautan pribadi memiliki alias {vaultname}.privatelink.vaultcore.azure.net
dalam pendaftaran publiknya. Server DNS yang digunakan oleh Virtual Network menggunakan pendaftaran publik, tetapi memeriksa setiap alias untuk pendaftaran pribadi, dan jika ada satu yang ditemukan, itu akan berhenti mengikuti alias yang ditentukan pada pendaftaran publik.
Logika ini berarti bahwa jika Jaringan Virtual ditautkan ke Zona DNS Pribadi dengan nama privatelink.vaultcore.azure.net
, dan pendaftaran DNS publik untuk brankas kunci memiliki alias fabrikam.privatelink.vaultcore.azure.net
(perhatikan bahwa akhiran nama host brankas kunci cocok dengan nama Zona DNS Pribadi secara persis), maka kueri DNS akan mencari A
rekaman dengan nama fabrikam
di Zona DNS Pribadi. Jika A
rekaman ditemukan, alamat IP-nya dikembalikan dalam kueri DNS, dan tidak ada pencarian lebih lanjut yang dilakukan pada pendaftaran DNS publik.
Seperti yang Anda lihat, resolusi nama berada di bawah kontrol Anda. Alasan untuk desain ini adalah:
- Anda mungkin memiliki skenario kompleks, yang melibatkan server DNS kustom serta integrasi dengan jaringan lokal. Dalam kasus ini, Anda perlu mengontrol bagaimana nama diterjemahkan ke alamat IP.
- Anda mungkin perlu mengakses brankas kunci tanpa tautan pribadi. Dalam kasus ini, memutuskan nama host dari Jaringan Virtual harus mengembalikan alamat IP publik, dan ini terjadi karena brankas kunci tanpa tautan pribadi tidak memiliki
privatelink
alias dalam pendaftaran nama.
7. Memvalidasi permintaan ke brankas kunci menggunakan tautan pribadi
Kueri /healthstatus
titik akhir brankas kunci
Brankas kunci Anda menyediakan /healthstatus
titik akhir, yang dapat digunakan untuk diagnostik. Header respons menyertakan alamat IP asal, seperti yang terlihat oleh layanan brankas kunci. Anda dapat memanggil titik akhir itu dengan perintah berikut (ingatlah untuk menggunakan nama host brankas kunci Anda):
Windows (PowerShell):
PS C:\> $(Invoke-WebRequest -UseBasicParsing -Uri https://fabrikam.vault.azure.net/healthstatus).Headers
Key Value
--- -----
Pragma no-cache
x-ms-request-id 3729ddde-eb6d-4060-af2b-aac08661d2ec
x-ms-keyvault-service-version 1.2.27.0
x-ms-keyvault-network-info addr=10.4.5.6;act_addr_fam=InterNetworkV6;
Strict-Transport-Security max-age=31536000;includeSubDomains
Content-Length 4
Cache-Control no-cache
Content-Type application/json; charset=utf-8
Linux, atau versi terbaru Windows 10 yang mencakup curl
:
joe@MyUbuntu:~$ curl -i https://fabrikam.vault.azure.net/healthstatus
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
x-ms-request-id: 6c090c46-0a1c-48ab-b740-3442ce17e75e
x-ms-keyvault-service-version: 1.2.27.0
x-ms-keyvault-network-info: addr=10.4.5.6;act_addr_fam=InterNetworkV6;
Strict-Transport-Security: max-age=31536000;includeSubDomains
Content-Length: 4
Jika Anda tidak mendapatkan output yang mirip dengan itu, atau jika Anda mendapatkan kesalahan jaringan, itu berarti brankas kunci Anda tidak dapat diakses melalui nama host yang Anda tentukan (fabrikam.vault.azure.net
dalam contoh). Baik nama host tidak memutuskan ke alamat IP yang benar, atau Anda memiliki masalah konektivitas di lapisan transportasi. Ini mungkin disebabkan oleh masalah perutean, penurunan paket, dan alasan lainnya. Anda harus menyelidiki lebih lanjut.
Respons harus menyertakan header x-ms-keyvault-network-info
:
x-ms-keyvault-network-info: addr=10.4.5.6;act_addr_fam=InterNetworkV6;
addr
Bidang di x-ms-keyvault-network-info
header memperlihatkan alamat IP asal permintaan. Alamat IP ini bisa menjadi salah satu hal berikut ini:
- Alamat IP pribadi komputer melakukan permintaan. Ini menunjukkan bahwa permintaan menggunakan tautan pribadi atau titik akhir layanan. Ini adalah hasil yang diharapkan untuk tautan pribadi.
- Beberapa alamat IP pribadi lainnya, bukan dari komputer yang melakukan permintaan. Ini menunjukkan bahwa beberapa perutean kustom efektif. Ini menunjukkan bahwa permintaan menggunakan tautan pribadi atau titik akhir layanan.
- Alamat IP Publik. Ini menunjukkan bahwa permintaan sedang dirutekan ke Internet melalui perangkat gateway (NAT). Ini menunjukkan bahwa permintaan TIDAK menggunakan tautan pribadi, dan beberapa masalah perlu diperbaiki. Alasan umum untuk ini adalah 1) titik akhir pribadi tidak dalam status disetujui dan berhasil; dan 2) nama host tidak memutuskan ke alamat IP pribadi brankas kunci. Artikel ini berisi tindakan pemecahan masalah untuk kedua kasus tersebut.
Catatan
Jika permintaan /healthstatus
berfungsi, tetapi x-ms-keyvault-network-info
header hilang, maka titik akhir kemungkinan tidak dilayani oleh brankas kunci. Karena perintah di atas juga memvalidasi sertifikat HTTPS, header yang hilang mungkin merupakan tanda gangguan.
Menanyakan alamat IP brankas kunci secara langsung
Penting
Mengakses brankas kunci tanpa validasi sertifikat HTTPS berbahaya dan hanya dapat digunakan untuk tujuan pembelajaran. Kode produksi TIDAK BOLEH mengakses brankas kunci tanpa validasi pihak klien ini. Bahkan jika Anda hanya mendiagnosis masalah, Anda mungkin dapat merusak upaya yang tidak akan terungkap jika Anda sering menonaktifkan validasi sertifikat HTTPS dalam permintaan Anda ke brankas kunci.
Jika Anda memasang PowerShell versi terbaru, Anda dapat menggunakan -SkipCertificateCheck
untuk melewati pemeriksaan sertifikat HTTPS, maka Anda dapat menargetkan alamat IP brankas kunci secara langsung:
PS C:\> $(Invoke-WebRequest -SkipCertificateCheck -Uri https://10.1.2.3/healthstatus).Headers
Jika Anda menggunakan curl
, Anda dapat melakukan hal yang sama dengan -k
argumen:
joe@MyUbuntu:~$ curl -i -k https://10.1.2.3/healthstatus
Respons harus sama dari bagian sebelumnya, yang berarti harus menyertakan x-ms-keyvault-network-info
header dengan nilai yang sama. /healthstatus
Titik akhir tidak peduli apakah Anda menggunakan nama host atau alamat IP brankas kunci.
Jika Anda lihat x-ms-keyvault-network-info
mengembalikan satu nilai untuk permintaan menggunakan nama host brankas kunci, dan nilai lain untuk permintaan menggunakan alamat IP, maka setiap permintaan menargetkan titik akhir yang berbeda. Lihat penjelasan addr
bidang darix-ms-keyvault-network-info
bagian sebelumnya, untuk memutuskan kasus mana yang salah dan perlu diperbaiki.
8. Perubahan dan penyesuaian lain yang menyebabkan dampak
Item berikut adalah tindakan investigasi yang tidak lengkap. Mereka akan memberi tahu Anda di mana mencari masalah tambahan, tetapi Anda harus memiliki pengetahuan jaringan lanjutan untuk memperbaiki masalah dalam skenario ini.
Mendiagnosis server DNS kustom di Virtual Network
Di Portal, buka sumber daya Virtual Network. Di menu sebelah kiri, buka server DNS. Jika Anda menggunakan "Kustom", maka resolusi DNS mungkin tidak seperti yang dijelaskan dalam dokumen ini. Anda harus mendiagnosis bagaimana server DNS Anda memutuskan nama host brankas kunci.
Jika Anda menggunakan server DNS default yang disediakan Azure, seluruh dokumen ini berlaku.
Mendiagnosis host yang mengesampingkan atau server DNS kustom di Komputer Virtual
Banyak sistem operasi memungkinkan pengaturan alamat IP tetap eksplisit per nama host, biasanya dengan mengubah hosts
file. Mereka juga dapat mengizinkan untuk mengesampingkan server DNS. Jika Anda menggunakan salah satu skenario ini, lanjutkan dengan opsi diagnostik spesifik sistem.
Proksi promiscuous (Fiddler, dll.)
Kecuali ketika secara eksplisit mencatat, opsi diagnostik dalam artikel ini hanya berfungsi jika tidak ada proksi promiscuous yang ada di lingkungan. Meskipun proksi ini sering dipasang secara eksklusif di komputer yang sedang didiagnosis (Fiddler adalah contoh yang paling umum), admin tingkat lanjut dapat menimpa Otoritas Sertifikat akar (CA) dan memasang proksi promiscuous di perangkat gateway yang melayani beberapa komputer dalam jaringan. Proksi ini dapat mempengaruhi keamanan dan keandalan secara substansial. Microsoft tidak mendukung konfigurasi yang menggunakan produk tersebut.
Hal-hal lain yang dapat memengaruhi konektivitas
Ini adalah daftar item yang tidak lengkap yang dapat ditemukan pada skenario tingkat lanjut atau kompleks:
- Pengaturan firewall, baik Azure Firewall yang terhubung ke Jaringan Virtual, atau solusi firewall kustom yang diterapkan di Jaringan Virtual atau di komputer.
- Peering jaringan, yang dapat memengaruhi server DNS mana yang digunakan dan bagaimana lalu lintas dirutekan.
- Solusi gateway kustom (NAT), yang dapat memengaruhi bagaimana lalu lintas dirutekan, termasuk lalu lintas dari kueri DNS.