Az Azure Data Explorer-fürt kimenő hozzáférésének korlátozása
A fürt kimenő hozzáférésének korlátozása fontos az olyan kockázatok mérséklése érdekében, mint az adatkiszivárgás. Egy rosszindulatú szereplő esetleg létrehozhat egy külső táblát egy tárfiókban, és nagy mennyiségű adatot nyerhet ki. A kimenő hozzáférést a fürt szintjén is szabályozhatja a hívási szabályzatok definiálásával. A feliratozási szabályzatok kezelésével kimenő hozzáférést engedélyezhet a megadott SQL-hez, tárhoz vagy más végpontokhoz.
Ebből a cikkből megtudhatja, hogyan használhatja a híváskihívási szabályzatok bővítményét, amely lehetővé teszi a fürt hívásainak további korlátozását.
Ábrafelirat-szabályzatok típusai
A ábrafelirat-szabályzatok az alábbiak szerint oszthatók el:
- Nem módosítható ábrafelirat-szabályzatok: Ezek a fürtök szabványos szabályzatai. Előre konfigurálva vannak, és nem módosíthatók.
- Fürtfelirat-szabályzatok: Ezek olyan szabályzatok, amelyeket feliratszabályzat-parancsok használatával módosíthat.
Előfeltételek
- Azure-előfizetés. Hozzon létre egy ingyenes Azure-fiókot.
- Egy Azure-Data Explorer-fürt és -adatbázis. Hozzon létre egy fürtöt és egy adatbázist.
Ábrafeliratszabályzat-parancsok futtatása
Jelentkezzen be az Azure Data Explorer webes felhasználói felületére.
A bal oldali menüben válassza a Lekérdezés lehetőséget, majd csatlakozzon a fürthöz.
A lekérdezési ablakban futtassa a következő lekérdezést a fürt nem módosítható feliratszabályzatainak listájának vizsgálatához:
.show cluster policy callout
Az alábbiakban egy példát mutatunk be a nem módosítható ábrafelirat-szabályzatokra. Figyelje meg, hogy a listában van néhány alapértelmezett szabály, amely lehetővé teszi más szolgáltatások, például külső adatok hívását.
[
{
"CalloutType":"kusto",
"CalloutUriRegex":"[a-z0-9]{3,22}\\.(\\w+\\.)?kusto(mfa)?\\.windows\\.net/?$",
"CanCall":true
},
{
"CalloutType":"kusto",
"CalloutUriRegex":"//[a-z0-9]{3,22}\\.[a-z0-9-]{1,50}\\.(kusto\\.azuresynapse|kustodev\\.azuresynapse-dogfood)\\.net/?$",
"CanCall":true
},
{
"CalloutType":"kusto",
"CalloutUriRegex":"^https://([A-Za-z0-9]+\\.)?(ade|adx)\\.(int\\.)?(applicationinsights|loganalytics|monitor)\\.(io|azure(\\.com|\\.us|\\.cn))/",
"CanCall":true
},
{
"CalloutType":"sql",
"CalloutUriRegex":"[a-z0-9][a-z0-9\\-]{0,61}[a-z0-9]?\\.database\\.windows\\.net/?$",
"CanCall":true
},
{
"CalloutType":"sql",
"CalloutUriRegex":"[a-z0-9-]{0,61}?(-ondemand)?\\.sql\\.azuresynapse(-dogfood)?\\.net/?$",
"CanCall":true
},
{
"CalloutType":"external_data",
"CalloutUriRegex":".*",
"CanCall":true
},
{
"CalloutType":"azure_digital_twins",
"CalloutUriRegex":"[A-Za-z0-9\\-]{3,63}\\.api\\.[A-Za-z0-9]+\\.digitaltwins\\.azure\\.net/?$",
"CanCall":true
}
]
A nem módosítható feliratszabályzatok listájának ürítése
A fürt kimenő hozzáférésének korlátozásához ki kell ürítenie a nem módosítható feliratszabályzatok listáját. Ehhez futtassa a következő parancsot az Azure CLI-vel vagy bármely más eszközzel az Azure Data Explorer API-k meghívásával.
ARM-üzembe helyezés aktiválása az Azure CLI-vel egy frissített ARM-sablonnal:
Példa a "template.json" nevű ARM-sablonfájlra, amely a RestrictOutboundNetworkAccess tulajdonságot Engedélyezve értékre állítja:
{ "$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", ... "properties": { ... "restrictOutboundNetworkAccess": "Enabled", ... } } ... ] }
Példahívás a fenti sablonra hivatkozó Azure CLI használatával.
# Replace the <...> placeholders with the correct values az deployment group create --name RestrictOutboundAccess --resource-group <resource group> --template-file ./template.json
A
restrictOutboundNetworkAccess
fürttulajdonság frissítése eltávolítja a fürt összes nem módosítható szabályzatát. Ez megakadályozza, hogy hívásokat kezdeményezhessenek más szolgáltatások felé az alábbi példában látható módon.Futtassa újra a következő parancsot, és ellenőrizze, hogy üres listát ad-e vissza:
.show cluster policy callout | where EntityType == "Cluster immutable policy"
FQDN-k hozzáadása a képfeliratokhoz korlátozott feltételek mellett
Ha engedélyezni szeretné a kimenő hozzáférést egy adott teljes tartománynévhez, hozzáadhatja azt a allowedFqdnList
fürt listájához. Ezt úgy teheti meg, hogy módosítja az Azure Data Explorer-fürt ARM-sablonját.
ARM-üzembe helyezés aktiválása az Azure CLI-vel egy frissített ARM-sablonnal:
Példa a "template.json" nevű ARM-sablonfájlra, amelynek az allowedFqdnList tulajdonsága ["some.sql.azuresynapse.net", "..."]:
{ "$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", ... "properties": { ... "restrictOutboundNetworkAccess": "Enabled", "allowedFqdnList": ["some.sql.azuresynapse.net", "..."] ... } } ... ] }
Példahívás a fenti sablonra hivatkozó Azure CLI használatával.
# Replace the <...> placeholders with the correct values az deployment group create --name ConfigureAllowedFqdnList --resource-group <resource group> --template-file ./template.json
Ha hozzáadja az FQDN-t az engedélyezett listához, hívásokat indíthat a megadott teljes tartománynévre. Az üzembe helyezés eredményét az alábbi parancs végrehajtásával ellenőrizheti:
.show cluster policy callout | project Policy=parse_json(Policy) | mv-expand Policy | where Policy.CalloutType == "sql"
Megjegyzés
Az Azure Data Explorer a belső tárolási réteggel való kommunikációhoz beállított alapértelmezett szabályzatok készlete. Nem tesznek közzé adatkiszivárgási kockázatot.