クラスターの送信アクセスを制限することは、データ流出などのリスクを軽減するために重要です。 悪意のあるアクターは、ストレージ アカウントへの外部テーブルを作成し、大量のデータを抽出する可能性があります。 制限付き送信アクセスを有効にし、FQDN ベースの許可リストまたは吹き出しポリシーを構成することで、クラスター レベルで送信アクセスを制御できます。
重要
制限付き送信アクセス用に FQDN ベースの許可リストまたは吹き出しポリシーを構成できます。 両方を構成すると、エラーが発生します。
データ流出防止
データ流出は、特に機密性の高いデータや独自のデータがクラスターに格納されている場合に、企業にとって大きな懸念事項です。 適切な制御がないと、悪意のあるアクターや正しく構成されていないシステムが、許可されていない外部の宛先にデータを転送する可能性があります。
制限付き送信アクセス機能を使用すると、次のことが可能になり、このリスクを軽減できます。
- 送信トラフィックを制限する: 明示的に許可された宛先を除くすべての送信トラフィックをブロックすることで、未承認のデータ転送を防止します。
- FQDN ベースの許可リストを使用してアクセスを制御する: クラスターが通信できる正確な完全修飾ドメイン名 (FQDN) を指定し、データが信頼できるエンドポイントにのみ送信されるようにします。
- 吹き出しポリシーを適用する: 組織のセキュリティ要件に基づいてアクセスを許可または拒否するために、SQL や外部データ呼び出しなどの特定の種類の送信トラフィックに関する細かい規則を定義します。
制限付きの送信アクセスを実装することで、企業は、コンプライアンスとセキュリティ標準に合わせて、Azure Data Explorer クラスターがデータ流出リスクから保護されるようにすることができます。
制限付き送信アクセスを有効または無効にする
ARM レイヤーで制限付き送信アクセスを有効または無効にするには、クラスターの ARM テンプレートで restrictOutboundNetworkAccess
プロパティを構成します。
制限付き送信アクセスが有効になると、 .alter または .alter-merge クラスター ポリシーの吹き出しコマンドを使用して、吹き出しポリシーに変更を加えることはできません。 吹き出しポリシーを変更するには、ARM テンプレートまたは Azure CLI を使用して、 allowedFqdnList
または allowedCallout
プロパティを更新します。
例: 制限付き送信アクセスを有効にする
次の ARM テンプレートでは、クラスターの制限付き送信アクセスを有効にします。
次の例では、 <ClusterName> と <ClusterRegion> を独自の値に置き換えます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Kusto/Clusters",
"apiVersion": "2021-02-01",
"name": "<ClusterName>",
"location": "<ClusterRegion>",
"properties": {
"restrictOutboundNetworkAccess": "Enabled"
}
}
]
}
例: 制限付き送信アクセスを無効にする
制限付き送信アクセスを無効にするには、 restrictOutboundNetworkAccess
プロパティを Disabled
に設定します。
次の例では、 <ClusterName> と <ClusterRegion> を独自の値に置き換えます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Kusto/Clusters",
"apiVersion": "2021-02-01",
"name": "<ClusterName>",
"location": "<ClusterRegion>",
"properties": {
"restrictOutboundNetworkAccess": "Disabled"
}
}
]
}
例: Azure portal を使用して制限付き送信アクセスを有効にする
Azure portalでクラスターに移動します。
セキュリティ + ネットワーキング>ネットワーキング>送信アクセスの制限に移動します。
制限付き送信アクセスを有効にするには、[ 有効] を 選択します。
構成を送信するには、保存 を選択します。
FQDN ベースの許可リストを構成する
制限付き送信アクセスが有効になっている場合は、クラスターの ARM テンプレートの allowedFqdnList
プロパティに追加することで、特定の FQDN を許可できます。
例: ARM テンプレートを使用して特定の FQDN を許可する
次の ARM テンプレートでは、制限付きの送信アクセスを有効にしたまま、特定の FQDN への送信アクセスを許可します。
次の例では、 <ClusterName> と <ClusterRegion> を独自の値に置き換えます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Kusto/Clusters",
"apiVersion": "2021-02-01",
"name": "<ClusterName>",
"location": "<ClusterRegion>",
"properties": {
"restrictOutboundNetworkAccess": "Enabled",
"allowedFqdnList": [
"example.sql.azuresynapse.net",
"example.blob.core.windows.net"
]
}
}
]
}
例: Azure portal を使用して特定の FQDN を許可する
Azure portalでクラスターに移動します。
セキュリティ + ネットワーキング>ネットワーキング>送信アクセスの制限に移動します。
制限付き送信アクセスを有効にして FQDN を構成するには、[ 有効] を選択します。
構成を送信するには、保存 を選択します。
コールアウトポリシーを設定する(プレビュー)
または、吹き出しポリシーを ARM テンプレートで直接構成するか、Azure CLI を使用することもできます。 吹き出しポリシーを使用すると、SQL、ストレージ、またはその他のエンドポイントへの送信アクセスに関する特定の規則を定義できます。
注
発信アクセスが制限された吹き出しポリシーは、Azure portal から直接構成することはできません。
例: ARM テンプレートを使用して吹き出しポリシーを構成する
次の ARM テンプレートは、制限付き送信アクセスとともにコールアウトポリシーを設定します。
次の例では、 <ClusterName> と <ClusterRegion> を独自の値に置き換えます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Kusto/Clusters",
"apiVersion": "2021-02-01",
"name": "<ClusterName>",
"location": "<ClusterRegion>",
"properties": {
"restrictOutboundNetworkAccess": "Enabled",
"calloutPolicies": [
{
"calloutType": "sql",
"calloutUriRegex": "[a-z0-9][a-z0-9\\-]{0,61}[a-z0-9]?\\.database\\.windows\\.net/?$",
"outboundAccess": "Allow"
},
{
"calloutType": "external_data",
"calloutUriRegex": ".*",
"outboundAccess": "Deny"
}
]
}
}
]
}
例: Azure CLI を使用して吹き出しポリシーを構成する
また、Azure CLI を使用して吹き出しポリシーを構成することもできます。 次のコマンドは、クラスターの吹き出しポリシーを設定します。
次の例では、 <ResourceGroupName> と <ClusterName> を独自の値に置き換えます。
az resource update --resource-group <ResourceGroupName> \
--name <ClusterName> \
--resource-type Microsoft.Kusto/clusters \
--set properties.calloutPolicies='[
{
"calloutType": "sql",
"calloutUriRegex": "sqlname\\.database\\.azure\\.com/?$",
"outboundAccess": "Allow"
}
]'
制限された送信アクセスとポリシーを確認する
制限付きの送信アクセスを有効にするか、吹き出しポリシーを構成した後、Azure Data Explorer Web UI で次の管理コマンドを実行して構成を確認できます。
.show cluster policy callout
このコマンドは、現在のコールアウト ポリシーと許可されている FQDN を表示します。
注
クラスターが内部ストレージ 層と通信するための既定のポリシーが設定されており、データ流出のリスクはありません。
制限事項
制限付き送信アクセスは堅牢なセキュリティを提供しますが、いくつかの制限事項に注意することが重要です。
- FQDN ベースの許可リストでは、 Webapi コールアウトはサポートされていません。
- FQDN ベースの許可リストまたは吹き出しポリシーを構成できますが、両方を構成することはできません。 両方を構成しようとすると、構成エラーが発生します。
- クラスターには、そのストレージ 層との内部通信用の一連の既定のポリシーがあります。 これらのポリシーは変更できません。また、データ流出のリスクを引き起こすことはありません。
- 発信アクセスが制限された吹き出しポリシーは、Azure portal から直接構成することはできません。