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

Microsoft.Storage StorageAccounts 2021-04-01

Bicep 资源定义

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

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

资源格式

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

resource symbolicname 'Microsoft.Storage/storageAccounts@2021-04-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  sku: {
    name: 'string'
  }
  kind: 'string'
  extendedLocation: {
    name: 'string'
    type: 'EdgeZone'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  properties: {
    accessTier: 'string'
    allowBlobPublicAccess: bool
    allowCrossTenantReplication: bool
    allowSharedKeyAccess: bool
    azureFilesIdentityBasedAuthentication: {
      activeDirectoryProperties: {
        azureStorageSid: 'string'
        domainGuid: 'string'
        domainName: 'string'
        domainSid: 'string'
        forestName: 'string'
        netBiosDomainName: 'string'
      }
      defaultSharePermission: 'string'
      directoryServiceOptions: 'string'
    }
    customDomain: {
      name: 'string'
      useSubDomainName: bool
    }
    encryption: {
      identity: {
        userAssignedIdentity: 'string'
      }
      keySource: 'string'
      keyvaultproperties: {
        keyname: 'string'
        keyvaulturi: 'string'
        keyversion: 'string'
      }
      requireInfrastructureEncryption: bool
      services: {
        blob: {
          enabled: bool
          keyType: 'string'
        }
        file: {
          enabled: bool
          keyType: 'string'
        }
        queue: {
          enabled: bool
          keyType: 'string'
        }
        table: {
          enabled: bool
          keyType: 'string'
        }
      }
    }
    isHnsEnabled: bool
    isNfsV3Enabled: bool
    keyPolicy: {
      keyExpirationPeriodInDays: int
    }
    largeFileSharesState: 'string'
    minimumTlsVersion: 'string'
    networkAcls: {
      bypass: 'string'
      defaultAction: 'string'
      ipRules: [
        {
          action: 'Allow'
          value: 'string'
        }
      ]
      resourceAccessRules: [
        {
          resourceId: 'string'
          tenantId: 'string'
        }
      ]
      virtualNetworkRules: [
        {
          action: 'Allow'
          id: 'string'
          state: 'string'
        }
      ]
    }
    routingPreference: {
      publishInternetEndpoints: bool
      publishMicrosoftEndpoints: bool
      routingChoice: 'string'
    }
    sasPolicy: {
      expirationAction: 'Log'
      sasExpirationPeriod: 'string'
    }
    supportsHttpsTrafficOnly: bool
  }
}

属性值

storageAccounts

名字 描述 价值
名字 资源名称 string (必需)

字符限制:3-24

有效字符:
小写字母和数字。

资源名称在 Azure 中必须是唯一的。
位置 必填。 获取或设置资源的位置。 这是受支持和注册的 Azure 地理区域之一(例如美国西部、美国东部、东南亚等)。 创建资源后,无法更改资源的地理区域,但如果更新时指定了相同的地理区域,请求将成功。 string (必需)
标签 获取或设置描述资源的键值对的列表。 这些标记可用于查看和分组此资源(跨资源组)。 最多可为资源提供 15 个标记。 每个标记必须具有长度不超过 128 个字符的键,并且长度不超过 256 个字符的值。 标记名称和值的字典。 请参阅模板 中的 标记
sku 必填。 获取或设置 SKU 名称。 Sku(必需)
必填。 指示存储帐户的类型。 “BlobStorage”
“BlockBlobStorage”
“FileStorage”
“存储”
“StorageV2”(必需)
extendedLocation 自选。 设置资源的扩展位置。 如果未设置,将在 Azure 主区域中创建存储帐户。 否则,它将在指定的扩展位置创建 ExtendedLocation
身份 资源的标识。 标识
性能 用于创建存储帐户的参数。 StorageAccountPropertiesCreateParametersOrStorageAcc...

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 字符串
类型 扩展位置的类型。 “EdgeZone”

身份

名字 描述 价值
类型 标识类型。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”(必需)
userAssignedIdentities 获取或设置一个键值对列表,这些键值对描述将用于此存储帐户的用户分配标识集。 密钥是标识的 ARM 资源标识符。 此处仅允许 1 个用户分配的标识。 IdentityUserAssignedIdentities

IdentityUserAssignedIdentities

名字 描述 价值
{自定义属性} UserAssignedIdentity

UserAssignedIdentity

此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。

StorageAccountPropertiesCreateParametersOrStorageAcc...

名字 描述 价值
accessTier 类型 = BlobStorage 的存储帐户是必需的。 用于计费的访问层。 “Cool”
“Hot”
allowBlobPublicAccess 允许或禁止公共访问存储帐户中的所有 Blob 或容器。 此属性的默认解释为 true。 bool
allowCrossTenantReplication 允许或禁止跨 AAD 租户对象复制。 此属性的默认解释为 true。 bool
allowSharedKeyAccess 指示存储帐户是否允许通过共享密钥通过帐户访问密钥授权请求。 如果为 false,则必须使用 Azure Active Directory(Azure AD)授权所有请求(包括共享访问签名)。 默认值为 null,等效于 true。 bool
azureFilesIdentityBasedAuthentication 为 Azure 文件存储提供基于标识的身份验证设置。 AzureFilesIdentityBasedAuthentication
customDomain 分配给存储帐户的用户域。 名称是 CNAME 源。 目前每个存储帐户仅支持一个自定义域。 若要清除现有的自定义域,请使用自定义域名属性的空字符串。 CustomDomain
加密 不適用。 为所有存储帐户启用了 Azure 存储加密,无法禁用。 加密
isHnsEnabled 如果设置为 true,则启用 Account HierarchicalNamespace。 bool
isNfsV3Enabled 如果设置为 true,则启用 NFS 3.0 协议支持。 bool
keyPolicy 分配给存储帐户的 KeyPolicy。 KeyPolicy
largeFileSharesState 如果设置为“已启用”,则允许大型文件共享。 启用后,无法禁用它。 “Disabled”
“Enabled”
minimumTlsVersion 设置对存储的请求允许的最低 TLS 版本。 对于此属性,默认解释为 TLS 1.0。 “TLS1_0”
“TLS1_1”
“TLS1_2”
networkAcls 网络规则集 NetworkRuleSet
routingPreference 维护用户选择的网络路由选择的信息进行数据传输 RoutingPreference
sasPolicy 分配给存储帐户的 SasPolicy。 SasPolicy
supportsHttpsTrafficOnly 仅当设置为 true 时,才允许 https 流量发到存储服务。 自 API 版本 2019-04-01 起,默认值为 true。 bool

AzureFilesIdentityBasedAuthentication

名字 描述 价值
activeDirectoryProperties 如果选择 AD,则为必需。 ActiveDirectoryProperties
defaultSharePermission 如果未分配 RBAC 角色,则使用 Kerberos 身份验证的用户的默认共享权限。 “None”
“StorageFileDataSmbShareContributor”
'StorageFileDataSmbShareElevatedContributor'
“StorageFileDataSmbShareOwner”
“StorageFileDataSmbShareReader”
directoryServiceOptions 指示使用的目录服务。 “AADDS”
“AD”
“无”(必需)

ActiveDirectoryProperties

名字 描述 价值
azureStorageSid 指定 Azure 存储的安全标识符(SID)。 string (必需)
domainGuid 指定域 GUID。 string (必需)
domainName 指定 AD DNS 服务器权威的主域。 string (必需)
domainSid 指定安全标识符(SID)。 string (必需)
forestName 指定要获取的 Active Directory 林。 string (必需)
netBiosDomainName 指定 NetBIOS 域名。 string (必需)

CustomDomain

名字 描述 价值
名字 获取或设置分配给存储帐户的自定义域名。 名称是 CNAME 源。 string (必需)
useSubDomainName 指示是否启用了间接 CName 验证。 默认值为 false。 这应仅在更新时设置。 bool

加密

名字 描述 价值
身份 要用于静态服务端加密的标识。 EncryptionIdentity
keySource 加密密钥来源(提供程序)。 可能的值(不区分大小写):Microsoft.Storage、Microsoft.Keyvault “Microsoft.Keyvault”
“Microsoft.Storage”(必需)
keyvaultproperties 密钥保管库提供的属性。 KeyVaultProperties
requireInfrastructureEncryption 一个布尔值,指示服务是否使用平台托管密钥对静态数据应用辅助加密层。 bool
服务业 支持加密的服务列表。 EncryptionServices

EncryptionIdentity

名字 描述 价值
userAssignedIdentity 要与存储帐户上的服务器端加密关联的 UserAssigned 标识的资源标识符。 字符串

KeyVaultProperties

名字 描述 价值
keyname KeyVault 密钥的名称。 字符串
keyvaulturi KeyVault 的 URI。 字符串
keyversion KeyVault 密钥的版本。 字符串

EncryptionServices

名字 描述 价值
blob Blob 存储服务的加密功能。 EncryptionService
文件 文件存储服务的加密功能。 EncryptionService
队列 队列存储服务的加密功能。 EncryptionService
桌子 表存储服务的加密功能。 EncryptionService

EncryptionService

名字 描述 价值
启用 一个布尔值,指示服务是否在存储数据时对数据进行加密。 bool
keyType 要用于加密服务的加密密钥类型。 “Account”密钥类型意味着将使用帐户范围的加密密钥。 “服务”密钥类型意味着使用默认服务密钥。 “Account”
“Service”

KeyPolicy

名字 描述 价值
keyExpirationPeriodInDays 密钥过期期限(以天为单位)。 int (必需)

NetworkRuleSet

名字 描述 价值
旁路 指定是否为日志记录/指标/AzureServices 绕过流量。 可能的值是日志记录、指标、AzureServices(例如“日志记录、指标”)或“无”的组合,以绕过这些流量。 “AzureServices”
“Logging”
“指标”
“None”
defaultAction 指定其他规则匹配时允许或拒绝的默认操作。 “允许”
“拒绝”(必需)
ipRules 设置 IP ACL 规则 IPRule[]
resourceAccessRules 设置资源访问规则 ResourceAccessRule[]
virtualNetworkRules 设置虚拟网络规则 VirtualNetworkRule[]

IPRule

名字 描述 价值
行动 IP ACL 规则的操作。 “允许”
价值 以 CIDR 格式指定 IP 或 IP 范围。 仅允许 IPV4 地址。 string (必需)

ResourceAccessRule

名字 描述 价值
resourceId 资源 ID 字符串
tenantId 租户 ID 字符串

VirtualNetworkRule

名字 描述 价值
行动 虚拟网络规则的操作。 “允许”
id 子网的资源 ID,例如:/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}。 string (必需)
获取虚拟网络规则的状态。 “取消预配”
“Failed”
“NetworkSourceDeleted”
“预配”
“Succeeded”

RoutingPreference

名字 描述 价值
publishInternetEndpoints 一个布尔标志,指示是否发布 Internet 路由存储终结点 bool
publishMicrosoftEndpoints 一个布尔标志,指示是否发布 Microsoft 路由存储终结点 bool
routingChoice 路由选择定义用户选择的网络路由类型。 “InternetRouting”
“MicrosoftRouting”

SasPolicy

名字 描述 价值
expirationAction SAS 过期操作。 只能是日志。 “Log”(必需)
sasExpirationPeriod SAS 到期期限:DD.HH:MM:SS。 string (必需)

Sku

名字 描述 价值
名字 SKU 名称。 创建帐户时需要;可选,用于更新。 请注意,在旧版本中,SKU 名称称为 accountType。 “Premium_LRS”
“Premium_ZRS”
“Standard_GRS”
“Standard_GZRS”
“Standard_LRS”
“Standard_RAGRS”
“Standard_RAGZRS”
“Standard_ZRS”(必需)

快速入门模板

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

模板 描述
通过专用终结点从 VM 连接到存储帐户

部署到 Azure
此示例演示如何使用连接虚拟网络通过专用终结点访问 Blob 存储帐户。
通过专用终结点连接到 Azure 文件共享

部署到 Azure
此示例演示如何使用配置虚拟网络和专用 DNS 区域通过专用终结点访问 Azure 文件共享。
创建标准存储帐户

部署到 Azure
此模板创建标准存储帐户
使用 SSE 创建存储帐户

部署到 Azure
此模板创建具有静态数据的存储服务加密的存储帐户
使用高级威胁防护 存储帐户

部署到 Azure
使用此模板,可以部署启用了高级威胁防护的 Azure 存储帐户。
在 Azure 上创建 Azure 存储帐户和 Blob 容器

部署到 Azure
此模板创建 Azure 存储帐户和 Blob 容器。
使用 SSE 和 blob 删除保留策略 存储帐户

部署到 Azure
此模板使用存储服务加密和 Blob 删除保留策略创建存储帐户
使用客户管理的密钥 Azure 存储帐户加密

部署到 Azure
此模板部署一个存储帐户,其中包含客户管理的密钥,用于加密,该密钥生成并放置在 Key Vault 中。
使用文件共享创建存储帐户

部署到 Azure
此模板创建 Azure 存储帐户和文件共享。
创建包含多个 Blob 容器的存储帐户

部署到 Azure
创建一个 Azure 存储帐户和多个 Blob 容器。
创建具有多个文件共享的存储帐户

部署到 Azure
创建一个 Azure 存储帐户和多个文件共享。
创建启用了 SFTP 的存储帐户

部署到 Azure
创建可以使用 SFTP 协议访问的 Azure 存储帐户和 Blob 容器。 访问权限可以是基于密码或公钥。
部署静态网站

部署到 Azure
使用支持存储帐户部署静态网站

ARM 模板资源定义

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

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

资源格式

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

{
  "type": "Microsoft.Storage/storageAccounts",
  "apiVersion": "2021-04-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "sku": {
    "name": "string"
  },
  "kind": "string",
  "extendedLocation": {
    "name": "string",
    "type": "EdgeZone"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "properties": {
    "accessTier": "string",
    "allowBlobPublicAccess": "bool",
    "allowCrossTenantReplication": "bool",
    "allowSharedKeyAccess": "bool",
    "azureFilesIdentityBasedAuthentication": {
      "activeDirectoryProperties": {
        "azureStorageSid": "string",
        "domainGuid": "string",
        "domainName": "string",
        "domainSid": "string",
        "forestName": "string",
        "netBiosDomainName": "string"
      },
      "defaultSharePermission": "string",
      "directoryServiceOptions": "string"
    },
    "customDomain": {
      "name": "string",
      "useSubDomainName": "bool"
    },
    "encryption": {
      "identity": {
        "userAssignedIdentity": "string"
      },
      "keySource": "string",
      "keyvaultproperties": {
        "keyname": "string",
        "keyvaulturi": "string",
        "keyversion": "string"
      },
      "requireInfrastructureEncryption": "bool",
      "services": {
        "blob": {
          "enabled": "bool",
          "keyType": "string"
        },
        "file": {
          "enabled": "bool",
          "keyType": "string"
        },
        "queue": {
          "enabled": "bool",
          "keyType": "string"
        },
        "table": {
          "enabled": "bool",
          "keyType": "string"
        }
      }
    },
    "isHnsEnabled": "bool",
    "isNfsV3Enabled": "bool",
    "keyPolicy": {
      "keyExpirationPeriodInDays": "int"
    },
    "largeFileSharesState": "string",
    "minimumTlsVersion": "string",
    "networkAcls": {
      "bypass": "string",
      "defaultAction": "string",
      "ipRules": [
        {
          "action": "Allow",
          "value": "string"
        }
      ],
      "resourceAccessRules": [
        {
          "resourceId": "string",
          "tenantId": "string"
        }
      ],
      "virtualNetworkRules": [
        {
          "action": "Allow",
          "id": "string",
          "state": "string"
        }
      ]
    },
    "routingPreference": {
      "publishInternetEndpoints": "bool",
      "publishMicrosoftEndpoints": "bool",
      "routingChoice": "string"
    },
    "sasPolicy": {
      "expirationAction": "Log",
      "sasExpirationPeriod": "string"
    },
    "supportsHttpsTrafficOnly": "bool"
  }
}

属性值

storageAccounts

名字 描述 价值
类型 资源类型 “Microsoft.Storage/storageAccounts”
apiVersion 资源 API 版本 '2021-04-01'
名字 资源名称 string (必需)

字符限制:3-24

有效字符:
小写字母和数字。

资源名称在 Azure 中必须是唯一的。
位置 必填。 获取或设置资源的位置。 这是受支持和注册的 Azure 地理区域之一(例如美国西部、美国东部、东南亚等)。 创建资源后,无法更改资源的地理区域,但如果更新时指定了相同的地理区域,请求将成功。 string (必需)
标签 获取或设置描述资源的键值对的列表。 这些标记可用于查看和分组此资源(跨资源组)。 最多可为资源提供 15 个标记。 每个标记必须具有长度不超过 128 个字符的键,并且长度不超过 256 个字符的值。 标记名称和值的字典。 请参阅模板 中的 标记
sku 必填。 获取或设置 SKU 名称。 Sku(必需)
必填。 指示存储帐户的类型。 “BlobStorage”
“BlockBlobStorage”
“FileStorage”
“存储”
“StorageV2”(必需)
extendedLocation 自选。 设置资源的扩展位置。 如果未设置,将在 Azure 主区域中创建存储帐户。 否则,它将在指定的扩展位置创建 ExtendedLocation
身份 资源的标识。 标识
性能 用于创建存储帐户的参数。 StorageAccountPropertiesCreateParametersOrStorageAcc...

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 字符串
类型 扩展位置的类型。 “EdgeZone”

身份

名字 描述 价值
类型 标识类型。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”(必需)
userAssignedIdentities 获取或设置一个键值对列表,这些键值对描述将用于此存储帐户的用户分配标识集。 密钥是标识的 ARM 资源标识符。 此处仅允许 1 个用户分配的标识。 IdentityUserAssignedIdentities

IdentityUserAssignedIdentities

名字 描述 价值
{自定义属性} UserAssignedIdentity

UserAssignedIdentity

此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。

StorageAccountPropertiesCreateParametersOrStorageAcc...

名字 描述 价值
accessTier 类型 = BlobStorage 的存储帐户是必需的。 用于计费的访问层。 “Cool”
“Hot”
allowBlobPublicAccess 允许或禁止公共访问存储帐户中的所有 Blob 或容器。 此属性的默认解释为 true。 bool
allowCrossTenantReplication 允许或禁止跨 AAD 租户对象复制。 此属性的默认解释为 true。 bool
allowSharedKeyAccess 指示存储帐户是否允许通过共享密钥通过帐户访问密钥授权请求。 如果为 false,则必须使用 Azure Active Directory(Azure AD)授权所有请求(包括共享访问签名)。 默认值为 null,等效于 true。 bool
azureFilesIdentityBasedAuthentication 为 Azure 文件存储提供基于标识的身份验证设置。 AzureFilesIdentityBasedAuthentication
customDomain 分配给存储帐户的用户域。 名称是 CNAME 源。 目前每个存储帐户仅支持一个自定义域。 若要清除现有的自定义域,请使用自定义域名属性的空字符串。 CustomDomain
加密 不適用。 为所有存储帐户启用了 Azure 存储加密,无法禁用。 加密
isHnsEnabled 如果设置为 true,则启用 Account HierarchicalNamespace。 bool
isNfsV3Enabled 如果设置为 true,则启用 NFS 3.0 协议支持。 bool
keyPolicy 分配给存储帐户的 KeyPolicy。 KeyPolicy
largeFileSharesState 如果设置为“已启用”,则允许大型文件共享。 启用后,无法禁用它。 “Disabled”
“Enabled”
minimumTlsVersion 设置对存储的请求允许的最低 TLS 版本。 对于此属性,默认解释为 TLS 1.0。 “TLS1_0”
“TLS1_1”
“TLS1_2”
networkAcls 网络规则集 NetworkRuleSet
routingPreference 维护用户选择的网络路由选择的信息进行数据传输 RoutingPreference
sasPolicy 分配给存储帐户的 SasPolicy。 SasPolicy
supportsHttpsTrafficOnly 仅当设置为 true 时,才允许 https 流量发到存储服务。 自 API 版本 2019-04-01 起,默认值为 true。 bool

AzureFilesIdentityBasedAuthentication

名字 描述 价值
activeDirectoryProperties 如果选择 AD,则为必需。 ActiveDirectoryProperties
defaultSharePermission 如果未分配 RBAC 角色,则使用 Kerberos 身份验证的用户的默认共享权限。 “None”
“StorageFileDataSmbShareContributor”
'StorageFileDataSmbShareElevatedContributor'
“StorageFileDataSmbShareOwner”
“StorageFileDataSmbShareReader”
directoryServiceOptions 指示使用的目录服务。 “AADDS”
“AD”
“无”(必需)

ActiveDirectoryProperties

名字 描述 价值
azureStorageSid 指定 Azure 存储的安全标识符(SID)。 string (必需)
domainGuid 指定域 GUID。 string (必需)
domainName 指定 AD DNS 服务器权威的主域。 string (必需)
domainSid 指定安全标识符(SID)。 string (必需)
forestName 指定要获取的 Active Directory 林。 string (必需)
netBiosDomainName 指定 NetBIOS 域名。 string (必需)

CustomDomain

名字 描述 价值
名字 获取或设置分配给存储帐户的自定义域名。 名称是 CNAME 源。 string (必需)
useSubDomainName 指示是否启用了间接 CName 验证。 默认值为 false。 这应仅在更新时设置。 bool

加密

名字 描述 价值
身份 要用于静态服务端加密的标识。 EncryptionIdentity
keySource 加密密钥来源(提供程序)。 可能的值(不区分大小写):Microsoft.Storage、Microsoft.Keyvault “Microsoft.Keyvault”
“Microsoft.Storage”(必需)
keyvaultproperties 密钥保管库提供的属性。 KeyVaultProperties
requireInfrastructureEncryption 一个布尔值,指示服务是否使用平台托管密钥对静态数据应用辅助加密层。 bool
服务业 支持加密的服务列表。 EncryptionServices

EncryptionIdentity

名字 描述 价值
userAssignedIdentity 要与存储帐户上的服务器端加密关联的 UserAssigned 标识的资源标识符。 字符串

KeyVaultProperties

名字 描述 价值
keyname KeyVault 密钥的名称。 字符串
keyvaulturi KeyVault 的 URI。 字符串
keyversion KeyVault 密钥的版本。 字符串

EncryptionServices

名字 描述 价值
blob Blob 存储服务的加密功能。 EncryptionService
文件 文件存储服务的加密功能。 EncryptionService
队列 队列存储服务的加密功能。 EncryptionService
桌子 表存储服务的加密功能。 EncryptionService

EncryptionService

名字 描述 价值
启用 一个布尔值,指示服务是否在存储数据时对数据进行加密。 bool
keyType 要用于加密服务的加密密钥类型。 “Account”密钥类型意味着将使用帐户范围的加密密钥。 “服务”密钥类型意味着使用默认服务密钥。 “Account”
“Service”

KeyPolicy

名字 描述 价值
keyExpirationPeriodInDays 密钥过期期限(以天为单位)。 int (必需)

NetworkRuleSet

名字 描述 价值
旁路 指定是否为日志记录/指标/AzureServices 绕过流量。 可能的值是日志记录、指标、AzureServices(例如“日志记录、指标”)或“无”的组合,以绕过这些流量。 “AzureServices”
“Logging”
“指标”
“None”
defaultAction 指定其他规则匹配时允许或拒绝的默认操作。 “允许”
“拒绝”(必需)
ipRules 设置 IP ACL 规则 IPRule[]
resourceAccessRules 设置资源访问规则 ResourceAccessRule[]
virtualNetworkRules 设置虚拟网络规则 VirtualNetworkRule[]

IPRule

名字 描述 价值
行动 IP ACL 规则的操作。 “允许”
价值 以 CIDR 格式指定 IP 或 IP 范围。 仅允许 IPV4 地址。 string (必需)

ResourceAccessRule

名字 描述 价值
resourceId 资源 ID 字符串
tenantId 租户 ID 字符串

VirtualNetworkRule

名字 描述 价值
行动 虚拟网络规则的操作。 “允许”
id 子网的资源 ID,例如:/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}。 string (必需)
获取虚拟网络规则的状态。 “取消预配”
“Failed”
“NetworkSourceDeleted”
“预配”
“Succeeded”

RoutingPreference

名字 描述 价值
publishInternetEndpoints 一个布尔标志,指示是否发布 Internet 路由存储终结点 bool
publishMicrosoftEndpoints 一个布尔标志,指示是否发布 Microsoft 路由存储终结点 bool
routingChoice 路由选择定义用户选择的网络路由类型。 “InternetRouting”
“MicrosoftRouting”

SasPolicy

名字 描述 价值
expirationAction SAS 过期操作。 只能是日志。 “Log”(必需)
sasExpirationPeriod SAS 到期期限:DD.HH:MM:SS。 string (必需)

Sku

名字 描述 价值
名字 SKU 名称。 创建帐户时需要;可选,用于更新。 请注意,在旧版本中,SKU 名称称为 accountType。 “Premium_LRS”
“Premium_ZRS”
“Standard_GRS”
“Standard_GZRS”
“Standard_LRS”
“Standard_RAGRS”
“Standard_RAGZRS”
“Standard_ZRS”(必需)

快速入门模板

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

模板 描述
通过专用终结点从 VM 连接到存储帐户

部署到 Azure
此示例演示如何使用连接虚拟网络通过专用终结点访问 Blob 存储帐户。
通过专用终结点连接到 Azure 文件共享

部署到 Azure
此示例演示如何使用配置虚拟网络和专用 DNS 区域通过专用终结点访问 Azure 文件共享。
创建标准存储帐户

部署到 Azure
此模板创建标准存储帐户
使用 SSE 创建存储帐户

部署到 Azure
此模板创建具有静态数据的存储服务加密的存储帐户
使用高级威胁防护 存储帐户

部署到 Azure
使用此模板,可以部署启用了高级威胁防护的 Azure 存储帐户。
在 Azure 上创建 Azure 存储帐户和 Blob 容器

部署到 Azure
此模板创建 Azure 存储帐户和 Blob 容器。
使用 SSE 和 blob 删除保留策略 存储帐户

部署到 Azure
此模板使用存储服务加密和 Blob 删除保留策略创建存储帐户
使用客户管理的密钥 Azure 存储帐户加密

部署到 Azure
此模板部署一个存储帐户,其中包含客户管理的密钥,用于加密,该密钥生成并放置在 Key Vault 中。
使用文件共享创建存储帐户

部署到 Azure
此模板创建 Azure 存储帐户和文件共享。
创建包含多个 Blob 容器的存储帐户

部署到 Azure
创建一个 Azure 存储帐户和多个 Blob 容器。
创建具有多个文件共享的存储帐户

部署到 Azure
创建一个 Azure 存储帐户和多个文件共享。
创建启用了 SFTP 的存储帐户

部署到 Azure
创建可以使用 SFTP 协议访问的 Azure 存储帐户和 Blob 容器。 访问权限可以是基于密码或公钥。
部署静态网站

部署到 Azure
使用支持存储帐户部署静态网站

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

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

  • 资源组

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

资源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Storage/storageAccounts@2021-04-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      accessTier = "string"
      allowBlobPublicAccess = bool
      allowCrossTenantReplication = bool
      allowSharedKeyAccess = bool
      azureFilesIdentityBasedAuthentication = {
        activeDirectoryProperties = {
          azureStorageSid = "string"
          domainGuid = "string"
          domainName = "string"
          domainSid = "string"
          forestName = "string"
          netBiosDomainName = "string"
        }
        defaultSharePermission = "string"
        directoryServiceOptions = "string"
      }
      customDomain = {
        name = "string"
        useSubDomainName = bool
      }
      encryption = {
        identity = {
          userAssignedIdentity = "string"
        }
        keySource = "string"
        keyvaultproperties = {
          keyname = "string"
          keyvaulturi = "string"
          keyversion = "string"
        }
        requireInfrastructureEncryption = bool
        services = {
          blob = {
            enabled = bool
            keyType = "string"
          }
          file = {
            enabled = bool
            keyType = "string"
          }
          queue = {
            enabled = bool
            keyType = "string"
          }
          table = {
            enabled = bool
            keyType = "string"
          }
        }
      }
      isHnsEnabled = bool
      isNfsV3Enabled = bool
      keyPolicy = {
        keyExpirationPeriodInDays = int
      }
      largeFileSharesState = "string"
      minimumTlsVersion = "string"
      networkAcls = {
        bypass = "string"
        defaultAction = "string"
        ipRules = [
          {
            action = "Allow"
            value = "string"
          }
        ]
        resourceAccessRules = [
          {
            resourceId = "string"
            tenantId = "string"
          }
        ]
        virtualNetworkRules = [
          {
            action = "Allow"
            id = "string"
            state = "string"
          }
        ]
      }
      routingPreference = {
        publishInternetEndpoints = bool
        publishMicrosoftEndpoints = bool
        routingChoice = "string"
      }
      sasPolicy = {
        expirationAction = "Log"
        sasExpirationPeriod = "string"
      }
      supportsHttpsTrafficOnly = bool
    }
    sku = {
      name = "string"
    }
    kind = "string"
    extendedLocation = {
      name = "string"
      type = "EdgeZone"
    }
  })
}

属性值

storageAccounts

名字 描述 价值
类型 资源类型 “Microsoft.Storage/storageAccounts@2021-04-01”
名字 资源名称 string (必需)

字符限制:3-24

有效字符:
小写字母和数字。

资源名称在 Azure 中必须是唯一的。
位置 必填。 获取或设置资源的位置。 这是受支持和注册的 Azure 地理区域之一(例如美国西部、美国东部、东南亚等)。 创建资源后,无法更改资源的地理区域,但如果更新时指定了相同的地理区域,请求将成功。 string (必需)
parent_id 若要部署到资源组,请使用该资源组的 ID。 string (必需)
标签 获取或设置描述资源的键值对的列表。 这些标记可用于查看和分组此资源(跨资源组)。 最多可为资源提供 15 个标记。 每个标记必须具有长度不超过 128 个字符的键,并且长度不超过 256 个字符的值。 标记名称和值的字典。
sku 必填。 获取或设置 SKU 名称。 Sku(必需)
必填。 指示存储帐户的类型。 “BlobStorage”
“BlockBlobStorage”
“FileStorage”
“存储”
“StorageV2”(必需)
extendedLocation 自选。 设置资源的扩展位置。 如果未设置,将在 Azure 主区域中创建存储帐户。 否则,它将在指定的扩展位置创建 ExtendedLocation
身份 资源的标识。 标识
性能 用于创建存储帐户的参数。 StorageAccountPropertiesCreateParametersOrStorageAcc...

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 字符串
类型 扩展位置的类型。 “EdgeZone”

身份

名字 描述 价值
类型 标识类型。 “SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”(必需)
identity_ids 获取或设置一个键值对列表,这些键值对描述将用于此存储帐户的用户分配标识集。 密钥是标识的 ARM 资源标识符。 此处仅允许 1 个用户分配的标识。 用户标识 ID 的数组。

IdentityUserAssignedIdentities

名字 描述 价值
{自定义属性} UserAssignedIdentity

UserAssignedIdentity

此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。

StorageAccountPropertiesCreateParametersOrStorageAcc...

名字 描述 价值
accessTier 类型 = BlobStorage 的存储帐户是必需的。 用于计费的访问层。 “冷”
“Hot”
allowBlobPublicAccess 允许或禁止公共访问存储帐户中的所有 Blob 或容器。 此属性的默认解释为 true。 bool
allowCrossTenantReplication 允许或禁止跨 AAD 租户对象复制。 此属性的默认解释为 true。 bool
allowSharedKeyAccess 指示存储帐户是否允许通过共享密钥通过帐户访问密钥授权请求。 如果为 false,则必须使用 Azure Active Directory(Azure AD)授权所有请求(包括共享访问签名)。 默认值为 null,等效于 true。 bool
azureFilesIdentityBasedAuthentication 为 Azure 文件存储提供基于标识的身份验证设置。 AzureFilesIdentityBasedAuthentication
customDomain 分配给存储帐户的用户域。 名称是 CNAME 源。 目前每个存储帐户仅支持一个自定义域。 若要清除现有的自定义域,请使用自定义域名属性的空字符串。 CustomDomain
加密 不適用。 为所有存储帐户启用了 Azure 存储加密,无法禁用。 加密
isHnsEnabled 如果设置为 true,则启用 Account HierarchicalNamespace。 bool
isNfsV3Enabled 如果设置为 true,则启用 NFS 3.0 协议支持。 bool
keyPolicy 分配给存储帐户的 KeyPolicy。 KeyPolicy
largeFileSharesState 如果设置为“已启用”,则允许大型文件共享。 启用后,无法禁用它。 “Disabled”
“已启用”
minimumTlsVersion 设置对存储的请求允许的最低 TLS 版本。 对于此属性,默认解释为 TLS 1.0。 “TLS1_0”
“TLS1_1”
“TLS1_2”
networkAcls 网络规则集 NetworkRuleSet
routingPreference 维护用户选择的网络路由选择的信息进行数据传输 RoutingPreference
sasPolicy 分配给存储帐户的 SasPolicy。 SasPolicy
supportsHttpsTrafficOnly 仅当设置为 true 时,才允许 https 流量发到存储服务。 自 API 版本 2019-04-01 起,默认值为 true。 bool

AzureFilesIdentityBasedAuthentication

名字 描述 价值
activeDirectoryProperties 如果选择 AD,则为必需。 ActiveDirectoryProperties
defaultSharePermission 如果未分配 RBAC 角色,则使用 Kerberos 身份验证的用户的默认共享权限。 “None”
“StorageFileDataSmbShareContributor”
“StorageFileDataSmbShareElevatedContributor”
“StorageFileDataSmbShareOwner”
“StorageFileDataSmbShareReader”
directoryServiceOptions 指示使用的目录服务。 “AADDS”
“AD”
“无”(必需)

ActiveDirectoryProperties

名字 描述 价值
azureStorageSid 指定 Azure 存储的安全标识符(SID)。 string (必需)
domainGuid 指定域 GUID。 string (必需)
domainName 指定 AD DNS 服务器权威的主域。 string (必需)
domainSid 指定安全标识符(SID)。 string (必需)
forestName 指定要获取的 Active Directory 林。 string (必需)
netBiosDomainName 指定 NetBIOS 域名。 string (必需)

CustomDomain

名字 描述 价值
名字 获取或设置分配给存储帐户的自定义域名。 名称是 CNAME 源。 string (必需)
useSubDomainName 指示是否启用了间接 CName 验证。 默认值为 false。 这应仅在更新时设置。 bool

加密

名字 描述 价值
身份 要用于静态服务端加密的标识。 EncryptionIdentity
keySource 加密密钥来源(提供程序)。 可能的值(不区分大小写):Microsoft.Storage、Microsoft.Keyvault “Microsoft.Keyvault”
“Microsoft.Storage”(必需)
keyvaultproperties 密钥保管库提供的属性。 KeyVaultProperties
requireInfrastructureEncryption 一个布尔值,指示服务是否使用平台托管密钥对静态数据应用辅助加密层。 bool
服务业 支持加密的服务列表。 EncryptionServices

EncryptionIdentity

名字 描述 价值
userAssignedIdentity 要与存储帐户上的服务器端加密关联的 UserAssigned 标识的资源标识符。 字符串

KeyVaultProperties

名字 描述 价值
keyname KeyVault 密钥的名称。 字符串
keyvaulturi KeyVault 的 URI。 字符串
keyversion KeyVault 密钥的版本。 字符串

EncryptionServices

名字 描述 价值
blob Blob 存储服务的加密功能。 EncryptionService
文件 文件存储服务的加密功能。 EncryptionService
队列 队列存储服务的加密功能。 EncryptionService
桌子 表存储服务的加密功能。 EncryptionService

EncryptionService

名字 描述 价值
启用 一个布尔值,指示服务是否在存储数据时对数据进行加密。 bool
keyType 要用于加密服务的加密密钥类型。 “Account”密钥类型意味着将使用帐户范围的加密密钥。 “服务”密钥类型意味着使用默认服务密钥。 “帐户”
“服务”

KeyPolicy

名字 描述 价值
keyExpirationPeriodInDays 密钥过期期限(以天为单位)。 int (必需)

NetworkRuleSet

名字 描述 价值
旁路 指定是否为日志记录/指标/AzureServices 绕过流量。 可能的值是日志记录、指标、AzureServices(例如“日志记录、指标”)或“无”的组合,以绕过这些流量。 “AzureServices”
“日志记录”
“指标”
“None”
defaultAction 指定其他规则匹配时允许或拒绝的默认操作。 “允许”
“拒绝”(必需)
ipRules 设置 IP ACL 规则 IPRule[]
resourceAccessRules 设置资源访问规则 ResourceAccessRule[]
virtualNetworkRules 设置虚拟网络规则 VirtualNetworkRule[]

IPRule

名字 描述 价值
行动 IP ACL 规则的操作。 “允许”
价值 以 CIDR 格式指定 IP 或 IP 范围。 仅允许 IPV4 地址。 string (必需)

ResourceAccessRule

名字 描述 价值
resourceId 资源 ID 字符串
tenantId 租户 ID 字符串

VirtualNetworkRule

名字 描述 价值
行动 虚拟网络规则的操作。 “允许”
id 子网的资源 ID,例如:/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}。 string (必需)
获取虚拟网络规则的状态。 “取消预配”
“失败”
“NetworkSourceDeleted”
“预配”
“Succeeded”

RoutingPreference

名字 描述 价值
publishInternetEndpoints 一个布尔标志,指示是否发布 Internet 路由存储终结点 bool
publishMicrosoftEndpoints 一个布尔标志,指示是否发布 Microsoft 路由存储终结点 bool
routingChoice 路由选择定义用户选择的网络路由类型。 “InternetRouting”
“MicrosoftRouting”

SasPolicy

名字 描述 价值
expirationAction SAS 过期操作。 只能是日志。 “Log”(必需)
sasExpirationPeriod SAS 到期期限:DD.HH:MM:SS。 string (必需)

Sku

名字 描述 价值
名字 SKU 名称。 创建帐户时需要;可选,用于更新。 请注意,在旧版本中,SKU 名称称为 accountType。 “Premium_LRS”
“Premium_ZRS”
“Standard_GRS”
“Standard_GZRS”
“Standard_LRS”
“Standard_RAGRS”
“Standard_RAGZRS”
“Standard_ZRS” (必需)