你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

Microsoft。搜索服务 2026-03-01-预览

Bicep 资源定义

可以使用目标操作部署 searchServices 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志。

用法示例

Bicep示例

部署 Search Service 的基本示例。

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource searchService 'Microsoft.Search/searchServices@2022-09-01' = {
  name: resourceName
  location: location
  sku: {
    name: 'standard'
  }
  properties: {
    authOptions: {
      apiKeyOnly: {}
    }
    disableLocalAuth: false
    encryptionWithCmk: {
      enforcement: 'Disabled'
    }
    hostingMode: 'default'
    networkRuleSet: {
      ipRules: []
    }
    partitionCount: 1
    publicNetworkAccess: 'Enabled'
    replicaCount: 1
  }
  tags: {
    environment: 'staging'
  }
}

Azure 验证模块

以下 Azure 验证模块可用于部署该资源类型。

模块 说明
搜索服务 搜索服务的 AVM 资源模块

Azure 快速入门示例

以下 Azure 快速入门模板 包含用于部署此资源类型的 Bicep 示例。

Bicep 文件 说明
Azure AI Foundry 网络受限 这组模板演示了如何在禁用专用链接和出口的情况下设置 Azure AI Foundry,使用 Microsoft 管理的密钥进行加密,并使用 Microsoft 管理的标识配置为 AI 资源。
Azure 认知搜索服务 此模板创建 Azure 认知搜索服务
使用用户托管标识 网络安全代理 此模板集演示如何使用用户托管标识身份验证为 AI 服务/AOAI 连接设置虚拟网络隔离的 Azure AI 代理服务,以及专用网络链接,以将代理连接到安全数据。
标准代理设置 此模板集演示如何使用标准设置设置设置 Azure AI 代理服务,这意味着已启用项目/中心连接的托管标识身份验证和公共 Internet 访问。 代理使用客户拥有的单租户搜索和存储资源。 通过此设置,可以完全控制这些资源并查看这些资源,但会根据使用情况产生成本。

资源格式

若要创建 Microsoft.Search/searchServices 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.Search/searchServices@2026-03-01-preview' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    authOptions: {
      aadOrApiKey: {
        aadAuthFailureMode: 'string'
      }
      apiKeyOnly: any(...)
    }
    computeType: 'string'
    dataExfiltrationProtections: [
      'string'
    ]
    disableLocalAuth: bool
    encryptionWithCmk: {
      enforcement: 'string'
      serviceLevelEncryptionKey: {
        accessCredentials: {
          applicationId: 'string'
          applicationSecret: 'string'
        }
        identity: {
          @odata.type: 'string'
          // For remaining properties, see DataIdentity objects
        }
        keyVaultKeyName: 'string'
        keyVaultKeyVersion: 'string'
        keyVaultUri: 'string'
      }
    }
    endpoint: 'string'
    hostingMode: 'string'
    knowledgeRetrieval: 'string'
    networkRuleSet: {
      bypass: 'string'
      ipRules: [
        {
          value: 'string'
        }
      ]
    }
    partitionCount: int
    publicNetworkAccess: 'string'
    replicaCount: int
    semanticSearch: 'string'
    upgradeAvailable: 'string'
  }
  sku: {
    name: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

DataIdentity 对象

设置 @odata.type 属性以指定对象的类型。

对于 #Microsoft.Azure.Search.DataNoneIdentity,请使用:

{
  @odata.type: '#Microsoft.Azure.Search.DataNoneIdentity'
}

对于 #Microsoft.Azure.Search.DataUserAssignedIdentity,请使用:

{
  @odata.type: '#Microsoft.Azure.Search.DataUserAssignedIdentity'
  federatedIdentityClientId: 'string'
  userAssignedIdentity: 'string'
}

属性值

Microsoft.Search/searchServices

名称 说明 价值
标识 资源的标识。 身份
位置 资源所在的地理位置 string (必需)
名字 资源名称 string

约束:
模式 = ^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$ (必需)
性能 搜索服务的属性。 SearchServiceProperties
sku 搜索服务的 SKU,用于确定价格层和容量限制。 创建新搜索服务时,此属性是必需的。 Sku
标记 资源标记 标记名称和值的字典。 请参见模板中的标签

AzureActiveDirectoryApplicationCredentials

名称 说明 价值
应用ID 租户中应用注册的应用(客户端)ID。 字符串
应用程序密钥 这是为应用注册生成的AAD客户端秘密,用于与Azure 密钥保管库进行身份验证。 string

约束:
敏感值。 以安全参数的形式传入。

数据身份

名称 说明 价值
@odata.type 对于类型 DataNoneIdentity,设置为“#Microsoft.Azure.Search.DataNoneIdentity”。 对于类型 DataUserAssignedIdentity,设置为“#Microsoft.Azure.Search.DataUserAssignedIdentity”。 “#Microsoft.Azure.Search.DataNoneIdentity”
“#Microsoft.Azure.Search.DataUserAssignedIdentity”(必需)

数据无身份

名称 说明 价值
@odata.type 指定身份类型的 URI 片段。 “#Microsoft.Azure.Search.DataNoneIdentity”(必需)

DataPlaneAadOrApiKeyAuthOption

名称 说明 价值
aadAuthFailureMode 描述搜索服务的数据平面 API 针对身份验证失败的请求发送的响应。 “http401WithBearerChallenge”
“http403”

DataPlaneAuthOptions

名称 说明 价值
aadOrApiKey 指示 API 密钥或来自 Microsoft Entra ID 租户的访问令牌可用于身份验证。 DataPlaneAadOrApiKeyAuthOption
apiKeyOnly 指示只能使用 API 密钥进行身份验证。 任意

数据用户分配身份

名称 说明 价值
@odata.type 指定身份类型的 URI 片段。 “#Microsoft.Azure.Search.DataUserAssignedIdentity”(必需)
federatedIdentityClientId 多租户 User-Assigned 管理身份CMK支持可选:多租户应用注册的客户端ID(作为UUID),该配置为与userAssignedIdentity联合。 字符串
userAssignedIdentity 用户分配的托管标识的完全限定的 Azure 资源 ID,通常采用“/subscriptions/12345678-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId”的形式,应分配给搜索服务。 string (必需)

EncryptionWithCmk 的

名称 说明 价值
执法 描述如果搜索服务查找未使用客户管理的密钥加密的对象,则搜索服务应如何强制实施符合性。 'Disabled'
'Enabled'
“Unspecified”
serviceLevel加密密钥 描述由客户管理的搜索服务加密密钥配置。 SearchResourceEncryptionKey

身份

名称 说明 价值
类型 用于资源的标识类型。 类型“SystemAssigned, UserAssigned”包含系统创建的一个标识,以及用户分配的一组标识。 类型“None”将从服务中删除所有标识。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”(必需)
userAssignedIdentities 与资源关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 IdentityUserAssignedIdentities

IdentityUserAssignedIdentities

名称 说明 价值

IpRule (英语)

名称 说明 价值
value 与单个 IPv4 地址(例如,123.1.2.3)或 CIDR 格式(例如,允许 123.1.2.3/24)的 IP 范围对应的值。 字符串

NetworkRuleSet 网络规则集

名称 说明 价值
旁路 可以绕过“ipRules”部分中定义的规则的入站流量的可能来源。 “AzurePortal”
'AzureServices'
“None”
ipRules 定义入站网络(s)的 IP 限制规则列表,允许访问搜索服务终结点。 同时,防火墙会阻止所有其他公共 IP 网络。 仅当搜索服务的“publicNetworkAccess”为“enabled”时,才应用这些限制规则;否则,即使使用任何公共 IP 规则,也不允许通过公共接口的流量,专用终结点连接将是独占访问方法。 IpRule[]

搜索资源加密密钥

名称 说明 价值
访问凭据 用于访问 Azure 密钥保管库 的可选 Azure Active Directory 凭据。 如果改用托管标识,则不需要。 AzureActiveDirectoryApplicationCredentials
标识 用于此加密密钥的显式托管标识。 如果未指定并且访问凭据属性为 null,则使用系统分配的托管标识。 更新资源时,如果未指定显式标识,则保持不变。 如果指定了“none”,则清除此属性的值。 数据身份
keyVaultKeyName 用于加密静态数据的 Azure 密钥保管库 密钥的名称。 字符串
keyVaultKeyVersion 用于加密静态数据的 Azure 密钥保管库 密钥的版本。 字符串
keyVaultUri Azure 密钥保管库 的 URI(也称为 DNS 名称),其中包含用于加密静态数据的密钥。 示例 URI 可能是 https://my-keyvault-name.vault.azure.net。 字符串

SearchServiceProperties

名称 说明 价值
authOptions 定义搜索服务的数据平面 API 如何对请求进行身份验证的选项。 如果“disableLocalAuth”设置为 true,则无法设置此项。 DataPlaneAuthOptions
computeType 配置此属性以支持使用默认计算或 Azure 机密计算的搜索服务。 “机密”
'Default'
dataExfiltrationProtections 显式禁止搜索服务的数据外泄方案列表。 目前,唯一支持的值是“全部”,用于禁用所有可能的数据导出方案,并计划将来进行更精细的控制。 包含任一项的字符串数组:
'BlockAll'
disableLocalAuth 如果设置为 true,则不允许调用搜索服务以使用 API 密钥进行身份验证。 如果定义了“dataPlaneAuthOptions”,则无法将其设置为 true。 布尔
encryptionWithCmk 指定有关使用搜索服务中的客户经理密钥加密资源(如索引)的任何策略。 EncryptionWithCmk 的
终结点 Azure AI 搜索服务的终结点。 字符串
hostingMode 仅适用于 standard3 SKU。 可以将此属性设置为最多允许 3 个高密度分区,允许最多 1000 个索引,这远远高于任何其他 SKU 允许的最大索引。 对于 standard3 SKU,该值为“默认”或“高密度”。 对于所有其他 SKU,此值必须为“默认”。 'Default'
“高密度”
知识检索 指定Azure AI搜索服务代理检索的计费计划。 该配置仅适用于特定地区的特定价格等级。 “free”
'standard'
networkRuleSet 网络规则集 确定如何访问 Azure AI 搜索服务的网络特定规则。 NetworkRuleSet 网络规则集
partitionCount 专用搜索服务中的分区数量;如果需要指定,可以是1、2、3、4、6或12。 大于 1 的值仅适用于标准 SKU。 对于 hostingMode 设置为“highDensity”的“standard3”服务,允许的值介于 1 到 3 之间。 int

约束:
最小值 = 1
最大值 = 12
公用网络访问 可以将此值设置为“已启用”,以避免对现有客户资源和模板进行中断性更改。 如果设置为“禁用”,则不允许通过公共接口的流量,专用终结点连接将是独占访问方法。 'Disabled'
'Enabled'
“SecuredByPerimeter”
replicaCount 专用搜索服务中的副本数量。 如果指定,它必须是标准 SKU 的 1 到 12(含 1 到 3)之间的值,对于基本 SKU,该值必须介于 1 和 3 之间。 int

约束:
最小值 = 1
最大值 = 12
语义搜索 规定Azure AI搜索服务语义搜索的可用性和计费计划。 该配置仅适用于特定地区的特定价格等级。 “disabled”
“free”
'standard'
upgrade可用 指示搜索服务是否有可用的升级。 “available”
'notAvailable'

Sku

名称 说明 价值
名字 搜索服务的 SKU。 有效值包括:“free”:共享服务。 “basic”:最多包含 3 个副本的专用服务。 “standard”:最多包含 12 个分区和 12 个副本的专用服务。 “standard2”:类似于标准,但每个搜索单位的容量更多。 “standard3”:最大标准产品/服务最多包含 12 个分区和 12 个副本(如果同时将 hostingMode 属性设置为“highDensity”,则最多具有 3 个具有更多索引的分区)。 “storage_optimized_l1”:支持每个分区 1TB,最多支持 12 个分区。 “storage_optimized_l2”:支持每个分区2TB,最多12个分区。 “无服务器”:无服务器层,具备自动扩展功能。 'basic'
“free”
“无服务器”
'standard'
“standard2”
“standard3”
“storage_optimized_l1”
“storage_optimized_l2”

TrackedResourceTags

名称 说明 价值

UserAssignedIdentity

名称 说明 价值

ARM 模板资源定义

可以使用目标操作部署 searchServices 资源类型:

用法示例

Azure 快速入门模板

以下 Azure 快速入门模板 部署此资源类型。

模板 说明
Azure AI Foundry 网络受限

部署到 Azure
这组模板演示了如何在禁用专用链接和出口的情况下设置 Azure AI Foundry,使用 Microsoft 管理的密钥进行加密,并使用 Microsoft 管理的标识配置为 AI 资源。
Azure 认知搜索服务

部署到 Azure
此模板创建 Azure 认知搜索服务
使用专用终结点 Azure 认知搜索服务

部署到 Azure
此模板使用专用终结点创建 Azure 认知搜索服务。
使用用户托管标识 网络安全代理

部署到 Azure
此模板集演示如何使用用户托管标识身份验证为 AI 服务/AOAI 连接设置虚拟网络隔离的 Azure AI 代理服务,以及专用网络链接,以将代理连接到安全数据。
标准代理设置

部署到 Azure
此模板集演示如何使用标准设置设置设置 Azure AI 代理服务,这意味着已启用项目/中心连接的托管标识身份验证和公共 Internet 访问。 代理使用客户拥有的单租户搜索和存储资源。 通过此设置,可以完全控制这些资源并查看这些资源,但会根据使用情况产生成本。
Web 应用,包含 SQL 数据库、Azure Cosmos DB、Azure 搜索

部署到 Azure
该模板可提供Web App、SQL数据库、Azure Cosmos DB、Azure Search和Application Insights。

资源格式

若要创建 Microsoft.Search/searchServices 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Search/searchServices",
  "apiVersion": "2026-03-01-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "authOptions": {
      "aadOrApiKey": {
        "aadAuthFailureMode": "string"
      },
      "apiKeyOnly": {}
    },
    "computeType": "string",
    "dataExfiltrationProtections": [ "string" ],
    "disableLocalAuth": "bool",
    "encryptionWithCmk": {
      "enforcement": "string",
      "serviceLevelEncryptionKey": {
        "accessCredentials": {
          "applicationId": "string",
          "applicationSecret": "string"
        },
        "identity": {
          "@odata.type": "string"
          // For remaining properties, see DataIdentity objects
        },
        "keyVaultKeyName": "string",
        "keyVaultKeyVersion": "string",
        "keyVaultUri": "string"
      }
    },
    "endpoint": "string",
    "hostingMode": "string",
    "knowledgeRetrieval": "string",
    "networkRuleSet": {
      "bypass": "string",
      "ipRules": [
        {
          "value": "string"
        }
      ]
    },
    "partitionCount": "int",
    "publicNetworkAccess": "string",
    "replicaCount": "int",
    "semanticSearch": "string",
    "upgradeAvailable": "string"
  },
  "sku": {
    "name": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

DataIdentity 对象

设置 @odata.type 属性以指定对象的类型。

对于 #Microsoft.Azure.Search.DataNoneIdentity,请使用:

{
  "@odata.type": "#Microsoft.Azure.Search.DataNoneIdentity"
}

对于 #Microsoft.Azure.Search.DataUserAssignedIdentity,请使用:

{
  "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
  "federatedIdentityClientId": "string",
  "userAssignedIdentity": "string"
}

属性值

Microsoft.Search/searchServices

名称 说明 价值
apiVersion API 版本 '2026-03-01-预览'
标识 资源的标识。 身份
位置 资源所在的地理位置 string (必需)
名字 资源名称 string

约束:
模式 = ^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$ (必需)
性能 搜索服务的属性。 SearchServiceProperties
sku 搜索服务的 SKU,用于确定价格层和容量限制。 创建新搜索服务时,此属性是必需的。 Sku
标记 资源标记 标记名称和值的字典。 请参见模板中的标签
类型 资源类型 “Microsoft.Search/searchServices”

AzureActiveDirectoryApplicationCredentials

名称 说明 价值
应用ID 租户中应用注册的应用(客户端)ID。 字符串
应用程序密钥 这是为应用注册生成的AAD客户端秘密,用于与Azure 密钥保管库进行身份验证。 string

约束:
敏感值。 以安全参数的形式传入。

数据身份

名称 说明 价值
@odata.type 对于类型 DataNoneIdentity,设置为“#Microsoft.Azure.Search.DataNoneIdentity”。 对于类型 DataUserAssignedIdentity,设置为“#Microsoft.Azure.Search.DataUserAssignedIdentity”。 “#Microsoft.Azure.Search.DataNoneIdentity”
“#Microsoft.Azure.Search.DataUserAssignedIdentity”(必需)

数据无身份

名称 说明 价值
@odata.type 指定身份类型的 URI 片段。 “#Microsoft.Azure.Search.DataNoneIdentity”(必需)

DataPlaneAadOrApiKeyAuthOption

名称 说明 价值
aadAuthFailureMode 描述搜索服务的数据平面 API 针对身份验证失败的请求发送的响应。 “http401WithBearerChallenge”
“http403”

DataPlaneAuthOptions

名称 说明 价值
aadOrApiKey 指示 API 密钥或来自 Microsoft Entra ID 租户的访问令牌可用于身份验证。 DataPlaneAadOrApiKeyAuthOption
apiKeyOnly 指示只能使用 API 密钥进行身份验证。 任意

数据用户分配身份

名称 说明 价值
@odata.type 指定身份类型的 URI 片段。 “#Microsoft.Azure.Search.DataUserAssignedIdentity”(必需)
federatedIdentityClientId 多租户 User-Assigned 管理身份CMK支持可选:多租户应用注册的客户端ID(作为UUID),该配置为与userAssignedIdentity联合。 字符串
userAssignedIdentity 用户分配的托管标识的完全限定的 Azure 资源 ID,通常采用“/subscriptions/12345678-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId”的形式,应分配给搜索服务。 string (必需)

EncryptionWithCmk 的

名称 说明 价值
执法 描述如果搜索服务查找未使用客户管理的密钥加密的对象,则搜索服务应如何强制实施符合性。 'Disabled'
'Enabled'
“Unspecified”
serviceLevel加密密钥 描述由客户管理的搜索服务加密密钥配置。 SearchResourceEncryptionKey

身份

名称 说明 价值
类型 用于资源的标识类型。 类型“SystemAssigned, UserAssigned”包含系统创建的一个标识,以及用户分配的一组标识。 类型“None”将从服务中删除所有标识。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”(必需)
userAssignedIdentities 与资源关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 IdentityUserAssignedIdentities

IdentityUserAssignedIdentities

名称 说明 价值

IpRule (英语)

名称 说明 价值
value 与单个 IPv4 地址(例如,123.1.2.3)或 CIDR 格式(例如,允许 123.1.2.3/24)的 IP 范围对应的值。 字符串

NetworkRuleSet 网络规则集

名称 说明 价值
旁路 可以绕过“ipRules”部分中定义的规则的入站流量的可能来源。 “AzurePortal”
'AzureServices'
“None”
ipRules 定义入站网络(s)的 IP 限制规则列表,允许访问搜索服务终结点。 同时,防火墙会阻止所有其他公共 IP 网络。 仅当搜索服务的“publicNetworkAccess”为“enabled”时,才应用这些限制规则;否则,即使使用任何公共 IP 规则,也不允许通过公共接口的流量,专用终结点连接将是独占访问方法。 IpRule[]

搜索资源加密密钥

名称 说明 价值
访问凭据 用于访问 Azure 密钥保管库 的可选 Azure Active Directory 凭据。 如果改用托管标识,则不需要。 AzureActiveDirectoryApplicationCredentials
标识 用于此加密密钥的显式托管标识。 如果未指定并且访问凭据属性为 null,则使用系统分配的托管标识。 更新资源时,如果未指定显式标识,则保持不变。 如果指定了“none”,则清除此属性的值。 数据身份
keyVaultKeyName 用于加密静态数据的 Azure 密钥保管库 密钥的名称。 字符串
keyVaultKeyVersion 用于加密静态数据的 Azure 密钥保管库 密钥的版本。 字符串
keyVaultUri Azure 密钥保管库 的 URI(也称为 DNS 名称),其中包含用于加密静态数据的密钥。 示例 URI 可能是 https://my-keyvault-name.vault.azure.net。 字符串

SearchServiceProperties

名称 说明 价值
authOptions 定义搜索服务的数据平面 API 如何对请求进行身份验证的选项。 如果“disableLocalAuth”设置为 true,则无法设置此项。 DataPlaneAuthOptions
computeType 配置此属性以支持使用默认计算或 Azure 机密计算的搜索服务。 “机密”
'Default'
dataExfiltrationProtections 显式禁止搜索服务的数据外泄方案列表。 目前,唯一支持的值是“全部”,用于禁用所有可能的数据导出方案,并计划将来进行更精细的控制。 包含任一项的字符串数组:
'BlockAll'
disableLocalAuth 如果设置为 true,则不允许调用搜索服务以使用 API 密钥进行身份验证。 如果定义了“dataPlaneAuthOptions”,则无法将其设置为 true。 布尔
encryptionWithCmk 指定有关使用搜索服务中的客户经理密钥加密资源(如索引)的任何策略。 EncryptionWithCmk 的
终结点 Azure AI 搜索服务的终结点。 字符串
hostingMode 仅适用于 standard3 SKU。 可以将此属性设置为最多允许 3 个高密度分区,允许最多 1000 个索引,这远远高于任何其他 SKU 允许的最大索引。 对于 standard3 SKU,该值为“默认”或“高密度”。 对于所有其他 SKU,此值必须为“默认”。 'Default'
“高密度”
知识检索 指定Azure AI搜索服务代理检索的计费计划。 该配置仅适用于特定地区的特定价格等级。 “free”
'standard'
networkRuleSet 网络规则集 确定如何访问 Azure AI 搜索服务的网络特定规则。 NetworkRuleSet 网络规则集
partitionCount 专用搜索服务中的分区数量;如果需要指定,可以是1、2、3、4、6或12。 大于 1 的值仅适用于标准 SKU。 对于 hostingMode 设置为“highDensity”的“standard3”服务,允许的值介于 1 到 3 之间。 int

约束:
最小值 = 1
最大值 = 12
公用网络访问 可以将此值设置为“已启用”,以避免对现有客户资源和模板进行中断性更改。 如果设置为“禁用”,则不允许通过公共接口的流量,专用终结点连接将是独占访问方法。 'Disabled'
'Enabled'
“SecuredByPerimeter”
replicaCount 专用搜索服务中的副本数量。 如果指定,它必须是标准 SKU 的 1 到 12(含 1 到 3)之间的值,对于基本 SKU,该值必须介于 1 和 3 之间。 int

约束:
最小值 = 1
最大值 = 12
语义搜索 规定Azure AI搜索服务语义搜索的可用性和计费计划。 该配置仅适用于特定地区的特定价格等级。 “disabled”
“free”
'standard'
upgrade可用 指示搜索服务是否有可用的升级。 “available”
'notAvailable'

Sku

名称 说明 价值
名字 搜索服务的 SKU。 有效值包括:“free”:共享服务。 “basic”:最多包含 3 个副本的专用服务。 “standard”:最多包含 12 个分区和 12 个副本的专用服务。 “standard2”:类似于标准,但每个搜索单位的容量更多。 “standard3”:最大标准产品/服务最多包含 12 个分区和 12 个副本(如果同时将 hostingMode 属性设置为“highDensity”,则最多具有 3 个具有更多索引的分区)。 “storage_optimized_l1”:支持每个分区 1TB,最多支持 12 个分区。 “storage_optimized_l2”:支持每个分区2TB,最多12个分区。 “无服务器”:无服务器层,具备自动扩展功能。 'basic'
“free”
“无服务器”
'standard'
“standard2”
“standard3”
“storage_optimized_l1”
“storage_optimized_l2”

TrackedResourceTags

名称 说明 价值

UserAssignedIdentity

名称 说明 价值

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署 searchServices 资源类型:

  • 资源组 关于每个API版本中变更属性的列表,请参见 更改日志。

用法示例

Terraform 示例

部署 Search Service 的基本示例。

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "searchService" {
  type      = "Microsoft.Search/searchServices@2022-09-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      authOptions = {
        apiKeyOnly = {
        }
      }
      disableLocalAuth = false
      encryptionWithCmk = {
        enforcement = "Disabled"
      }
      hostingMode = "default"
      networkRuleSet = {
        ipRules = [
        ]
      }
      partitionCount      = 1
      publicNetworkAccess = "Enabled"
      replicaCount        = 1
    }
    sku = {
      name = "standard"
    }
    tags = {
      environment = "staging"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Azure 验证模块

以下 Azure 验证模块可用于部署该资源类型。

模块 说明
搜索服务 搜索服务的 AVM 资源模块

资源格式

若要创建 Microsoft.Search/searchServices 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Search/searchServices@2026-03-01-preview"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      authOptions = {
        aadOrApiKey = {
          aadAuthFailureMode = "string"
        }
        apiKeyOnly = ?
      }
      computeType = "string"
      dataExfiltrationProtections = [
        "string"
      ]
      disableLocalAuth = bool
      encryptionWithCmk = {
        enforcement = "string"
        serviceLevelEncryptionKey = {
          accessCredentials = {
            applicationId = "string"
            applicationSecret = "string"
          }
          identity = {
            @odata.type = "string"
            // For remaining properties, see DataIdentity objects
          }
          keyVaultKeyName = "string"
          keyVaultKeyVersion = "string"
          keyVaultUri = "string"
        }
      }
      endpoint = "string"
      hostingMode = "string"
      knowledgeRetrieval = "string"
      networkRuleSet = {
        bypass = "string"
        ipRules = [
          {
            value = "string"
          }
        ]
      }
      partitionCount = int
      publicNetworkAccess = "string"
      replicaCount = int
      semanticSearch = "string"
      upgradeAvailable = "string"
    }
    sku = {
      name = "string"
    }
  }
}

DataIdentity 对象

设置 @odata.type 属性以指定对象的类型。

对于 #Microsoft.Azure.Search.DataNoneIdentity,请使用:

{
  @odata.type = "#Microsoft.Azure.Search.DataNoneIdentity"
}

对于 #Microsoft.Azure.Search.DataUserAssignedIdentity,请使用:

{
  @odata.type = "#Microsoft.Azure.Search.DataUserAssignedIdentity"
  federatedIdentityClientId = "string"
  userAssignedIdentity = "string"
}

属性值

Microsoft.Search/searchServices

名称 说明 价值
标识 资源的标识。 身份
位置 资源所在的地理位置 string (必需)
名字 资源名称 string

约束:
模式 = ^(?=.{2,60}$)[a-z0-9][a-z0-9]+(-[a-z0-9]+)*$ (必需)
性能 搜索服务的属性。 SearchServiceProperties
sku 搜索服务的 SKU,用于确定价格层和容量限制。 创建新搜索服务时,此属性是必需的。 Sku
标记 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.搜索/searchServices@2026-03-01-预览”

AzureActiveDirectoryApplicationCredentials

名称 说明 价值
应用ID 租户中应用注册的应用(客户端)ID。 字符串
应用程序密钥 这是为应用注册生成的AAD客户端秘密,用于与Azure 密钥保管库进行身份验证。 string

约束:
敏感值。 以安全参数的形式传入。

数据身份

名称 说明 价值
@odata.type 对于类型 DataNoneIdentity,设置为“#Microsoft.Azure.Search.DataNoneIdentity”。 对于类型 DataUserAssignedIdentity,设置为“#Microsoft.Azure.Search.DataUserAssignedIdentity”。 “#Microsoft.Azure.Search.DataNoneIdentity”
“#Microsoft.Azure.Search.DataUserAssignedIdentity”(必需)

数据无身份

名称 说明 价值
@odata.type 指定身份类型的 URI 片段。 “#Microsoft.Azure.Search.DataNoneIdentity”(必需)

DataPlaneAadOrApiKeyAuthOption

名称 说明 价值
aadAuthFailureMode 描述搜索服务的数据平面 API 针对身份验证失败的请求发送的响应。 “http401WithBearerChallenge”
“http403”

DataPlaneAuthOptions

名称 说明 价值
aadOrApiKey 指示 API 密钥或来自 Microsoft Entra ID 租户的访问令牌可用于身份验证。 DataPlaneAadOrApiKeyAuthOption
apiKeyOnly 指示只能使用 API 密钥进行身份验证。 任意

数据用户分配身份

名称 说明 价值
@odata.type 指定身份类型的 URI 片段。 “#Microsoft.Azure.Search.DataUserAssignedIdentity”(必需)
federatedIdentityClientId 多租户 User-Assigned 管理身份CMK支持可选:多租户应用注册的客户端ID(作为UUID),该配置为与userAssignedIdentity联合。 字符串
userAssignedIdentity 用户分配的托管标识的完全限定的 Azure 资源 ID,通常采用“/subscriptions/12345678-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId”的形式,应分配给搜索服务。 string (必需)

EncryptionWithCmk 的

名称 说明 价值
执法 描述如果搜索服务查找未使用客户管理的密钥加密的对象,则搜索服务应如何强制实施符合性。 'Disabled'
'Enabled'
“Unspecified”
serviceLevel加密密钥 描述由客户管理的搜索服务加密密钥配置。 SearchResourceEncryptionKey

身份

名称 说明 价值
类型 用于资源的标识类型。 类型“SystemAssigned, UserAssigned”包含系统创建的一个标识,以及用户分配的一组标识。 类型“None”将从服务中删除所有标识。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”(必需)
userAssignedIdentities 与资源关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 IdentityUserAssignedIdentities

IdentityUserAssignedIdentities

名称 说明 价值

IpRule (英语)

名称 说明 价值
value 与单个 IPv4 地址(例如,123.1.2.3)或 CIDR 格式(例如,允许 123.1.2.3/24)的 IP 范围对应的值。 字符串

NetworkRuleSet 网络规则集

名称 说明 价值
旁路 可以绕过“ipRules”部分中定义的规则的入站流量的可能来源。 “AzurePortal”
'AzureServices'
“None”
ipRules 定义入站网络(s)的 IP 限制规则列表,允许访问搜索服务终结点。 同时,防火墙会阻止所有其他公共 IP 网络。 仅当搜索服务的“publicNetworkAccess”为“enabled”时,才应用这些限制规则;否则,即使使用任何公共 IP 规则,也不允许通过公共接口的流量,专用终结点连接将是独占访问方法。 IpRule[]

搜索资源加密密钥

名称 说明 价值
访问凭据 用于访问 Azure 密钥保管库 的可选 Azure Active Directory 凭据。 如果改用托管标识,则不需要。 AzureActiveDirectoryApplicationCredentials
标识 用于此加密密钥的显式托管标识。 如果未指定并且访问凭据属性为 null,则使用系统分配的托管标识。 更新资源时,如果未指定显式标识,则保持不变。 如果指定了“none”,则清除此属性的值。 数据身份
keyVaultKeyName 用于加密静态数据的 Azure 密钥保管库 密钥的名称。 字符串
keyVaultKeyVersion 用于加密静态数据的 Azure 密钥保管库 密钥的版本。 字符串
keyVaultUri Azure 密钥保管库 的 URI(也称为 DNS 名称),其中包含用于加密静态数据的密钥。 示例 URI 可能是 https://my-keyvault-name.vault.azure.net。 字符串

SearchServiceProperties

名称 说明 价值
authOptions 定义搜索服务的数据平面 API 如何对请求进行身份验证的选项。 如果“disableLocalAuth”设置为 true,则无法设置此项。 DataPlaneAuthOptions
computeType 配置此属性以支持使用默认计算或 Azure 机密计算的搜索服务。 “机密”
'Default'
dataExfiltrationProtections 显式禁止搜索服务的数据外泄方案列表。 目前,唯一支持的值是“全部”,用于禁用所有可能的数据导出方案,并计划将来进行更精细的控制。 包含任一项的字符串数组:
'BlockAll'
disableLocalAuth 如果设置为 true,则不允许调用搜索服务以使用 API 密钥进行身份验证。 如果定义了“dataPlaneAuthOptions”,则无法将其设置为 true。 布尔
encryptionWithCmk 指定有关使用搜索服务中的客户经理密钥加密资源(如索引)的任何策略。 EncryptionWithCmk 的
终结点 Azure AI 搜索服务的终结点。 字符串
hostingMode 仅适用于 standard3 SKU。 可以将此属性设置为最多允许 3 个高密度分区,允许最多 1000 个索引,这远远高于任何其他 SKU 允许的最大索引。 对于 standard3 SKU,该值为“默认”或“高密度”。 对于所有其他 SKU,此值必须为“默认”。 'Default'
“高密度”
知识检索 指定Azure AI搜索服务代理检索的计费计划。 该配置仅适用于特定地区的特定价格等级。 “free”
'standard'
networkRuleSet 网络规则集 确定如何访问 Azure AI 搜索服务的网络特定规则。 NetworkRuleSet 网络规则集
partitionCount 专用搜索服务中的分区数量;如果需要指定,可以是1、2、3、4、6或12。 大于 1 的值仅适用于标准 SKU。 对于 hostingMode 设置为“highDensity”的“standard3”服务,允许的值介于 1 到 3 之间。 int

约束:
最小值 = 1
最大值 = 12
公用网络访问 可以将此值设置为“已启用”,以避免对现有客户资源和模板进行中断性更改。 如果设置为“禁用”,则不允许通过公共接口的流量,专用终结点连接将是独占访问方法。 'Disabled'
'Enabled'
“SecuredByPerimeter”
replicaCount 专用搜索服务中的副本数量。 如果指定,它必须是标准 SKU 的 1 到 12(含 1 到 3)之间的值,对于基本 SKU,该值必须介于 1 和 3 之间。 int

约束:
最小值 = 1
最大值 = 12
语义搜索 规定Azure AI搜索服务语义搜索的可用性和计费计划。 该配置仅适用于特定地区的特定价格等级。 “disabled”
“free”
'standard'
upgrade可用 指示搜索服务是否有可用的升级。 “available”
'notAvailable'

Sku

名称 说明 价值
名字 搜索服务的 SKU。 有效值包括:“free”:共享服务。 “basic”:最多包含 3 个副本的专用服务。 “standard”:最多包含 12 个分区和 12 个副本的专用服务。 “standard2”:类似于标准,但每个搜索单位的容量更多。 “standard3”:最大标准产品/服务最多包含 12 个分区和 12 个副本(如果同时将 hostingMode 属性设置为“highDensity”,则最多具有 3 个具有更多索引的分区)。 “storage_optimized_l1”:支持每个分区 1TB,最多支持 12 个分区。 “storage_optimized_l2”:支持每个分区2TB,最多12个分区。 “无服务器”:无服务器层,具备自动扩展功能。 'basic'
“free”
“无服务器”
'standard'
“standard2”
“standard3”
“storage_optimized_l1”
“storage_optimized_l2”

TrackedResourceTags

名称 说明 价值

UserAssignedIdentity

名称 说明 价值