1
1
---
2
+ reviewed : 2023-09-02
2
3
severity : Important
3
4
pillar : Security
4
5
category : Encryption
@@ -23,6 +24,9 @@ To do this set the _Secure transfer required_ option.
23
24
When _ secure transfer required_ is enabled,
24
25
attempts to connect to storage using HTTP or unencrypted SMB connections are rejected.
25
26
27
+ Storage Accounts that are deployed with a newer API version will have this option enabled by default.
28
+ However, this does not prevent the option from being disabled.
29
+
26
30
## RECOMMENDATION
27
31
28
32
Storage accounts should only accept secure traffic.
@@ -35,59 +39,72 @@ Also consider using Azure Policy to audit or enforce this configuration.
35
39
36
40
To deploy Storage Accounts that pass this rule:
37
41
38
- - Set the ` properties.supportsHttpsTrafficOnly ` property to ` true ` .
42
+ - For API versions older then _ 2019-04-01_ , set the ` properties.supportsHttpsTrafficOnly ` property to ` true ` .
43
+ - For API versions _ 2019-04-01_ and newer:
44
+ - Omit the ` properties.supportsHttpsTrafficOnly ` property OR
45
+ - Explicitly set the ` properties.supportsHttpsTrafficOnly ` property to ` true ` .
39
46
40
47
For example:
41
48
42
49
``` json
43
50
{
44
- "comments" : " Storage Account" ,
45
- "type" : " Microsoft.Storage/storageAccounts" ,
46
- "apiVersion" : " 2019-06-01" ,
47
- "name" : " st0000001" ,
48
- "location" : " [parameters('location')]" ,
49
- "sku" : {
50
- "name" : " Standard_GRS" ,
51
- "tier" : " Standard"
52
- },
53
- "kind" : " StorageV2" ,
54
- "properties" : {
55
- "supportsHttpsTrafficOnly" : true ,
56
- "minimumTlsVersion" : " TLS1_2" ,
57
- "allowBlobPublicAccess" : false ,
58
- "accessTier" : " Hot"
51
+ "type" : " Microsoft.Storage/storageAccounts" ,
52
+ "apiVersion" : " 2023-01-01" ,
53
+ "name" : " [parameters('name')]" ,
54
+ "location" : " [parameters('location')]" ,
55
+ "sku" : {
56
+ "name" : " Standard_GRS"
57
+ },
58
+ "kind" : " StorageV2" ,
59
+ "properties" : {
60
+ "allowBlobPublicAccess" : false ,
61
+ "supportsHttpsTrafficOnly" : true ,
62
+ "minimumTlsVersion" : " TLS1_2" ,
63
+ "accessTier" : " Hot" ,
64
+ "allowSharedKeyAccess" : false ,
65
+ "networkAcls" : {
66
+ "defaultAction" : " Deny"
59
67
}
68
+ }
60
69
}
61
70
```
62
71
63
72
### Configure with Bicep
64
73
65
74
To deploy Storage Accounts that pass this rule:
66
75
67
- - Set the ` properties.supportsHttpsTrafficOnly ` property to ` true ` .
76
+ - For API versions older then _ 2019-04-01_ , set the ` properties.supportsHttpsTrafficOnly ` property to ` true ` .
77
+ - For API versions _ 2019-04-01_ and newer:
78
+ - Omit the ` properties.supportsHttpsTrafficOnly ` property OR
79
+ - Explicitly set the ` properties.supportsHttpsTrafficOnly ` property to ` true ` .
68
80
69
81
For example:
70
82
71
83
``` bicep
72
- resource st0000001 'Microsoft.Storage/storageAccounts@2021-04 -01' = {
73
- name: 'st0000001'
84
+ resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01 -01' = {
85
+ name: name
74
86
location: location
75
87
sku: {
76
88
name: 'Standard_GRS'
77
89
}
78
90
kind: 'StorageV2'
79
91
properties: {
80
- supportsHttpsTrafficOnly: true
81
- accessTier: 'Hot'
82
92
allowBlobPublicAccess: false
93
+ supportsHttpsTrafficOnly: true
83
94
minimumTlsVersion: 'TLS1_2'
95
+ accessTier: 'Hot'
96
+ allowSharedKeyAccess: false
97
+ networkAcls: {
98
+ defaultAction: 'Deny'
99
+ }
84
100
}
85
101
}
86
102
```
87
103
88
104
## LINKS
89
105
90
106
- [ Data encryption in Azure] ( https://learn.microsoft.com/azure/architecture/framework/security/design-storage-encryption#data-in-transit )
91
- - [ Require secure transfer in Azure Storage] ( https://docs.microsoft.com/azure/storage/common/storage-require-secure-transfer )
92
- - [ Sample policy for ensuring https traffic] ( https://docs.microsoft.com/azure/governance/policy/samples/ensure-https-stor-acct )
93
- - [ Azure deployment reference] ( https://docs.microsoft.com/azure/templates/microsoft.storage/storageaccounts )
107
+ - [ Require secure transfer in Azure Storage] ( https://learn.microsoft.com/azure/storage/common/storage-require-secure-transfer )
108
+ - [ DP-3: Encrypt sensitive data in transit] ( https://learn.microsoft.com/security/benchmark/azure/baselines/storage-security-baseline#dp-3-encrypt-sensitive-data-in-transit )
109
+ - [ Sample policy for ensuring https traffic] ( https://learn.microsoft.com/azure/governance/policy/samples/built-in-policies#storage )
110
+ - [ Azure deployment reference] ( https://learn.microsoft.com/azure/templates/microsoft.storage/storageaccounts )
0 commit comments