Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure DevTest Labs'de laboratuvar sanal makinelerine (VM) güvenli uzak masaüstü erişimi için bir ağ geçidinin nasıl ayarlanacağı ve kullanılacağı açıklanmaktadır. Sanal makinelerin Uzak Masaüstü Protokolü (RDP) bağlantı noktalarını İnternet'te kullanıma sunmadığınızdan ağ geçidi kullanmak güvenliği artırır. Bu uzak masaüstü ağ geçidi çözümü, belirteç kimlik doğrulamayı da destekler.
DevTest Labs, laboratuvar kullanıcılarının vm'lerini görüntülemesi ve vm'lerine bağlanması için merkezi bir yer sağlar. Laboratuvar VM'sinin Genel Bakış sayfasındaRDP aracılığıyla Bağlan> seçeneğinin seçilmesi makineye özgü bir RDP dosyası oluşturur ve kullanıcılar vm'ye bağlanmak için dosyayı açabilir.
Uzak masaüstü ağ geçidi ile laboratuvar kullanıcıları vm'lerine bir ağ geçidi makinesi aracılığıyla bağlanır. Kullanıcılar doğrudan ağ geçidi makinesinde kimlik doğrulaması yapar ve etki alanına katılmış makinelerde şirket tarafından sağlanan kimlik bilgilerini kullanabilir. Belirteç kimlik doğrulaması ek bir güvenlik katmanı sağlar.
Bağlantı noktalarını veya IP adreslerini göstermeden laboratuvar VM'lerine güvenli bir şekilde erişmenin bir diğer yolu da Azure Bastion ile bir tarayıcı kullanmaktır. Daha fazla bilgi için bkz . Azure Bastion ile DevTest Labs VM'lerine tarayıcı bağlantısını etkinleştirme.
Mimari
Aşağıdaki diyagramda uzak masaüstü ağ geçidinin belirteç kimlik doğrulamasını nasıl uyguladığı ve DevTest Labs VM'lerine nasıl bağlanacağı gösterilmektedir.
Laboratuvar VM'sindenRDP aracılığıylaBağlan'ı> seçtiğinizde getRdpFileContents REST komutu çağrılır:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/getRdpFileContentsLaboratuvar bir ağ geçidiyle yapılandırıldığında, kimlik doğrulama belirteci istemek için
getRdpFileContentseylemihttps://{gateway-hostname}/api/host/{lab-machine-name}/port/{port-number}çağrılır.-
{gateway-hostname}veya{lb-uri}bir yük dengeleyici için, laboratuvarın Laboratuvar ayarları sayfasında belirtilen ağ geçidi ana bilgisayar adıdır. -
{lab-machine-name}bağlanacak VM'nin adıdır. -
{port-number}bağlantı için kullanılacak bağlantı noktasıdır. Genellikle bu bağlantı noktası 3389'dur, ancak laboratuvar VM'sinde paylaşılan IP adresi kullanılıyorsa bağlantı noktası numarası farklıdır.
-
Uzak masaüstü ağ geçidi, bir Azure İşlevleri işlev uygulamasına yapılan çağrıyı ertelemek için kullanır
https://{function-app-uri}/api/host/{lab-machine-name}/port/{port-number}.Not
İstek üst bilgisi, laboratuvarın anahtar kasasından aldığı işlev anahtarını otomatik olarak içerir. İşlev anahtarının gizli adı, laboratuvarın Laboratuvar ayarları sayfasında belirtilen Ağ Geçidi belirteci adı olarak belirtilmiştir.
Azure işlevi, ağ geçidi makinesinde sertifika tabanlı kimlik doğrulaması için bir belirteç oluşturur ve döndürür.
Eylem
getRdpFileContents, kimlik doğrulama belirteci de dahil olmak üzere tam RDP dosyasını döndürür.
RDP bağlantı programı RDP dosyasını açtığında, uzak masaüstü ağ geçidi belirtecin kimliğini doğrular ve bağlantı laboratuvar VM'sine iletilir.
Not
Tüm RDP bağlantı programları belirteç kimlik doğrulamayı desteklemez.
Önemli
Azure işlevi, kimlik doğrulama belirteci için bir sona erme tarihi ayarlar. Belirtecin süresi dolmadan önce kullanıcının VM'ye bağlanması gerekir.
Yapılandırma gereksinimleri
Ağ geçidi makineleri, Azure İşlevleri ve ağlarının DevTest Labs RDP erişimi ve belirteç kimlik doğrulamasıyla çalışmasını sağlamak için bazı yapılandırma gereksinimleri vardır:
Ağ geçidi makine gereksinimleri
Ağ geçidi makinesi aşağıdaki yapılandırmaya sahip olmalıdır:
HTTPS trafiğini işlemek için bir TLS/SSL sertifikası. Yalnızca bir makine varsa veya bir ağ geçidi grubunun yük dengeleyicisi varsa sertifikanın ağ geçidi makinesinin tam etki alanı adıyla (FQDN) eşleşmesi gerekir. Joker TLS/SSL sertifikaları çalışmaz.
İmzalama sertifikası. Create-SigningCertificate.ps1 PowerShell betiğini kullanarak imzalama sertifikası oluşturabilirsiniz.
Belirteç kimlik doğrulamayı destekleyen eklenebilir bir kimlik doğrulama modülü. System Center Virtual Machine Manager (VMM) görüntüleriyle birlikte gelen RDGatewayFedAuth.msi bir örnektir.
için istekleri
https://{gateway-hostname}/api/host/{lab-machine-name}/port/{port-number}işleme özelliği.
İnternet Information Services (IIS) için Uygulama Yönlendirme İsteği modülünü kullanarak https://{gateway-hostname}/api/host/{lab-machine-name}/port/{port-number} isteklerini işlev uygulamasına yeniden yönlendirebilirsiniz.
Azure İşlevleri gereksinimleri
Azure İşlevleri işlev uygulaması istekleri https://{function-app-uri}/app/host/{lab-machine-name}/port/{port-number} biçiminde işler ve ağ geçidi makinesinin imzalama sertifikasına göre kimlik doğrulama belirtecini oluşturur ve döndürür.
{function-app-uri} işlevine erişmek için kullanılan URI'dir.
İstek üst bilgisi, laboratuvarın anahtar kasasından aldığı işlev anahtarını geçirmelidir.
Örnek işlev için bkz . CreateToken.cs.
Ağ gereksinimleri
Ağ geçidi makinesinin TLS/SSL sertifikasıyla ilişkili FQDN'nin DNS'sinin trafiği ağ geçidi makinesine veya ağ geçidi makine grubunun yük dengeleyicisine yönlendirmesi gerekir.
Laboratuvar VM'sinde özel IP adresi kullanılıyorsa ağ geçidi makinesinden laboratuvar makinesine giden bir ağ yolu olmalıdır. İki makinenin aynı sanal ağı paylaşması veya eşlenmiş sanal ağları kullanması gerekir.
Uzak masaüstü ağ geçidi oluşturma
Azure DevTest Labs GitHub deposunda DevTest Labs belirteç kimlik doğrulamasını ve uzak masaüstü ağ geçidi kaynaklarını ayarlamaya yardımcı olan Azure Resource Manager (ARM) şablonları vardır. Ağ geçidi makine oluşturma, laboratuvar ayarları ve işlev uygulaması için şablonlar vardır.
Not
Örnek şablonların kullanılması , Uzak Masaüstü Ağ Geçidi lisans koşullarıyla sözleşmenizi gösterir.
Örnek bir uzak masaüstü ağ geçidi grubu ayarlamak için bu adımları izleyin.
İmzalama sertifikası oluşturun.
Create-SigningCertificate.ps1 dosyasını çalıştırın. Daha sonra kullanmak üzere yeni sertifikanın parmak izini, parolasını ve Base64 kodlamasını kaydedin.
TLS/SSL sertifikası alın. TLS/SSL sertifikasıyla ilişkili FQDN, denetlediğiniz bir etki alanı için olmalıdır.
DAHA sonra kullanmak üzere TLS/SSL sertifikası için parola, parmak izi ve Base64 kodlamasını kaydedin.
Parmak izini almak için aşağıdaki PowerShell komutlarını kullanın:
$cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate; $cer.Import('path-to-certificate'); $hash = $cer.GetCertHashString()Base64 kodlamasını almak için aşağıdaki PowerShell komutunu kullanın:
[System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes('path-to-certificate'))
tüm dosyaları adresinden https://github.com/Azure/azure-devtestlab/tree/master/samples/DevTestLabs/GatewaySample/arm/gatewayindirin. Tüm dosyaları ve RDGatewayFedAuth.msi depolama hesabındaki bir blob kapsayıcısına kopyalayın.
https://github.com/Azure/azure-devtestlab/tree/master/samples/DevTestLabs/GatewaySample/arm/gateway'den azuredeploy.json'ı açın ve aşağıdaki parametreleri doldurun.
Parametre Gerekli mi? Açıklama adminUsernameZorunlu Ağ geçidi makineleri için yönetici kullanıcı adı. adminPasswordZorunlu Ağ geçidi makineleri için yönetici hesabının parolası. instanceCountOluşturulacak ağ geçidi makinelerinin sayısı. alwaysOnOluşturulan Azure İşlevleri uygulamasının açık tutulup tutulmayacağı. Uygulamanın açık tutulması, kullanıcıların laboratuvar VM'lerine ilk kez bağlanmaya çalışmalarındaki gecikmeleri önler, ancak bunun maliyeti etkiler. tokenLifetimeHH:MM:SS biçiminde oluşturulan belirtecin geçerli olduğu süre. sslCertificateZorunlu Ağ geçidi makinesi için TLS/SSL sertifikasının Base64 kodlaması. sslCertificatePasswordZorunlu Ağ geçidi makinesi için TLS/SSL sertifikasının parolası. sslCertificateThumbprintZorunlu İmzalama sertifikasının yerel sertifika deposunda tanımlama için sertifika parmak izi. signCertificateZorunlu Ağ geçidi makinesi için imzalama sertifikası için Base64 kodlaması. signCertificatePasswordZorunlu Ağ geçidi makinesi için imzalama sertifikasının parolası. signCertificateThumbprintZorunlu İmzalama sertifikasının yerel sertifika deposunda tanımlama için sertifika parmak izi. _artifactsLocationZorunlu Bu şablonun gerektirdiği yapıtları bulmak için URI konumu. Bu değer göreli yol değil, tam URI olmalıdır. Yapıtlar arasında belirteç kimlik doğrulamasını destekleyen diğer şablonlar, PowerShell betikleri ve RDGatewayFedAuth.msiolarak adlandırılması beklenen Uzak Masaüstü Ağ Geçidi Eklenebilir Kimlik Doğrulaması modülü bulunur. _artifactsLocationSasTokenZorunlu Bir Azure depolama hesabıysa _artifactsLocationyapıtlara erişmek için paylaşılan erişim imzası (SAS) belirteci.azuredeploy.json dağıtmak için aşağıdaki Azure CLI komutunu çalıştırın:
az deployment group create --resource-group {resource-group} --template-file azuredeploy.json --parameters @azuredeploy.parameters.json -–parameters _artifactsLocation="{storage-account-endpoint}/{container-name}" -–parameters _artifactsLocationSasToken = "?{sas-token}"{storage-account-endpoint}komutunu çalıştırarakaz storage account show --name {storage-account-name} --query primaryEndpoints.bloböğesini alın.{sas-token}komutunu çalıştırarakaz storage container generate-sas --name {container-name} --account-name {storage-account-name} --https-only –permissions drlw –expiry {utc-expiration-date}öğesini alın.-
{storage-account-name}, karşıya yüklediğiniz dosyaları barındıran depolama hesabının adıdır. -
{container-name}, karşıya yüklediğiniz dosyaları barındıran kapsayıcıdır{storage-account-name}. -
{utc-expiration-date}, SAS belirtecinin süresinin dolacağı ve depolama hesabına erişmek için artık kullanılamadığı UTC tarihidir.
-
Ve değerlerini
gatewayFQDNgatewayIPşablon dağıtım çıkışından kaydedin. Ayrıca, işlev uygulamasının Uygulama ayarları sekmesinde bulabileceğiniz yeni oluşturulan işlev için anahtarın değerini kaydedin.TLS/SSL sertifikasının FQDN'sinin IP adresine yönlendirilmesi için DNS'yi
gatewayIPyapılandırın.
Uzak masaüstü ağ geçidi grubu oluşturup DNS'yi güncelleştirdikten sonra DevTest Labs'i ağ geçidini kullanacak şekilde yapılandırın.
Laboratuvarı belirteç kimlik doğrulamasını kullanacak şekilde yapılandırma
Laboratuvar ayarlarını güncelleştirmeden önce, kimlik doğrulama belirteci işlevinin anahtarını laboratuvarın anahtar kasasında depolayın. İşlev anahtarı değerini Azure portalındaki İşlev Anahtarları sayfasından alabilirsiniz. Laboratuvarın anahtar kasasının kimliğini bulmak için aşağıdaki Azure CLI komutunu çalıştırın:
az resource show --name {lab-name} --resource-type 'Microsoft.DevTestLab/labs' --resource-group {lab-resource-group-name} --query properties.vaultName
Anahtar Kasası'na bir gizli kaydetmeyi öğrenmek için bkz. Anahtar Kasası'na Gizli Ekleme. Daha sonra kullanmak için gizli dizi adını kaydedin. Bu değer işlev anahtarının kendisi değil, işlev anahtarını barındıran anahtar kasası gizli dizisinin adıdır.
Bir laboratuvarın Ağ Geçidi ana bilgisayar adını ve Ağ Geçidi belirteci gizliliğini, ağ geçidi makinesi veya makineleriyle belirteç kimlik doğrulaması kullanacak şekilde yapılandırmak için şu adımları tamamlayın:
Laboratuvarın Genel Bakış sayfasında, sol bölmede Yapılandırma ve ilkeler'i seçin.
Yapılandırma ve ilkeler sayfasında, sol bölmedeki Ayarlar bölümünde Laboratuvar ayarları'nı seçin.
Uzak masaüstü bağlantısı bölümünde:
Ağ geçidi ana bilgisayar adı kutusuna uzak masaüstü hizmetleri ağ geçidi makinesinin veya grubunun FQDN veya IP adresini girin. Bu değer, ağ geçidi makinelerinde kullanılan TLS/SSL sertifikasının FQDN değeriyle eşleşmelidir.
Ağ geçidi belirteç gizli anahtarı kutusuna daha önce kaydettiğiniz gizli anahtar adını girin. Bu değer işlev anahtarının kendisi değil, işlev anahtarını barındıran anahtar kasası gizli dizisinin adıdır.
Kaydet'i seçin.
Not
Kaydet'in seçilmesi, Uzak Masaüstü Ağ Geçidi lisans koşullarını kabul ettiğinizi gösterir.
Hem ağ geçidini hem de laboratuvarı yapılandırdıktan sonra, laboratuvar kullanıcısı Bağlan'ı seçtiğinde oluşturulan RDP bağlantı dosyası, ağ geçidine bağlanmak ve belirteç kimlik doğrulamasını kullanmak için gerekli bilgileri içerir.
Laboratuvar yapılandırmasını otomatikleştirme
PowerShell: Set-DevTestLabGateway.ps1, Ağ Geçidi ana bilgisayar ismi ve Ağ Geçidi gizli belirteç ayarlarını otomatik olarak yapılandırmak için kullanılan örnek bir PowerShell betiğidir.
ARM: Ağ Geçidi ana bilgisayar adı ve Ağ geçidi belirteci gizli anahtarı ayarlarıyla laboratuvar oluşturmak veya güncelleştirmek için Azure DevTest Labs GitHub deposundaki Ağ Geçidi örnek ARM şablonlarını kullanın.
Ağ güvenlik grubunu yapılandırın
Laboratuvarın güvenliğini daha da sağlamak için ağ güvenlik grubu oluşturma, değiştirme veya silme başlığında açıklandığı gibi laboratuvar VM'lerinin kullandığı sanal ağa bir ağ güvenlik grubu (NSG) ekleyin. Örneğin, bir NSG yalnızca ağ geçidinden geçen trafiğin laboratuvar VM'lerine ulaşmasına izin verebilir. Kural kaynağı, ağ geçidi grubunun ağ geçidi makinesinin VEYA yük dengeleyicinin IP adresidir.