Aracılığıyla paylaş


Çalışma alanı depolama hesabı için güvenlik duvarı desteği arm şablonu

Bu makalede SIZE ARM şablonu ve çalışma alanı depolama hesabı için güvenlik duvarı desteği için gerekli alanların açıklaması sağlanır. Çalışma alanı depolama hesabınız için güvenlik duvarı desteği, olarak ayarlanması gereken ARM şablonu özelliği storageAccountFirewalltarafından denetlenmektedir Enabled.

Uyumluluk güvenlik profilini etkinleştirme gibi belirli çalışma alanı yapılandırmaları için farklı bir ARM şablonuna ihtiyacınız olabilir. Bu durumda Databricks hesap ekibinize başvurun.

Ayrıca Terraform'u kullanarak çalışma alanınızı güncelleştirebilir veya oluşturabilirsiniz. Azurerm_databricks_workspace Terraform sağlayıcısına bakın.

ARM şablonu alanları

Bu tabloda, çalışma alanı depolama hesabı için güvenlik duvarı desteği için aşağıdaki ARM şablonunun alanları ve açıklamaları listelenmiştir.

Alan Açıklama
Abonelik Kullanılacak Azure aboneliği.
Kaynak grubu Kullanılacak kaynak grubu. Bu genellikle sanal ağınızın kaynak grubudur.
Çalışma Alanı Adı Çalışma alanının adı. Var olan bir çalışma alanını kullanıyorsanız, bunun var olan çalışma alanı adıyla tam olarak eşleşmesi gerekir.
Yönetilen Kaynak Grubu Adı Çalışma alanınız için yönetilen kaynak grubu. Bu, formda varsayılan bir ada otomatik olarak doldurulur. Kuruluşunuz yönetilen kaynak grubu adını özelleştirmek istiyorsa bunu değiştirin.
Depolama Hesabı Adı Yönetilen kaynak grubunuzdaki Azure çalışma alanı depolama hesabı. Bu, formda varsayılan bir ada otomatik olarak doldurulur. Kuruluşunuz yönetilen kaynak grubu adını özelleştirmek istiyorsa bunu değiştirin.
Çalışma Alanı Sanal Ağ Ağ Kimliği Sanal ağınızın kaynak kimliği. Mevcut bir çalışma alanı için Azure portalında çalışma alanına giderek bunu alabilirsiniz. Özellikler'e tıklayın. Özel sanal ağ kimliği'nin altında Değeri JSON olarak görüntüle'ye tıklayın. Alandaki kaynak kimliğini value kopyalayın.
Özel Özel Alt Ağ Adı Sanal ağınız için özel alt ağ. Mevcut bir çalışma alanı için Azure portalında çalışma alanına giderek bunu alabilirsiniz. Özellikler'e tıklayın. Özel özel alt ağ altında Değeri JSON olarak görüntüle'ye tıklayın. Alandaki alt ağ adını value kopyalayın.
Özel Genel Alt Ağ Adı Sanal ağınız için genel alt ağ. Mevcut bir çalışma alanı için Azure portalında çalışma alanına giderek bunu alabilirsiniz. Özellikler'e tıklayın. Özel genel alt ağ altında Değeri JSON olarak görüntüle'ye tıklayın. Alandaki alt ağ adını value kopyalayın.
Konum Ana Bölge alanıyla eşleşecek şekilde otomatik olarak doldurulan Azure bölgesinin kısa adı.
Access Bağlayıcısı Adı Tipik dağıtımlar için bu alanı değiştirmeyin. Azure Databricks yeni bir Erişim Bağlayıcısı oluşturur.
Yönetilen Kimlik Türü Tipik dağıtımlar için bu alanı değiştirmeyin.
Kullanıcı Tarafından Yönetilen Kimlik Kaynak Kimliği Tipik dağıtımlar için bu alanı değiştirmeyin.
Depolama Hesabı Güvenlik Duvarı Çalışma alanı depolama hesabınız için güvenlik duvarı desteğinin etkinleştirilip etkinleştirilmeymeyeceğini belirtir.
Genel Ip'yi devre dışı bırakma Bunun olarak trueayarlanması gerekir. Bu, çalışma alanı depolama hesabınız için güvenlik duvarı desteği için gereken güvenli küme bağlantısını etkinleştirir.
Genel Ağ Erişimi Bunu genellikle Etkin olarak ayarlayın. Özel Bağlantı etkinleştirirseniz, hangi ayarların kullanılacağı için bkz. Arka uç ve ön uç bağlantılarını Azure Özel Bağlantı etkinleştirme.
Gerekli Nsg Kuralları Bunu genellikle Tüm Kurallar olarak ayarlayın. Özel Bağlantı etkinleştirirseniz, hangi ayarların kullanılacağı için bkz. Arka uç ve ön uç bağlantılarını Azure Özel Bağlantı etkinleştirme.
Müşteri Tarafından Yönetilen Anahtarlar Etkinleştirildi Yönetilen hizmetler veya yönetilen diskler için müşteri tarafından yönetilen anahtarlar kullanıyorsanız bu değeri true olarak ayarlayın. Şifreleme için bkz. Müşteri tarafından yönetilen anahtarlar.
Müşteri Tarafından Yönetilen Anahtar Türü Müşteri tarafından yönetilen anahtarlar etkinleştirildiyse, bu çalışma alanı için müşteri tarafından yönetilen anahtar türlerini seçin. Yönetilen Hizmetler, ManagedDisks veya Her İkisi'ni seçin.
Yönetilen Srvc Anahtar Kasası Anahtar Kimliği Yönetilen hizmetler için müşteri tarafından yönetilen anahtarlar kullanıyorsanız anahtar kasası Anahtar Kimliği'ni belirtin.
Yönetilen Disk Anahtar Kasası Anahtar Kimliği Yönetilen diskler için müşteri tarafından yönetilen anahtarlar kullanıyorsanız anahtar kasası Anahtar Kimliğini belirtin.
Yönetilen Disk Otomatik Döndürme Yönetilen diskler için müşteri tarafından yönetilen anahtarlar kullanıyorsanız, yeni anahtar sürümlerinin otomatik olarak alınıp alınmayacağını belirtin.

Çalışma alanı depolama hesabınız için güvenlik duvarı desteği arm şablonu

Çalışma alanı depolama hesabınız için güvenlik duvarı desteğini etkinleştirmek veya devre dışı bırakmak için aşağıdaki ARM şablonunu kopyalayın. Ayrıca örnek bir ARM şablonu da dağıtabilirsiniz:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "workspaceName": {
      "type": "String",
      "metadata": {
        "description": "The name of the Azure Databricks workspace to update."
      }
    },
    "location": {
      "defaultValue": "[resourceGroup().location]",
      "type": "String",
      "metadata": {
        "description": "Location for all resources."
      }
    },
    "managedResourceGroupName": {
      "defaultValue": "[format('databricks-rg-{0}-{1}', parameters('workspaceName'), uniqueString(parameters('workspaceName'), resourceGroup().id))]",
      "type": "String",
      "metadata": {
        "description": "The Managed Resource GroupName of the workspace. Do not change unless using a custom managed resource group name."
      }
    },
    "storageAccountName": {
      "defaultValue": "[concat('dbstorage', uniqueString(resourceGroup().id, subscription().id))]",
      "type": "String",
      "metadata": {
        "description": "Workspace storage account name. Do not change unless using a custom storage account name."
      }
    },
    "workspaceVnetResourceId": {
      "defaultValue": "Required Resource ID of the workspace VNet",
      "type": "String",
      "metadata": {
        "description": "The Resource ID of the injected VNet for the workspace"
      }
    },
    "workspacePrivateSubnetName": {
      "defaultValue": "private-subnet",
      "type": "String",
      "metadata": {
        "description": "The private subnet name for the workspace"
      }
    },
    "workspacePublicSubnetName": {
      "defaultValue": "public-subnet",
      "type": "String",
      "metadata": {
        "description": "The public subnet name for the workspace"
      }
    },
    "accessConnectorName": {
      "defaultValue": "[format('{0}-access-connector', parameters('workspaceName'))]",
      "type": "String",
      "metadata": {
        "description": "The access connector to create for the workspace"
      }
    },
    "ManagedIdentityType": {
      "defaultValue": "SystemAssigned",
      "allowedValues": [
        "SystemAssigned",
        "UserAssigned",
        "SystemAssigned,UserAssigned"
      ],
      "type": "String",
      "metadata": {
        "description": "Access Connector Managed Identity Type"
      }
    },
    "userManagedIdentityResourceId": {
      "defaultValue": "Required For User Mananged Identity",
      "type": "String",
      "metadata": {
        "description": "The Resource Id of the User Managed Identity"
      }
    },
    "storageAccountFirewall": {
      "defaultValue": "Enabled",
      "allowedValues": [
        "Enabled",
        "Disabled"
      ],
      "type": "String",
      "metadata": {
        "description": "Enable or Disable firewall support for workspace default storage feature"
      }
    },
    "disablePublicIp": {
      "defaultValue": true,
      "type": "Bool",
      "metadata": {
        "description": "Specifies whether to deploy Azure Databricks workspace with secure cluster connectivity (SCC) enabled or not (No Public IP)."
      }
    },
    "publicNetworkAccess": {
      "defaultValue": "Enabled",
      "allowedValues": [
        "Enabled",
        "Disabled"
      ],
      "type": "String",
      "metadata": {
        "description": "Indicates whether public network access is allowed to the workspace with private endpoint - possible values are Enabled or Disabled."
      }
    },
    "requiredNsgRules": {
      "defaultValue": "AllRules",
      "allowedValues": [
        "AllRules",
        "NoAzureDatabricksRules"
      ],
      "type": "String",
      "metadata": {
        "description": "Indicates whether to retain or remove the AzureDatabricks outbound NSG rule - possible values are AllRules, NoAzureDatabricksRules (private link)."
      }
    },
    "storageDoubleEncryption": {
      "defaultValue": false,
      "type": "Bool",
      "metadata": {
        "description": "Is double encryption for managed storage enabled ?"
      }
    },
    "customerManagedKeysEnabled": {
      "defaultValue": false,
      "type": "Bool",
      "metadata": {
        "description": "Is CMK for managed services enabled ?"
      }
    },
    "CustomerManagedKeyType": {
      "defaultValue": "ManagedServicesCMK",
      "allowedValues": [
        "ManagedServicesCMK",
        "ManagedDisksCMK",
        "BothCMK"
      ],
      "type": "String",
      "metadata": {
        "description": "Selects the CMK types for this workspace, Managed Services and/or Disks, Workspace storage account is not enabled here"
      }
    },

    "ManagedSrvcKeyVaultKeyId": {
      "defaultValue": "https://kv-url/keys/keyname/version",
      "type": "String",
      "metadata": {
        "description": "The Key Vault Key ID"
      }
    },
    "ManagedDiskKeyVaultKeyId": {
      "defaultValue": "https://kv-url/keys/keyname/version",
      "type": "String",
      "metadata": {
        "description": "The Key Vault Key ID"
      }
    },
    "ManagedDiskAutoRotation": {
      "type": "bool",
      "defaultValue": false,
      "allowedValues": [
        true,
        false
      ],
      "metadata": {
        "description": "Whether managed disk will pick up new key version automatically."
      }
    }
  },
  "variables": {
    "ApiVersion": "2024-05-01",
    "workspaceSku": "premium",
    "systemAssignedObject": {
      "type": "[parameters('ManagedIdentityType')]"
    },
    "userAssignedObject": {
      "type": "[parameters('ManagedIdentityType')]",
      "userAssignedIdentities": {
        "[parameters('userManagedIdentityResourceId')]": {}
      }
    },
    "ConnectorSystemAssigned": {
      "id": "[resourceId('Microsoft.Databricks/accessConnectors', parameters('accessConnectorName'))]",
      "identityType": "[parameters('ManagedIdentityType')]"
    },
    "connectorUserAssigned": {
      "id": "[resourceId('Microsoft.Databricks/accessConnectors', parameters('accessConnectorName'))]",
      "identityType": "[parameters('ManagedIdentityType')]",
      "userAssignedIdentityId": "[parameters('userManagedIdentityResourceId')]"
    },
    "managedSrvcFirst" : "[split(parameters('ManagedSrvcKeyVaultKeyId'),'/keys/')]",
    "managedSrvcSecond" : "[split(variables('managedSrvcFirst')[1],'/')]",
     "managedDiskFirst" : "[split(parameters('ManagedDiskKeyVaultKeyId'),'/keys/')]",
    "managedDiskSecond" : "[split(variables('managedDiskFirst')[1],'/')]",
    "ManagedServicesCMK": {
      "managedServices": {
        "keySource": "Microsoft.Keyvault",
        "keyVaultProperties": {
          "keyVaultUri": "[variables('managedSrvcFirst')[0]]",
          "keyName": "[variables('managedSrvcSecond')[0]]",
          "keyVersion": "[variables('managedSrvcSecond')[1]]"
        }
      }
    },
    "ManagedDisksCMK": {
      "managedDisk": {
        "keySource": "Microsoft.Keyvault",
        "keyVaultProperties": {
          "keyVaultUri": "[variables('managedDiskFirst')[0]]",
          "keyName": "[variables('managedDiskSecond')[0]]",
          "keyVersion": "[variables('managedDiskSecond')[1]]"
        },
        "rotationToLatestKeyVersionEnabled": "[parameters('ManagedDiskAutoRotation')]"
      }
    },
    "BothCMK": {
      "managedServices": {
        "keySource": "Microsoft.Keyvault",
        "keyVaultProperties": {
          "keyVaultUri": "[variables('managedSrvcFirst')[0]]",
          "keyName": "[variables('managedSrvcSecond')[0]]",
          "keyVersion": "[variables('managedSrvcSecond')[1]]"
        }
      },
      "managedDisk": {
        "keySource": "Microsoft.Keyvault",
        "keyVaultProperties": {
          "keyVaultUri": "[variables('managedDiskFirst')[0]]",
          "keyName": "[variables('managedDiskSecond')[0]]",
          "keyVersion": "[variables('managedDiskSecond')[1]]"
        },
        "rotationToLatestKeyVersionEnabled": "[parameters('ManagedDiskAutoRotation')]"
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Databricks/accessConnectors",
      "apiVersion": "2023-05-01",
      "name": "[parameters('accessConnectorName')]",
      "location": "[parameters('location')]",
      "identity": "[if(equals(parameters('ManagedIdentityType'),'SystemAssigned'),variables('systemAssignedObject'),variables('userAssignedObject'))]",
      "properties": {}
    },
    {
      "type": "Microsoft.Databricks/workspaces",
      "apiVersion": "[variables('ApiVersion')]",
      "name": "[parameters('workspaceName')]",
      "location": "[parameters('location')]",
      "dependsOn": [
        "[resourceId('Microsoft.Databricks/accessConnectors', parameters('accessConnectorName'))]"
      ],
      "sku": {
        "name": "[variables('workspaceSku')]"
      },
      "properties": {
        "managedResourceGroupId": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', parameters('managedResourceGroupName'))]",
        "publicNetworkAccess": "[parameters('publicNetworkAccess')]",
        "requiredNsgRules": "[parameters('requiredNsgRules')]",
        "accessConnector": "[if(equals(parameters('ManagedIdentityType'),'SystemAssigned'),variables('ConnectorSystemAssigned'),variables('connectorUserAssigned'))]",
        "defaultStorageFirewall": "[parameters('storageAccountFirewall')]",
        "parameters": {
          "customVirtualNetworkId": {
            "value": "[parameters('workspaceVnetResourceId')]"
          },
          "customPrivateSubnetName": {
            "value": "[parameters('workspacePrivateSubnetName')]"
          },
          "customPublicSubnetName": {
            "value": "[parameters('workspacePublicSubnetName')]"
          },
          "enableNoPublicIp": {
            "value": "[parameters('disablePublicIp')]"
          },
          "storageAccountName": {
            "value": "[parameters('storageAccountName')]"
          },
          "requireInfrastructureEncryption": {
            "value": "[parameters('storageDoubleEncryption')]"
          }
        }
      },
      "condition": "[not(parameters('customerManagedKeysEnabled'))]"
    },
    {
      "type": "Microsoft.Databricks/workspaces",
      "apiVersion": "[variables('ApiVersion')]",
      "name": "[parameters('workspaceName')]",
      "location": "[parameters('location')]",
      "dependsOn": [
        "[resourceId('Microsoft.Databricks/accessConnectors', parameters('accessConnectorName'))]"
      ],
      "sku": {
        "name": "[variables('workspaceSku')]"
      },
      "properties": {
        "managedResourceGroupId": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', parameters('managedResourceGroupName'))]",
        "publicNetworkAccess": "[parameters('publicNetworkAccess')]",
        "requiredNsgRules": "[parameters('requiredNsgRules')]",
        "accessConnector": "[if(equals(parameters('ManagedIdentityType'),'SystemAssigned'),variables('ConnectorSystemAssigned'),variables('connectorUserAssigned'))]",
        "encryption": {
          "entities": "[variables(parameters('CustomerManagedKeyType'))]"
        },
        "defaultStorageFirewall": "[parameters('storageAccountFirewall')]",
        "parameters": {
          "customVirtualNetworkId": {
            "value": "[parameters('workspaceVnetResourceId')]"
          },
          "customPrivateSubnetName": {
            "value": "[parameters('workspacePrivateSubnetName')]"
          },
          "customPublicSubnetName": {
            "value": "[parameters('workspacePublicSubnetName')]"
          },
          "enableNoPublicIp": {
            "value": "[parameters('disablePublicIp')]"
          },
          "storageAccountName": {
            "value": "[parameters('storageAccountName')]"
          },
          "requireInfrastructureEncryption": {
            "value": "[parameters('storageDoubleEncryption')]"
          }
        }
      },
      "condition": "[parameters('customerManagedKeysEnabled')]"
    }
  ]
}