Azure PowerShell を使って Azure Key Vault のネットワーク セキュリティ境界を作成し、ネットワーク セキュリティ境界を使い始めます。 ネットワーク セキュリティ境界を使用すると、Azure サービスとしてのプラットフォーム (PaaS) リソースが明示的に信頼された境界内で通信できるようになります。 ネットワーク セキュリティ境界プロファイルで PaaS リソースの関連付けを作成して更新します。 その後、ネットワーク セキュリティ境界アクセス規則を作成して更新します。 完了したら、このクイックスタートで作成したすべてのリソースを削除します。
重要
ネットワーク セキュリティ境界はパブリック プレビュー段階であり、すべての Azure パブリック クラウド リージョンで利用できます。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されおり、運用環境のワークロードにはお勧めしません。 特定の機能がサポートされない、または機能が制限されることがあります。 詳しくは、「Microsoft Azure プレビューの追加使用条件」をご覧ください。
前提条件
アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
Az.Tools.Installer モジュールをインストールします。
# Install the Az.Tools.Installer module Install-Module -Name Az.Tools.Installer -Repository PSGallery
Az.Network
のプレビュー ビルドをインストールします。# Install the preview build of the Az.Network module Install-Module -Name Az.Network -AllowPrerelease -Force -RequiredVersion 7.13.0-preview
Azure PowerShell をローカル環境で使うことも、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
コマンドを使ってネットワーク セキュリティ境界を作成します。
注
ネットワーク セキュリティ境界の規則や他のネットワーク セキュリティ境界構成には、個人を特定できるデータや機密データを含めないでください。
# 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
注
マネージド 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
注
ネットワーク セキュリティ境界からリソースの関連付けを削除すると、アクセス制御は既存のリソース ファイアウォール構成にフォールバックします。 これにより、リソース ファイアウォール構成に従ってアクセスが許可または拒否される可能性があります。 PublicNetworkAccess が SecuredByPerimeter に設定されていて、関連付けが削除されている場合、リソースはロックダウン状態になります。 詳しくは、「Azure でのネットワーク セキュリティ境界への切り替え」をご覧ください。