@@ -23,10 +23,49 @@ resource leaseContainer 'Microsoft.Storage/storageAccounts/blobServices/containe
2323 ]
2424}
2525
26- resource containerPolicy 'Microsoft.Storage/storageAccounts/managementPolicies@2019-06-01' = {
27- name : '${storageAccountName }/default'
26+ resource keyVault 'Microsoft.KeyVault/vaults@2019-09-01' = {
27+ name : keyVaultName
28+ location : location
29+ properties : {
30+ tenantId : subscription ().tenantId
31+ sku : {
32+ family : 'A'
33+ name : 'standard'
34+ }
35+ enableRbacAuthorization : true
36+ accessPolicies : []
37+ }
38+ }
39+
40+ resource keyVaultDiagnostics 'Microsoft.Insights/diagnosticSettings@2017-05-01-preview' = {
41+ scope : keyVault
42+ name : '${keyVaultName }-diagnostics'
43+ properties : {
44+ storageAccountId : storageAccount .id
45+ logs : [
46+ {
47+ category : 'AuditEvent'
48+ enabled : true
49+ }
50+ ]
51+ }
52+ }
53+
54+ var auditContainerName = 'insights-logs-auditevent'
55+
56+ resource auditContainer 'Microsoft.Storage/storageAccounts/blobServices/containers@2019-06-01' = {
57+ name : '${storageAccountName }/default/${auditContainerName }'
58+ dependsOn : [
59+ storageAccount
60+ ]
61+ }
62+
63+ resource leaseContainerPolicy 'Microsoft.Storage/storageAccounts/managementPolicies@2019-06-01' = {
64+ parent : storageAccount
65+ name : 'default'
2866 dependsOn : [
2967 leaseContainer
68+ auditContainer
3069 ]
3170 properties : {
3271 policy : {
@@ -52,39 +91,29 @@ resource containerPolicy 'Microsoft.Storage/storageAccounts/managementPolicies@2
5291 }
5392 }
5493 }
94+ {
95+ name : 'DeleteOldAudits'
96+ type : 'Lifecycle'
97+ definition : {
98+ actions : {
99+ baseBlob : {
100+ delete : {
101+ daysAfterModificationGreaterThan : 180
102+ }
103+ }
104+ }
105+ filters : {
106+ blobTypes : [
107+ 'blockBlob'
108+ 'appendBlob'
109+ ]
110+ prefixMatch : [
111+ '${auditContainerName }/'
112+ ]
113+ }
114+ }
115+ }
55116 ]
56117 }
57118 }
58119}
59-
60- resource keyVault 'Microsoft.KeyVault/vaults@2019-09-01' = {
61- name : keyVaultName
62- location : location
63- properties : {
64- tenantId : subscription ().tenantId
65- sku : {
66- family : 'A'
67- name : 'standard'
68- }
69- enableRbacAuthorization : true
70- accessPolicies : []
71- }
72- }
73-
74- resource keyVaultDiagnostics 'Microsoft.Insights/diagnosticSettings@2017-05-01-preview' = {
75- scope : keyVault
76- name : '${keyVaultName }-diagnostics'
77- properties : {
78- storageAccountId : storageAccount .id
79- logs : [
80- {
81- category : 'AuditEvent'
82- enabled : true
83- retentionPolicy : {
84- enabled : true
85- days : 30
86- }
87- }
88- ]
89- }
90- }
0 commit comments