Azure Relay 名前空間に対する IP ファイアウォールを構成する
既定では、要求に有効な認証と承認がある限り、Relay 名前空間にはインターネットからアクセスできます。 これは IP ファイアウォールを使用して、さらに CIDR (クラスレス ドメイン間ルーティング) 表記の一連の IPv4 アドレスまたは IPv4 アドレス範囲のみに制限できます。
この機能は、Azure Relay へのアクセスを特定の既知のサイトからのみに制限するシナリオに役立ちます。 ファイアウォール規則を使用すると、特定の IPv4 アドレスから送信されたトラフィックを受け入れる規則を構成できます。 たとえば、Azure ExpressRoute で Relay を使用する場合、オンプレミス インフラストラクチャ IP アドレスからのトラフィックのみを許可するファイアウォール規則を作成できます。
IP ファイアウォール規則を有効にする
IP ファイアウォール規則は、名前空間レベルで適用されます。 したがって、規則は、サポートされているプロトコルを使用するクライアントからのすべての接続に適用されます。 名前空間で許可されている IP 規則と一致しない IP アドレスからの接続試行は、未承認として拒否されます。 その応答に、IP 規則に関する記述は含まれません。 IP フィルター規則は順に適用され、IP アドレスと一致する最初の規則に基づいて許可アクションまたは拒否アクションが決定されます。
Azure Portal の使用
このセクションでは、Azure portal を使用して、名前空間に対する IP ファイアウォール規則を作成する方法について説明します。
- Azure portal で [リレー名前空間] に移動します。
- 左側のメニューで、[ネットワーク] を選択します。
- アクセスを特定のネットワークと IP アドレスに制限するには、[選択されたネットワーク] オプションを選択します。 [ファイアウォール] セクションで、次の手順に従います。
現在のクライアント IP にその名前空間へのアクセスを許可するには、 [クライアント IP アドレスを追加する] オプションを選択します。
[アドレス範囲] に、特定の IPv4 アドレスまたは IPv4 アドレスの範囲を CIDR 表記で入力します。
Azure Relay サービスで信頼されている Microsoft サービスにこのファイアウォールのバイパスを許可する場合は、[信頼された Microsoft サービスがこのファイアウォールをバイパスすることを許可しますか?] に対して [はい] を選択します。
- ツール バーの [保存] を選択して設定を保存します。 ポータルの通知に確認が表示されるまで、数分間お待ちください。
Resource Manager テンプレートの使用
次の Resource Manager テンプレートでは、既存の Relay 名前空間に IP フィルター規則を追加できます。
テンプレートが受け取る 1 つのパラメーター ipMask は、1 つの IPv4 アドレスか、または CIDR 表記法で記述した IP アドレス ブロックです。 たとえば、CIDR 表記では、70.37.104.0/24 は 70.37.104.0 から 70.37.104.255 までの 256 個の IPv4 アドレスを表し、24 は範囲に対する有効プレフィックス ビット数を示します。
Note
可能な拒否ルールはありませんが、Azure Resource Manager テンプレートには、接続を制限しない "Allow" に設定された既定のアクション セットがあります。 仮想ネットワークまたはファイアウォールのルールを作成するときは、"defaultAction" を変更する必要があります
送信元
"defaultAction": "Allow"
to
"defaultAction": "Deny"
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"namespaces_name": {
"defaultValue": "contosorelay0215",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Relay/namespaces",
"apiVersion": "2021-11-01",
"name": "[parameters('namespaces_name')]",
"location": "East US",
"sku": {
"name": "Standard",
"tier": "Standard"
},
"properties": {}
},
{
"type": "Microsoft.Relay/namespaces/authorizationrules",
"apiVersion": "2021-11-01",
"name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
"location": "eastus",
"dependsOn": [
"[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
],
"properties": {
"rights": [
"Listen",
"Manage",
"Send"
]
}
},
{
"type": "Microsoft.Relay/namespaces/networkRuleSets",
"apiVersion": "2021-11-01",
"name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
"location": "East US",
"dependsOn": [
"[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
],
"properties": {
"publicNetworkAccess": "Enabled",
"defaultAction": "Deny",
"ipRules": [
{
"ipMask": "172.72.157.204",
"action": "Allow"
},
{
"ipMask": "10.1.1.1",
"action": "Allow"
},
{
"ipMask": "11.0.0.0/24",
"action": "Allow"
}
]
}
}
]
}
テンプレートをデプロイするには、Azure Resource Manager の手順に従います。
信頼できる Microsoft サービス
[信頼された Microsoft サービスを許可して、このファイアウォールをバイパスする] 設定を有効にした場合、次のサービスに Azure Relay リソースへのアクセス権が付与されます。
信頼できるサービス | サポートされる使用シナリオ |
---|---|
Azure Machine Learning | AML Kubernetes では Azure Relay を使用して、AML サービスと Kubernetes クラスター間の通信を容易にします。 Azure Relay は、さまざまなネットワークでホストされているアプリケーション間の安全な双方向通信を提供するフル マネージド サービスです。 この機能により、それは Azure リソースとオンプレミス リソース間の通信が制限されるプライベート リンク環境で使うのに最適です。 |
Azure Arc | リソース プロバイダーに関連付けられている Azure Arc 対応サービスは、Azure Relay 名前空間に設定されている IP ファイアウォール規則によってブロックされることなく、送信元として Azure Relay 名前空間内のハイブリッド接続に接続できます。 Microsoft.Hybridconnectivity サービスでは、Azure Relay 名前空間にハイブリッド接続が作成され、シナリオに基づいて関連する Arc サービスに接続情報が提供されます。 これらのサービスは、次の Azure サービスで Azure Arc を使用している場合にのみ、Azure Relay 名前空間と通信します。- Azure Kubernetes - Azure Machine Learning - Microsoft Purview |
Azure Relay のその他の信頼できるサービスは次のとおりです。
- Azure Event Grid
- Azure IoT Hub
- Azure Stream Analytics
- Azure Monitor
- Azure API Management
- Azure Synapse
- Azure Data Explorer
- Azure IoT Central
- Azure Healthcare Data Services
- Azure Digital Twins
Note
2021-11-01 バージョン以降の Microsoft Relay SDK では、Microsoft.Relay/namespaces/networkRuleSets プロパティで "trustedServiceAccessEnabled" を使用することで、信頼されたサービスへのアクセスを有効にできます。
Azure Resource Manager テンプレートで信頼されたサービスを許可するには、テンプレートに次のプロパティを含めます。
"trustedServiceAccessEnabled": "True"
たとえば、提供された ARM テンプレートを基にして、信頼されたサービスを有効にするため、このネットワーク ルール セット プロパティを含むようにそれを変更できます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"namespaces_name": {
"defaultValue": "contosorelay0215",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Relay/namespaces",
"apiVersion": "2021-11-01",
"name": "[parameters('namespaces_name')]",
"location": "East US",
"sku": {
"name": "Standard",
"tier": "Standard"
},
"properties": {}
},
{
"type": "Microsoft.Relay/namespaces/authorizationrules",
"apiVersion": "2021-11-01",
"name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
"location": "eastus",
"dependsOn": [
"[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
],
"properties": {
"rights": [
"Listen",
"Manage",
"Send"
]
}
},
{
"type": "Microsoft.Relay/namespaces/networkRuleSets",
"apiVersion": "2021-11-01",
"name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
"location": "East US",
"dependsOn": [
"[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
],
"properties": {
"trustedServiceAccessEnabled": "True",
"publicNetworkAccess": "Enabled",
"defaultAction": "Deny",
"ipRules": [
{
"ipMask": "172.72.157.204",
"action": "Allow"
},
{
"ipMask": "10.1.1.1",
"action": "Allow"
},
{
"ipMask": "11.0.0.0/24",
"action": "Allow"
}
]
}
}
]
}
関連するコンテンツ
ネットワーク セキュリティ関連の他の機能の詳細については、ネットワーク セキュリティに関するページを参照してください。