快速入門:使用 Azure PowerShell 建立私人端點

開始使用 Azure Private Link,透過專用端點安全地連接至 Azure Attestation。

在這個快速入門中,你將建立一個 Azure 認證的私人端點,並部署虛擬機器來測試私有連線。

備註

目前的實施僅包含自動核准選項。 訂閱必須加入允許名單,才能繼續建立私有端點。 請先聯繫服務團隊,或在 Azure 支援頁面 提交 Azure 支援申請,然後再進行以下步驟。

先決條件

建立資源群組

Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。

使用 New-AzResourceGroup 來建立資源群組:

## Create to your Azure account subscription and create a resource group in a desired location. ##
Connect-AzAccount
Set-AzSubscription "<subscription-name>"
$rg = "CreateAttestationPrivateLinkTutorial-rg"
$loc= "eastus"
New-AzResourceGroup -Name $rg -Location $loc

建立虛擬網路和堡壘主機

在這個區塊中,你會建立虛擬網路、子網路和堡壘主機。

堡壘主機將用於安全連接虛擬機,以測試私有端點。

使用下列 Cmdlet 建立虛擬網路和堡壘主機:

## Create backend subnet config. ##
$subnetConfig = New-AzVirtualNetworkSubnetConfig -Name myBackendSubnet -AddressPrefix 10.0.0.0/24

## Create Azure Bastion subnet. ##
$bastsubnetConfig = New-AzVirtualNetworkSubnetConfig -Name AzureBastionSubnet -AddressPrefix 10.0.1.0/24

## Create the virtual network. ##
$vnet = New-AzVirtualNetwork -Name "myAttestationTutorialVNet" -ResourceGroupName $rg -Location $loc -AddressPrefix "10.0.0.0/16" -Subnet $subnetConfig, $bastsubnetConfig

## Create public IP address for bastion host. ##
$publicip = New-AzPublicIpAddress -Name "myBastionIP" -ResourceGroupName $rg -Location $loc -Sku "Standard" -AllocationMethod "Static"

## Create bastion host ##
New-AzBastion -ResourceGroupName $rg -Name "myBastion" -PublicIpAddress $publicip -VirtualNetwork $vnet

部署 Azure Bastion 主機需要幾分鐘的時間。

建立測試虛擬機器

在本節中,你將建立一台虛擬機,用來測試私有端點。

使用下列 Cmdlet 建立虛擬機器:

## Set credentials for server admin and password. ##
$cred = Get-Credential

## Command to create network interface for VM ##
$nicVM = New-AzNetworkInterface -Name "myNicVM" -ResourceGroupName $rg -Location $loc -Subnet $vnet.Subnets[0] 

## Create a virtual machine configuration.##
$vmConfig = New-AzVMConfig -VMName "myVM" -VMSize "Standard_DS1_v2" | Set-AzVMOperatingSystem -Windows -ComputerName "myVM" -Credential $cred | Set-AzVMSourceImage -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2019-Datacenter" -Version "latest" | Add-AzVMNetworkInterface -Id $nicVM.Id 

## Create the virtual machine ##
New-AzVM -ResourceGroupName $rg -Location $loc -VM $vmConfig

建立認證服務提供者

## Create an attestation provider ##
$attestationProviderName = "myattestationprovider"
$attestationProvider = New-AzAttestation -Name $attestationProviderName -ResourceGroupName $rg -Location $loc
$attestationProviderId = $attestationProvider.Id

從本地機器存取認證提供者

輸入 nslookup <provider-name>.attest.azure.net。 請將你在前幾步建立的認證提供者實例名稱替換 <provider-name> 。

## Access the attestation provider from local machine ##
nslookup myattestationprovider.eus.attest.azure.net

<# You'll receive a message similar to what is displayed below:

Server:  cdns01.comcast.net
Address:  2001:558:feed::1

Non-authoritative answer:
Name:    eus.service.attest.azure.net
Address:  20.62.219.160
Aliases:  myattestationprovider.eus.attest.azure.net
	attesteusatm.trafficmanager.net

#>

建立私人端點

在本節中,您將使用以下方式建立私有端點與連線:

## Create private endpoint connection. ##
$privateEndpointConnection = New-AzPrivateLinkServiceConnection -Name "myConnection" -PrivateLinkServiceId $attestationProviderId -GroupID "Standard"

## Disable private endpoint network policy ##
$vnet.Subnets[0].PrivateEndpointNetworkPolicies = "Disabled" 
$vnet | Set-AzVirtualNetwork

## Create private endpoint
New-AzPrivateEndpoint  -ResourceGroupName $rg -Name "myPrivateEndpoint" -Location $loc -Subnet $vnet.Subnets[0] -PrivateLinkServiceConnection $privateEndpointConnection

設定私人 DNS 區域

在本節中,您將使用以下方式建立並設定私有 DNS 區域:

## Create private dns zone. ##
$zone = New-AzPrivateDnsZone -ResourceGroupName $rg -Name "privatelink.attest.azure.net"

## Create dns network link. ##
$link = New-AzPrivateDnsVirtualNetworkLink -ResourceGroupName $rg -ZoneName "privatelink.attest.azure.net" -Name "myLink" -VirtualNetworkId $vnet.Id

## Create DNS configuration ##
$config = New-AzPrivateDnsZoneConfig -Name "privatelink.attest.azure.net" -PrivateDnsZoneId $zone.ResourceId

## Create DNS zone group. ##
New-AzPrivateDnsZoneGroup -ResourceGroupName $rg -PrivateEndpointName "myPrivateEndpoint" -Name "myZoneGroup" -PrivateDnsZoneConfig $config

測試對私人端點的連線能力

在這個章節中,你會使用前一步建立的虛擬機器,透過私有端點連接到 SQL 伺服器。

  1. 請登入Azure portal。

  2. 在左側瀏覽窗格中,選取 [資源群組]。

  3. 選擇 CreateAttestationPrivateLinkTutorial-rg。

  4. 選取 myVM。

  5. 在 [myVM] 的 [概觀] 頁面上,選取 [連線],然後選取 [堡壘]。

  6. 選取藍色的使用 Bastion 按鈕。

  7. 輸入您在虛擬機器建立期間輸入的使用者名稱與密碼。

  8. 連線之後,在伺服器上開啟 Windows PowerShell。

  9. 輸入 nslookup <provider-name>.attest.azure.net。 請將你在前述步驟中建立的認證提供者實例名稱替換 <provider-name> :

    ## Access the attestation provider from local machine ##
    nslookup myattestationprovider.eus.attest.azure.net
    
    <# You'll receive a message similar to what is displayed below:
    
    Server:  cdns01.comcast.net
    Address:  2001:558:feed::1
        cdns01.comcast.net can't find myattestationprovider.eus.attest.azure.net: Non-existent domain
    
    #>
    
    ## Access the attestation provider from the VM created in the same virtual network as the private endpoint.   ##
    nslookup myattestationprovider.eus.attest.azure.net
    
    <# You'll receive a message similar to what is displayed below:
    
    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    myattestationprovider.eastus.test.attest.azure.net
    
    #>