Skip to main content

Azure 中的 Workspace Execution

按照本指南部署用于 Azure 私有数据处理的 Workspace Execution 模块。

先决条件

在部署 Workspace Execution 模块之前,您必须在 为私有数据设置 Azure 订阅和 VNet 页面上完成以下步骤:

  1. 已按照创建资源组部分中所述,配置了专用于 Alteryx One Platform 的资源组。

  2. 已配置专用于 Alteryx One 的虚拟专用网 (Vnet),具体请参考配置虚拟专用网部分。

  3. 完成应用注册,并为服务账户附加基础 IAM 策略,具体请参考配置 IAM 部分。

  4. 已成功触发私有数据处理配置,具体操作请参考“触发私有数据处理配置”部分。

订阅设置

步骤 1:配置 IAM

步骤 1a:创建 IAM 自定义角色

注意

AAC_CEFD_SA_Role 是角色名称示例。您可以为角色选择任何名称,但该名称必须以 AAC_CEFD 开头。

您需要创建一个自定义 IAM 角色。将其命名为 AAC_CEFD_SA_Role 并使用以下角色文档。我们建议使用 JSON 选项卡而不是可视化编辑器。Alteryx One 需要一些 * 权限才能运行。在创建角色时,预计会出现一些安全警告。

重要

更新此自定义角色的 assignableScopes 范围。范围应为订阅 ID。

{
    "properties": {
        "roleName": "AAC_CEFD_SA_Role",
        "description": "Custom role for provisioning AAC private data handling",
        "assignableScopes": [
            "/subscriptions/<subscription ID>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Authorization/*/read",
                    "Microsoft.Authorization/roleAssignments/delete",
                    "Microsoft.Authorization/roleAssignments/write",
                    "Microsoft.Compute/availabilitySets/*",
                    "Microsoft.Compute/cloudServices/*",
                    "Microsoft.Compute/disks/delete",
                    "Microsoft.Compute/disks/read",
                    "Microsoft.Compute/disks/write",
                    "Microsoft.Compute/locations/*",
                    "Microsoft.Compute/virtualMachineScaleSets/*",
                    "Microsoft.Compute/virtualMachines/*",
                    "Microsoft.Insights/autoScaleSettings/delete",
                    "Microsoft.Insights/autoScaleSettings/read",
                    "Microsoft.Insights/autoScaleSettings/write",
                    "Microsoft.KeyVault/*",
                    "Microsoft.ManagedIdentity/userAssignedIdentities/assign/action",
                    "Microsoft.ManagedIdentity/userAssignedIdentities/delete",
                    "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/delete",
                    "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/read",
                    "Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write",
                    "Microsoft.ManagedIdentity/userAssignedIdentities/read",
                    "Microsoft.ManagedIdentity/userAssignedIdentities/write",
                    "Microsoft.Network/applicationGateways/backendAddressPools/join/action",
                    "Microsoft.Network/loadBalancers/backendAddressPools/join/action",
                    "Microsoft.Network/loadBalancers/inboundNatPools/join/action",
                    "Microsoft.Network/loadBalancers/inboundNatRules/join/action",
                    "Microsoft.Network/loadBalancers/probes/join/action",
                    "Microsoft.Network/loadBalancers/read",
                    "Microsoft.Network/locations/*",
                    "Microsoft.Network/networkInterfaces/*",
                    "Microsoft.Network/networkSecurityGroups/delete",
                    "Microsoft.Network/networkSecurityGroups/join/action",
                    "Microsoft.Network/networkSecurityGroups/read",
                    "Microsoft.Network/networkSecurityGroups/write",
                    "Microsoft.Network/publicIPAddresses/join/action",
                    "Microsoft.Network/publicIPAddresses/read",
                    "Microsoft.Network/routeTables/read",
                    "Microsoft.Network/routeTables/routes/read",
                    "Microsoft.Network/routeTables/routes/write",
                    "Microsoft.Network/routeTables/write",
                    "Microsoft.Network/virtualNetworks/read",
                    "Microsoft.Network/virtualNetworks/subnets/join/action",
                    "Microsoft.RecoveryServices/locations/*",
                    "Microsoft.ResourceHealth/availabilityStatuses/read",
                    "Microsoft.Resources/deployments/*",
                    "Microsoft.Resources/subscriptions/operationresults/read",
                    "Microsoft.Resources/subscriptions/read",
                    "Microsoft.Resources/subscriptions/resourceGroups/read",
                    "Microsoft.Web/serverFarms/write",
                    "Microsoft.Web/serverFarms/read",
                    "Microsoft.Web/serverFarms/delete",
                    "Microsoft.OperationalInsights/workspaces/read",
                    "Microsoft.OperationalInsights/workspaces/write",
                    "Microsoft.OperationalInsights/workspaces/delete",
                    "Microsoft.Insights/components/*",
                    "Microsoft.Web/sites/*"
                    
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

步骤 1b:将自定义角色绑定到订阅中的应用程序注册

将 AAC_CEFD_SA_Role IAM 自定义角色添加到在 为私有数据设置 Azure 订阅和 VNet 页面上创建的 aac_automation_sa 服务账户。

步骤 1c:启用 Workspace Execution 环境自定义

Workspace Execution 环境自定义功能允许客户将自定义驱动程序和连接器上传到 S3 存储桶。

要启用自定义设置,请将 feature.privateDataPlaneHandling.admin.cEFDEnvironmentCustomizationsEnabled 设置为 TRUE。

创建 CEFD 自定义 IAM 角色

创建自定义 IAM 角色,将其命名为 AAC_CEFD_Customization_SA_Role,并附加以下策略文档。

注意

此处引用的名称是示例。您可以为角色选择任何名称,但该名称必须以 AAC_CEFD_Customization 开头。

我们建议使用 JSON 选项卡而不是可视化编辑器。Alteryx One Platform 确实需要一些 * 权限才能运行。在创建策略时,预计会出现一些安全警告。

{
    "properties": {
        "roleName": "AAC_CEFD_Customization_SA_Role",
        "description": "Custom role for provisioning AAC private data handling",
        "assignableScopes": [
            "/subscriptions/<subscription ID>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.ContainerService/fleets/listCredentials/action",
                    "Microsoft.ContainerService/fleets/read",
                    "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action",
                    "Microsoft.ContainerService/managedClusters/agentPools/delete",
                    "Microsoft.ContainerService/managedClusters/agentPools/read",
                    "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write",
                    "Microsoft.ContainerService/managedClusters/agentPools/write",
                    "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read",
                    "Microsoft.ContainerService/managedClusters/delete",
                    "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action",
                    "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action",
                    "Microsoft.ContainerService/managedClusters/read",
                    "Microsoft.ContainerService/managedClusters/runcommand/action",
                    "Microsoft.ContainerService/managedClusters/write",
                    "Microsoft.Network/virtualNetworks/subnets/read",
                    "Microsoft.Storage/storageAccounts/*"
                ],
                "notActions": [],
                "dataActions": [
                    "Microsoft.ContainerService/fleets/*",
                    "Microsoft.ContainerService/managedClusters/*"
                ],
                "notDataActions": []
            }
        ]
    }
}

更新此自定义角色的 assignableScopes 范围。范围应为订阅 ID。

在订阅中为应用注册绑定自定义角色

将您在上一步中创建的自定义角色添加到 步骤 3:配置 IAM 中创建的 aac_automation_sa 服务账户。

步骤 2:路由表

为子网创建路由表。

重要

您必须在订阅中配置 VNet 与 Internet 的网络连接。

注意

此路由表是一个示例。

地址前缀

下一跳类型

/22 CIDR 地址段

v-net

0.0.0.0/0

<gateway_ID>

注意

您的 <gateway id> 可为每个可用区 (AZ) 创建的区域性 NAT 网关,或中转网关,具体取决于您的网络架构。

步骤 3:配置子网

私有数据处理环境中的 Workspace Execution 需要 1 个子网。

  • aac_public(必填):此组不运行任何服务,但用于集群的出站流量。将此子网委派给 Microsoft.ContainerService/managedClusters,后者授予 AKS 服务在该子网中注入 API 服务器 pod 和内部负载平衡器的权限。

  • aac_private(必填):此组运行 PDP 专用的服务。

  • aac_option:如果您在私有数据处理中启用 Workspace Execution,请使用此组。如果您启用此选项,一个 AMI Swarm 将在该子网中运行,以处理在云中运行的 Designer 处理作业。

  • aac_function(必填):此子网由 Azure 函数用于自动扩展 Workspace Execution 虚拟机。将此子网委派给 Microsoft.Web/serverFarms,以便为此子网内的函数应用程序实例创建和管理网络接口。

步骤 3a:在虚拟网络中创建子网

在 aac_vpc VPC 中配置子网。

按照以下示例创建子网。您可以调整地址空间和子网值以匹配您的网络架构。将 为私有数据设置 Azure 订阅和 VNet 页面中创建的网络安全组附加到子网。

地址空间设计用于容纳完全扩展的数据处理环境。如果需要,您可以选择较小的地址空间,但在处理负载较重的情况下,可能会遇到扩展问题。

重要

子网名称不是灵活字段。它必须与下表匹配。

地址空间

子网名称

子网

服务端点

路由表

注释

10.10.0.0/22

aac_option

10.10.0.0/23

Microsoft.Storage

Microsoft.KeyVault

附加到步骤 2 中创建的路由表。

aac_function

10.10.2.0/29

无

Microsoft.Web/serverFarms

私有数据处理

小心

在设置私有数据处理后更改或移除任何 Alteryx One 配置的公有云资源可能会导致不一致。这些不一致可能会导致作业执行期间或取消私有数据处理设置时出错。

步骤 1:触发 Workspace Execution 部署

Workspace Execution数据处理配置从 Alteryx One 内部的管理员控制台触发。您需要工作区内的“工作区管理员”权限才能查看它。

  1. 从 Alteryx One 登录页面中,选择个人资料菜单,然后选择工作区管理员。

  2. 从管理控制台中,选择私有数据处理,然后选择处理。

  3. 选中 Workspace Execution 复选框,然后选择更新。

选择更新触发 Azure 订阅中集群和资源的部署。这将运行一系列验证检查,以确认 Azure 订阅配置正确。

注意

配置过程大约需要 35–40 分钟才能完成。

配置完成后,您可通过 Azure 门户查看创建的资源(例如虚拟机实例和节点池)。切勿自行修改它们,这一点非常重要。手动更改可能会导致私有数据处理环境的功能出现问题。