Mengonfigurasi titik akhir privat untuk Azure Event Grid topik atau domain kustom

Anda dapat menggunakan titik akhir privat untuk memungkinkan masuknya peristiwa langsung dari jaringan virtual Anda ke topik dan domain kustom Anda dengan aman melalui tautan privat tanpa melalui internet publik. Titik akhir privat menggunakan alamat IP dari ruang alamat VNet untuk topik atau domain kustom Anda. Untuk informasi yang lebih konseptual, lihat Keamanan jaringan.

Artikel ini menjelaskan cara mengonfigurasi titik akhir privat untuk topik atau domain kustom.

Catatan

Saat ini, titik akhir privat tidak didukung untuk topik sistem.

Menggunakan portal Microsoft Azure

Bagian ini memperlihatkan cara menggunakan portal Microsoft Azure untuk membuat titik akhir privat untuk topik atau domain.

Catatan

Langkah-langkah yang ditampilkan di bagian ini sebagian besar untuk topik kustom. Anda bisa menggunakan langkah serupa untuk membuat titik akhir privat untuk domain.

Saat membuat topik baru

Bagian ini menunjukkan kepada Anda cara mengaktifkan akses jaringan pribadi untuk topik Event Grid atau domain. Untuk petunjuk langkah demi langkah untuk membuat topik baru, lihat Membuat topik kustom.

  1. Pada halaman Dasar dari wizard Membuat topik pilih Berikutnya: Jaringan di bagian bawah halaman setelah mengisi bidang yang diperlukan.

    Gambar memperlihatkan pilihan tautan Jaringan di bagian bawah halaman.

  2. Untuk mengizinkan akses ke topik Event Grid melalui titik akhir privat, pilih opsi Akses privat.

    Gambar memperlihatkan pilihan opsi Akses privat pada halaman Jaringan dari wizard Buat topik.

  3. Lihat bagian berikutnya untuk langkah-langkah menambahkan titik akhir privat.

Untuk topik yang ada

  1. Masuk ke portal Microsoft Azure dan navigasi ke topik atau domain Anda.

  2. Beralih ke tab Jaringan pada halaman topik Anda. Di tab Akses publik, pilih Titik akhir privat saja.

    Cuplikan layar yang memperlihatkan halaman akses jaringan Publik dengan opsi hanya titik akhir Privat yang dipilih.

  3. Beralih ke tab Koneksi titik akhir privat, lalu pilih + Titik akhir privat pada toolbar.

    Cuplikan layar memperlihatkan pilihan tautan + Titik akhir privat pada tab Koneksi titik akhir privat.

  4. Pada halaman Dasar-Dasar, ikuti langkah-langkah berikut ini:

    1. Pilih langganan Azure tempat Anda ingin membuat titik akhir privat.

    2. Pilih grup sumber daya Azure untuk titik akhir privat.

    3. Masukkan nama untuk titik akhir.

    4. Perbarui nama untuk antarmuka jaringan jika diperlukan.

    5. Pilih wilayah untuk titik akhir. Titik akhir privat Anda harus berada di wilayah yang sama dengan jaringan virtual Anda, tetapi dapat berada di wilayah yang berbeda dari sumber daya tautan privat (dalam contoh ini, topik Event Grid).

    6. Lalu, pilih tombol Berikutnya: Sumber Daya > di bagian bawah halaman.

      Cuplikan layar menunjukkan halaman Dasar untuk wizard titik akhir privat dari Buat.

  5. Pada halaman Sumber Daya, ikuti langkah-langkah ini, konfirmasikan bahwa topik dipilih untuk Sub-sumber daya target, lalu pilih tombol Berikutnya: Virtual Network > di bagian bawah halaman.

    Cuplikan layar menunjukkan halaman Sumber Daya untuk Membuat wizard titik akhir privat.

  6. Pada halaman Microsoft Azure Virtual Network, Anda memilih subnet dalam jaringan virtual ke tempat Anda ingin menggunakan titik akhir privat.

    1. Pilih jaringan virtual. Hanya jaringan virtual dalam langganan dan lokasi yang dipilih saat ini yang tercantum dalam daftar turun-bawah.

    2. Pilih subnet di dalam jaringan virtual yang Anda pilih.

    3. Tentukan apakah Anda ingin alamat IP dialokasikan secara statis atau dinamis.

    4. Pilih grup keamanan aplikasi yang ada atau buat grup keamanan aplikasi lalu kaitkan dengan titik akhir privat.

    5. Pilih tombol Berikutnya: DNS > di bagian bawah halaman.

      Cuplikan layar memperlihatkan halaman Jaringan wizard Membuat titik akhir privat.

  7. Pada halaman DNS , pilih apakah Anda ingin titik akhir privat diintegrasikan dengan zona DNS privat, lalu pilih Berikutnya: Tag di bagian bawah halaman.

    Cuplikan layar menunjukkan halaman DNS dari wizard titik akhir privat Pembuatan.

  8. Pada halaman Tag, buat tag (nama dan nilai) apa pun yang ingin Anda kaitkan dengan sumber daya titik akhir privat. Lalu, pilih Tinjau + buat di bagian bawah halaman.

  9. Pada Ulasan + buat, tinjau semua pengaturan, dan pilih Buat untuk membuat titik akhir privat.

Saat Anda membuat titik akhir privat, koneksi harus disetujui. Jika sumber daya yang Anda gunakan untuk membuat titik akhir privat ada di direktori Anda, Anda dapat menyetujui permintaan koneksi asalkan Anda memiliki izin yang memadai. Jika Anda menyambungkan ke sumber daya Azure di direktori lain, Anda harus menunggu pemilik sumber daya tersebut menyetujui permintaan koneksi Anda.

Ada empat status penyediaan:

Tindakan layanan Status layanan titik akhir privat konsumen Deskripsi
Tidak ada Tertunda Koneksi dibuat secara manual dan menunggu persetujuan dari pemilik sumber daya Private Link.
Setuju Disetujui Koneksi disetujui secara otomatis atau manual dan siap digunakan.
Tolak Ditolak Koneksi ditolak oleh pemilik sumber daya tautan privat.
Hapus Terputus Koneksi dihapus oleh pemilik sumber daya tautan privat, titik akhir privat menjadi informatif dan harus dihapus untuk dibersihkan.

Cara mengelola koneksi titik akhir privat

Bagian berikut ini memperlihatkan cara menyetujui atau menolak koneksi titik akhir privat.

  1. Masuk ke portal Microsoft Azure.
  2. Di bilah pencarian, ketikkan topik Event Grid atau domain Event Grid.
  3. Pilih topik atau domain yang ingin Anda kelola.
  4. Pilih tab Jaringan.
  5. Jika ada koneksi yang sedang diproses, Anda akan melihat koneksi yang tercantum dengan Sedang diproses dalam keadaan penyediaan.

Untuk menyetujui titik akhir privat

Anda dapat menyetujui titik akhir privat yang berada dalam status tertunda. Untuk menyetujui, ikuti langkah-langkah berikut:

Catatan

Langkah-langkah yang diperlihatkan pada bagian ini sebagian besar untuk topik. Anda bisa menggunakan langkah serupa untuk menyetujui titik akhir privat untuk domain.

  1. Pilih titik akhir privat yang ingin Anda setujui, dan pilih Setujui pada toolbar.

    Titik akhir privat - status tertunda

  2. Pada halaman dialog Setujui koneksi, tambahkan komentar (opsional), dan pilih Ya.

    Titik akhir privat - setujui

  3. Konfirmasikan bahwa Anda melihat status titik akhir sebagai Disetujui.

    Titik akhir privat - status disetujui

Untuk menolak titik akhir privat

Anda dapat menolak titik akhir privat yang dalam status tertunda atau status disetujui. Untuk melakukannya, ikuti langkah-langkah berikut:

Catatan

Langkah-langkah yang diperlihatkan pada bagian ini adalah untuk topik. Anda bisa menggunakan langkah serupa untuk menolak titik akhir privat untuk domain.

  1. Pilih titik akhir privat yang ingin Anda tolak, dan pilih Tolak pada toolbar.

    Cuplikan layar yang memperlihatkan

  2. Pada halaman dialog Tolak koneksi, tambahkan komentar (opsional), dan pilih Ya.

    Titik akhir privat - tolak

  3. Konfirmasikan bahwa Anda melihat status titik akhir sebagai Ditolak.

    Titik akhir privat - status ditolak

    Catatan

    Anda tidak dapat menyetujui titik akhir privat di portal Microsoft Azure setelah ditolak.

Gunakan Azure CLI

Untuk membuat titik akhir privat, gunakan metode az network private-endpoint create seperti yang diperlihatkan dalam contoh berikut:

az network private-endpoint create \
    --resource-group <RESOURECE GROUP NAME> \
    --name <PRIVATE ENDPOINT NAME> \
    --vnet-name <VIRTUAL NETWORK NAME> \
    --subnet <SUBNET NAME> \
    --private-connection-resource-id "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventGrid/topics/<TOPIC NAME>" \
    --connection-name <PRIVATE LINK SERVICE CONNECTION NAME> \
    --location <LOCATION> \
    --group-ids topic

Untuk deskripsi parameter yang digunakan dalam contoh, lihat dokumentasi untuk az network private-endpoint create. Beberapa poin yang perlu diperhatikan dalam contoh ini adalah:

  • Untuk private-connection-resource-id, tentukan ID sumber daya topik atau domain. Contoh sebelumnya menggunakan jenis: topik.
  • untuk group-ids, tentukan topic atau domain. Dalam contoh sebelumnya, digunakan topic.

Untuk menghapus titik akhir privat, gunakan metode az network private-endpoint delete seperti yang diperlihatkan dalam contoh berikut:

az network private-endpoint delete --resource-group <RESOURECE GROUP NAME> --name <PRIVATE ENDPOINT NAME>

Catatan

Langkah-langkah yang diperlihatkan pada bagian ini adalah untuk topik. Anda bisa menggunakan langkah serupa untuk membuat titik akhir privat untuk domain.

Prasyarat

Perbarui ekstensi Azure Event Grid untuk CLI dengan menjalankan perintah berikut ini:

az extension update -n eventgrid

Jika ekstensi tidak diinstal, jalankan perintah berikut untuk menginstalnya:

az extension add -n eventgrid

Membuat titik akhir privat

Untuk membuat titik akhir privat, gunakan metode az network private-endpoint create seperti yang diperlihatkan dalam contoh berikut:

az network private-endpoint create \
    --resource-group <RESOURECE GROUP NAME> \
    --name <PRIVATE ENDPOINT NAME> \
    --vnet-name <VIRTUAL NETWORK NAME> \
    --subnet <SUBNET NAME> \
    --private-connection-resource-id "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventGrid/topics/<TOPIC NAME>" \
    --connection-name <PRIVATE LINK SERVICE CONNECTION NAME> \
    --location <LOCATION> \
    --group-ids topic

Untuk deskripsi parameter yang digunakan dalam contoh, lihat dokumentasi untuk az network private-endpoint create. Beberapa poin yang perlu diperhatikan dalam contoh ini adalah:

  • Untuk private-connection-resource-id, tentukan ID sumber daya topik atau domain. Contoh sebelumnya menggunakan jenis: topik.
  • untuk group-ids, tentukan topic atau domain. Dalam contoh sebelumnya, digunakan topic.

Untuk menghapus titik akhir privat, gunakan metode az network private-endpoint delete seperti yang diperlihatkan dalam contoh berikut:

az network private-endpoint delete --resource-group <RESOURECE GROUP NAME> --name <PRIVATE ENDPOINT NAME>

Catatan

Langkah-langkah yang diperlihatkan pada bagian ini adalah untuk topik. Anda bisa menggunakan langkah serupa untuk membuat titik akhir privat untuk domain.

Sampel skrip

Berikut sampel skrip yang membuat sumber daya Azure berikut ini:

  • Grup sumber daya
  • Jaringan virtual
  • Subnet di jaringan virtual
  • Topik Azure Event Grid
  • Titik akhir privat untuk topik ini

Catatan

Langkah-langkah yang diperlihatkan pada bagian ini adalah untuk topik. Anda bisa menggunakan langkah serupa untuk membuat titik akhir privat untuk domain.

subscriptionID="<AZURE SUBSCRIPTION ID>"
resourceGroupName="<RESOURCE GROUP NAME>"
location="<LOCATION>"
vNetName="<VIRTUAL NETWORK NAME>"
subNetName="<SUBNET NAME>"
topicName = "<TOPIC NAME>"
connectionName="<ENDPOINT CONNECTION NAME>"
endpointName=<ENDPOINT NAME>

# resource ID of the topic. replace <SUBSCRIPTION ID>, <RESOURCE GROUP NAME>, and <TOPIC NAME> 
# topicResourceID="/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventGrid/topics/<TOPIC NAME>"

# select subscription
az account set --subscription $subscriptionID

# create resource group
az group create --name $resourceGroupName --location $location

# create vnet 
az network vnet create \
    --resource-group $resourceGroupName \
    --name $vNetName \
    --address-prefix 10.0.0.0/16

# create subnet
az network vnet subnet create \
    --resource-group $resourceGroupName \
    --vnet-name $vNetName \
    --name $subNetName \
    --address-prefixes 10.0.0.0/24

# disable private endpoint network policies for the subnet
az network vnet subnet update \
    --resource-group $resourceGroupName \
    --vnet-name $vNetName \
    --name $subNetName \
    --disable-private-endpoint-network-policies true

# create event grid topic. update <LOCATION>
az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location

# verify that the topic was created.
az eventgrid topic show \
    --resource-group $resourceGroupName \
    --name $topicName

# create private endpoint for the topic you created
az network private-endpoint create \
    --resource-group $resourceGroupName \
    --name $endpointName \
    --vnet-name $vNetName \
    --subnet $subNetName \
    --private-connection-resource-id $topicResourceID \
    --connection-name $connectionName \
    --location $location \
    --group-ids topic

# get topic 
az eventgrid topic show \
    --resource-group $resourceGroupName \
    --name $topicName

Menyetujui titik akhir privat

Sampel cuplikan CLI berikut memperlihatkan cara menyetujui koneksi titik akhir privat.

az eventgrid topic private-endpoint-connection approve \
    --resource-group $resourceGroupName \
    --topic-name $topicName \
    --name  $endpointName \
    --description "connection approved"

Menolak titik akhir privat

Sampel cuplikan CLI berikut memperlihatkan cara menolak koneksi titik akhir privat.

az eventgrid topic private-endpoint-connection reject \
    --resource-group $resourceGroupName \
    --topic-name $topicName \
    --name $endpointName \
    --description "Connection rejected"

Nonaktifkan akses jaringan publik

Secara default, akses jaringan publik diaktifkan untuk topik atau domain Event Grid. Untuk memperbolehkan akses melalui titik akhir privat saja, nonaktifkan akses jaringan publik dengan menjalankan perintah berikut:

az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access disabled

Gunakan PowerShell

Bagian ini memperlihatkan cara membuat titik akhir privat untuk topik atau domain menggunakan PowerShell. Berikut ini adalah sampel skrip dengan komentar.


# name of an Azure resource group to be created
$resourceGroupName = "contosorg"

# location where you want the resources to be created
$location ="eastus"

# name of the VNet to be created
$vnetName = "contosovnet"

# name of the subnet to be created in the VNet
$subnetName = "example-privatelinksubnet"

# name of the Event Grid topic to be created
$egridTopicName = "contosotopic"

# name of the private link service connection to be created
$privateLinkServiceConnectionName = "spegridplsconn"

# name of the private endpoint connection to be created
$privateEndpointConnectionName = "spegridpe11"

#

# create resource group
New-AzResourceGroup -Name $resourceGroupName -Location $location

# create virtual network
$virtualNetwork = New-AzVirtualNetwork `
                    -ResourceGroupName $resourceGroupName `
                    -Location $location `
                    -Name $vnetName  `
                    -AddressPrefix 10.0.0.0/16

# create subnet with endpoint network policy disabled
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
                    -Name $subnetName `
                    -AddressPrefix 10.0.0.0/24 `
                    -PrivateEndpointNetworkPoliciesFlag "Disabled" `
                    -VirtualNetwork $virtualNetwork

# update virtual network
$virtualNetwork | Set-AzVirtualNetwork

# get virtual network (optional)
$virtualNetwork = Get-AzVirtualNetwork `
                    -ResourceGroupName $resourceGroupName `
                    -Name $vnetName 

# create an Event Grid topic with public network access disabled. 
$topic = New-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $egridTopicName -Location $location -PublicNetworkAccess disabled

# create a private link service connection to the Event Grid topic. 
# For topics, set GroupId to 'topic'. For domains, it's 'domain'
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
                                -Name "privateLinkServiceConnectionName" `
                                -PrivateLinkServiceId $topic.id `
                                -GroupId "topic"

# get subnet info
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
                             | Where-Object  {$_.Name -eq $subnetName }  

# now, you are ready to create a private endpoint 
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $resourceGroupName  `
                                        -Name privateEndpointConnectionName   `
                                        -Location $location `
                                        -Subnet  $subnet   `
                                        -PrivateLinkServiceConnection $privateEndpointConnection

# verify that the endpoint is created
Get-AzPrivateEndpoint -ResourceGroupName $resourceGroupName  -Name privateEndpointConnectionName  

Menyetujui koneksi titik akhir privat

Sampel cuplikan PowerShell berikut ini memperlihatkan cara menyetujui titik akhir privat.

Catatan

Langkah-langkah yang diperlihatkan pada bagian ini adalah untuk topik. Anda bisa menggunakan langkah serupa untuk menyetujui titik akhir privat untuk domain.


# list all private endpoints for the topic
$topic = Get-AzEventGridTopic -ResourceGroup <RESOURCE GROUP NAME> - Name <TOPIC NAME>
$endpointList = Get-AzPrivateEndpointConnection -PrivateLinkResourceId $topic.Id

# filter the private endpoints using a name
 $pseEndpoint = $endpointList | Where-Object {     $_.Name.StartsWith('<MYENDPOINTNAME>') }

# approve the endpoint connection
Approve-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id

# get the endpoint connection to verify that it's approved
Get-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id

Menolak koneksi titik akhir privat

Contoh berikut ini memperlihatkan cara menolak titik akhir privat menggunakan PowerShell. Anda bisa mendapatkan GUID untuk titik akhir privat dari hasil perintah GET sebelumnya.

Catatan

Langkah-langkah yang diperlihatkan pada bagian ini adalah untuk topik. Anda bisa menggunakan langkah serupa untuk menolak titik akhir privat untuk domain.

# list all private endpoints for the topic
$topic = Get-AzEventGridTopic -ResourceGroup <RESOURCE GROUP NAME> - Name <TOPIC NAME>
$endpointList = Get-AzPrivateEndpointConnection -PrivateLinkResourceId $topic.Id


# filter the private endpoints using a name
 $pseEndpoint = $endpointList | Where-Object {     $_.Name.StartsWith('<MYENDPOINT>') }

# deny or reject the private endpoint connection
Deny-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id

# get the endpoint connection to verify that it's rejected
Get-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id

Anda dapat menyetujui koneksi bahkan setelah ditolak melalui API. Jika Anda menggunakan portal Microsoft Azure, Anda tidak dapat menyetujui titik akhir yang telah ditolak.

Langkah berikutnya