クイックスタート: ネットワーク セキュリティ境界を作成する - Azure PowerShell
Azure PowerShell を使って Azure Key Vault のネットワーク セキュリティ境界を作成し、ネットワーク セキュリティ境界の使用を開始します。 ネットワーク セキュリティ境界を使用すると、Azure サービスとしてのプラットフォーム (PaaS) リソースが明示的に信頼された境界内で通信できるようになります。 ネットワーク セキュリティ境界プロファイルで PaaS リソースの関連付けを作成して更新します。 その後、ネットワーク セキュリティ境界アクセス規則を作成して更新します。 完了したら、このクイックスタートで作成したすべてのリソースを削除します。
重要
ネットワーク セキュリティ境界はパブリック プレビュー段階であり、すべての Azure パブリック クラウド リージョンで利用できます。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
Azure ネットワーク セキュリティ境界パブリック プレビューの登録が必要です。 登録するには、
AllowNSPInPublicPreview
機能フラグをサブスクリプションに追加します。機能フラグの追加について詳しくは、「Azure サブスクリプションでプレビュー機能を設定する」を参照してください。
機能フラグが追加された後、サブスクリプションに
Microsoft.Network
リソース プロバイダーを再登録する必要があります。Azure portal で
Microsoft.Network
リソース プロバイダーを再登録するには、サブスクリプションを選んでから、[リソース プロバイダー] を選択します。Microsoft.Network
を検索し、[再登録] を選択します。Microsoft.Network
リソース プロバイダーを再登録するには、次の Azure PowerShell コマンドを使用します。
# Register the Microsoft.Network resource provider Register-AzResourceProvider -ProviderNamespace Microsoft.Network
Microsoft.Network
リソース プロバイダーを再登録するには、次の Azure CLI コマンドを使用します。# Register the Microsoft.Network resource provider az provider register --namespace Microsoft.Network
リソース プロバイダーの再登録について詳しくは、「Azure リソース プロバイダーと種類」を参照してください。
ネットワーク セキュリティ境界用のツールを備えた最新バージョンの Azure PowerShell モジュール。
# Install the Az.Tools.Installer module Install-Module -Name Az.Tools.Installer -Repository PSGallery
Az.Tools.Installer
を使用して、Az.Network
のプレビュー ビルドをインストールします。# Install the preview build of the Az.Network module Install-Module -Name Az.Tools.Installer -Repository PSGallery -allowprerelease -force # List the current versions of the Az.Network module available in the PowerShell Gallery Find-Module -Name Az.Network -Allversions -AllowPrerelease # Install the preview build of the Az.Network module using the Install-AzModule -Name Az.Network -AllowPrerelease -Force Install-AzModule -Path <previewVersionNumber>
Note
ネットワーク セキュリティ境界機能を使用するには、プレビュー バージョンの Az.Network モジュールが必要です。 最新バージョンの Az.Network モジュールは、PowerShell ギャラリーで入手できます。
-preview
で終わる最新バージョンを探します。Azure PowerShell をローカルで使用する場合は、次のようにします。
- Az PowerShell モジュールの最新バージョンをインストールします。
- Connect-AzAccount コマンドレットを使用して、Azure アカウントに接続します。
Azure Cloud Shell を使用する場合は、次のようにします。
- Azure Cloud Shell の詳細については、「Azure Cloud Shell の概要」を参照してください。
PowerShell コマンドレットのヘルプを表示するには、
Get-Help
コマンドを使用します。# Get help for a specific command get-help -Name <powershell-command> - full # Example get-help -Name New-AzNetworkSecurityPerimeter - full
Azure アカウントにサインインしてサブスクリプションを選択する
構成を始めるには、Azure アカウントにサインインします。
# Sign in to your Azure account
Connect-AzAccount
次に、サブスクリプションに接続します。
# List all subscriptions
Set-AzContext -Subscription <subscriptionId>
# Register the Microsoft.Network resource provider
Register-AzResourceProvider -ProviderNamespace Microsoft.Network
リソース グループとキー コンテナーを作成する
ネットワーク セキュリティ境界を作成する前に、リソース グループとキー コンテナー リソースを作成する必要があります。
この例では、WestCentralUS の場所に test-rg
という名前のリソース グループを作成し、次のコマンドを使用してリソース グループに demo-keyvault-<RandomValue>
という名前のキー コンテナーを作成します。
# Create a resource group
$rgParams = @{
Name = "test-rg"
Location = "westcentralus"
}
New-AzResourceGroup @rgParams
# Create a key vault
$keyVaultName = "demo-keyvault-$(Get-Random)"
$keyVaultParams = @{
Name = $keyVaultName
ResourceGroupName = $rgParams.Name
Location = $rgParams.Location
}
$keyVault = New-AzKeyVault @keyVaultParams
ネットワーク セキュリティ境界を作成する
この手順では、次の New-AzNetworkSecurityPerimeter
コマンドを使用してネットワーク セキュリティ境界を作成します。
Note
ネットワーク セキュリティ境界規則またはその他のネットワーク セキュリティ境界構成には、個人を特定できるデータや機密データを配置しないでください。
# Create a network security perimeter
$nsp = @{
Name = 'demo-nsp'
location = 'westcentralus'
ResourceGroupName = $rgParams.name
}
$demoNSP=New-AzNetworkSecurityPerimeter @nsp
$nspId = $demoNSP.Id
PaaS リソースの関連付けを新しいプロファイルに作成して更新する
この手順では、New-AzNetworkSecurityPerimeterProfile
と New-AzNetworkSecurityPerimeterAssociation
コマンドを使用して、新しいプロファイルを作成し、PaaS リソースである Azure Key Vault をプロファイルに関連付けます。
次のコマンドを使用して、ネットワーク セキュリティ境界の新しいプロファイルを作成します。
# Create a new profile $nspProfile = @{ Name = 'nsp-profile' ResourceGroupName = $rgParams.name SecurityPerimeterName = $nsp.name } $demoProfileNSP=New-AzNetworkSecurityPerimeterProfile @nspprofile
次のコマンドを使用して、Azure Key Vault (PaaS リソース) をネットワーク セキュリティ境界プロファイルに関連付けます。
# Associate the PaaS resource with the above created profile $nspAssociation = @{ AssociationName = 'nsp-association' ResourceGroupName = $rgParams.name SecurityPerimeterName = $nsp.name AccessMode = 'Learning' ProfileId = $demoProfileNSP.Id PrivateLinkResourceId = $keyVault.ResourceID } New-AzNetworkSecurityPerimeterAssociation @nspassociation | format-list
次のように、
Update-AzNetworkSecurityPerimeterAssociation
コマンドを使用してアクセス モードをenforced
に変更し、関連付けを更新します。# Update the association to enforce the access mode $updateAssociation = @{ AssociationName = $nspassociation.AssociationName ResourceGroupName = $rgParams.name SecurityPerimeterName = $nsp.name AccessMode = 'Enforced' } Update-AzNetworkSecurityPerimeterAssociation @updateAssociation | format-list
ネットワーク セキュリティ境界アクセス規則を管理する
この手順では、パブリック IP アドレス プレフィックスを使用して、ネットワーク セキュリティ境界アクセス規則を作成、更新、削除します。
# Create an inbound access rule for a public IP address prefix
$inboundRule = @{
Name = 'nsp-inboundRule'
ProfileName = $nspprofile.Name
ResourceGroupName = $rgParams.Name
SecurityPerimeterName = $nsp.Name
Direction = 'Inbound'
AddressPrefix = '192.0.2.0/24'
}
New-AzNetworkSecurityPerimeterAccessRule @inboundrule | format-list
# Update the inbound access rule to add more public IP address prefixes
$updateInboundRule = @{
Name = $inboundrule.Name
ProfileName = $nspprofile.Name
ResourceGroupName = $rgParams.Name
SecurityPerimeterName = $nsp.Name
AddressPrefix = @('192.0.2.0/24','198.51.100.0/24')
}
Update-AzNetworkSecurityPerimeterAccessRule @updateInboundRule | format-list
Note
マネージド ID が、それをサポートするリソースに割り当てられない場合、同じ境界内の他のリソースへの送信アクセスは拒否されます。 このリソースからのアクセスを許可することを目的としたサブスクリプション ベースの受信規則は有効になりません。
すべてのリソースの削除
ネットワーク セキュリティ境界が不要になったら、ネットワーク セキュリティ境界に関連付けられているすべてのリソースを削除し、境界を削除してから、リソース グループを削除します。
# Retrieve the network security perimeter and place it in a variable
$nsp= Get-AzNetworkSecurityPerimeter -Name demo-nsp -ResourceGroupName $rg.Params.Name
# Delete the network security perimeter and all associated resources
$removeNsp = @{
Name = 'nsp-association'
ResourceGroupName = $rgParams.Name
SecurityPerimeterName = $nsp.Name
}
Remove-AzNetworkSecurityPerimeterAssociation @removeNsp
Remove-AzNetworkSecurityPerimeter -Name $nsp.Name -ResourceGroupName $rgParams.Name
# Remove the resource group
Remove-AzResourceGroup -Name $rgParams.Name -Force
Note
ネットワーク セキュリティ境界からリソースの関連付けを削除すると、アクセス制御が既存のリソース ファイアウォール構成にフォールバックされます。 これにより、リソース ファイアウォール構成に従ってアクセスが許可または拒否される可能性があります。 PublicNetworkAccess が SecuredByPerimeter に設定されていて、関連付けが削除されている場合、リソースはロックダウン状態になります。 詳細については、Azure でのネットワーク セキュリティ境界への変換に関するページを参照してください。