@drunk-pulumi/azure 0.0.37 → 0.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/Aks/Helper.d.ts +6 -11
  2. package/Aks/Helper.js +40 -65
  3. package/Aks/Identity.d.ts +3 -10
  4. package/Aks/Identity.js +9 -8
  5. package/Aks/index.d.ts +67 -71
  6. package/Aks/index.js +198 -314
  7. package/Apim/ApiProduct/PolicyBuilder.js +25 -27
  8. package/Apim/ApiProduct/SwaggerHelper.js +1 -3
  9. package/Apim/ApiProduct/index.d.ts +3 -3
  10. package/Apim/ApiProduct/index.js +1 -2
  11. package/Automation/index.d.ts +7 -0
  12. package/Automation/index.js +55 -0
  13. package/AzAd/EnvRoles.Consts.d.ts +12 -0
  14. package/AzAd/EnvRoles.Consts.js +125 -0
  15. package/AzAd/EnvRoles.d.ts +16 -15
  16. package/AzAd/EnvRoles.js +69 -47
  17. package/AzAd/GraphDefinition.d.ts +2 -2
  18. package/AzAd/GraphDefinition.js +3055 -3056
  19. package/AzAd/Helper.d.ts +24 -13
  20. package/AzAd/Helper.js +98 -25
  21. package/AzAd/Identities/AzDevOpsIdentity.d.ts +12 -0
  22. package/AzAd/Identities/AzDevOpsIdentity.js +32 -0
  23. package/AzAd/Identities/AzDevOpsManagedIdentity.d.ts +7 -0
  24. package/AzAd/Identities/AzDevOpsManagedIdentity.js +15 -0
  25. package/AzAd/Identities/AzUserAdRevertSync.d.ts +2 -9
  26. package/AzAd/Identities/AzUserAdRevertSync.js +4 -5
  27. package/AzAd/Identities/index.d.ts +3 -0
  28. package/AzAd/Identities/index.js +10 -0
  29. package/AzAd/Identity.d.ts +10 -22
  30. package/AzAd/Identity.js +50 -61
  31. package/AzAd/Role.d.ts +2 -3
  32. package/AzAd/Role.js +4 -5
  33. package/AzAd/RoleAssignment.d.ts +34 -5
  34. package/AzAd/RoleAssignment.js +2 -2
  35. package/AzAd/RoleDefinitions/JustInTimeRequestRole.d.ts +2 -0
  36. package/AzAd/RoleDefinitions/JustInTimeRequestRole.js +25 -0
  37. package/AzAd/RolesBuiltIn.d.ts +29 -0
  38. package/AzAd/RolesBuiltIn.js +13034 -8058
  39. package/AzAd/UserAssignedIdentity.d.ts +6 -0
  40. package/AzAd/UserAssignedIdentity.js +27 -0
  41. package/Builder/AksBuilder.d.ts +3 -0
  42. package/Builder/AksBuilder.js +95 -0
  43. package/Builder/VnetBuilder.d.ts +3 -0
  44. package/Builder/VnetBuilder.js +279 -0
  45. package/Builder/index.d.ts +2 -0
  46. package/Builder/index.js +8 -0
  47. package/Builder/types.d.ts +120 -0
  48. package/Builder/types.js +18 -0
  49. package/Certificate/index.d.ts +1 -1
  50. package/Certificate/index.js +26 -28
  51. package/Common/AutoTags.js +2 -2
  52. package/Common/AzureEnv.d.ts +4 -3
  53. package/Common/AzureEnv.js +31 -24
  54. package/Common/GlobalEnv.d.ts +1 -2
  55. package/Common/GlobalEnv.js +7 -7
  56. package/Common/Location.d.ts +3 -3
  57. package/Common/Location.js +22 -9
  58. package/Common/LocationBuiltIn.d.ts +6 -81
  59. package/Common/LocationBuiltIn.js +491 -1923
  60. package/Common/Naming/index.d.ts +6 -4
  61. package/Common/Naming/index.js +64 -60
  62. package/Common/ResourceEnv.d.ts +2 -2
  63. package/Common/ResourceEnv.js +11 -10
  64. package/Common/StackEnv.js +2 -9
  65. package/Core/KeyGenetators.d.ts +16 -20
  66. package/Core/KeyGenetators.js +17 -16
  67. package/Core/Random.d.ts +4 -4
  68. package/Core/Random.js +10 -10
  69. package/Core/ResourceGroup.d.ts +12 -6
  70. package/Core/ResourceGroup.js +12 -24
  71. package/IOT/Hub/index.d.ts +4 -8
  72. package/IOT/Hub/index.js +19 -54
  73. package/KeyVault/Helper.d.ts +8 -6
  74. package/KeyVault/Helper.js +13 -19
  75. package/KeyVault/index.d.ts +1 -3
  76. package/KeyVault/index.js +2 -26
  77. package/Logs/Helpers.d.ts +35 -25
  78. package/Logs/Helpers.js +33 -20
  79. package/Logs/LogAnalytics.d.ts +2 -2
  80. package/Logs/LogAnalytics.js +15 -6
  81. package/Logs/index.d.ts +3 -3
  82. package/Logs/index.js +4 -4
  83. package/MySql/index.d.ts +2 -3
  84. package/MySql/index.js +16 -19
  85. package/{ReadMe.md → README.md} +6 -1
  86. package/Sql/index.d.ts +15 -9
  87. package/Sql/index.js +39 -41
  88. package/Storage/CdnEndpoint.d.ts +2 -2
  89. package/Storage/CdnEndpoint.js +14 -15
  90. package/Storage/Helper.d.ts +2 -2
  91. package/Storage/Helper.js +6 -6
  92. package/Storage/ManagementRules.d.ts +5 -23
  93. package/Storage/ManagementRules.js +3 -3
  94. package/Storage/index.d.ts +3 -3
  95. package/Storage/index.js +28 -28
  96. package/VM/AzureDevOpsExtension.d.ts +16 -0
  97. package/VM/AzureDevOpsExtension.js +14 -0
  98. package/VM/Extension.d.ts +15 -0
  99. package/VM/Extension.js +13 -0
  100. package/VM/GlobalSchedule.d.ts +10 -0
  101. package/VM/GlobalSchedule.js +20 -0
  102. package/VM/index.d.ts +18 -18
  103. package/VM/index.js +94 -57
  104. package/VNet/Bastion.d.ts +4 -4
  105. package/VNet/Bastion.js +12 -8
  106. package/VNet/Firewall.d.ts +19 -12
  107. package/VNet/Firewall.js +59 -40
  108. package/VNet/FirewallPolicies/AksFirewallPolicy.d.ts +16 -16
  109. package/VNet/FirewallPolicies/AksFirewallPolicy.js +193 -220
  110. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.d.ts +12 -10
  111. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.js +170 -282
  112. package/VNet/FirewallPolicies/DefaultFirewallPolicy.d.ts +3 -0
  113. package/VNet/FirewallPolicies/DefaultFirewallPolicy.js +25 -0
  114. package/VNet/FirewallPolicies/index.d.ts +4 -0
  115. package/VNet/FirewallPolicies/index.js +10 -0
  116. package/VNet/FirewallPolicy.d.ts +14 -11
  117. package/VNet/FirewallPolicy.js +67 -74
  118. package/VNet/FirewallRules/AksFirewallRules.d.ts +4 -3
  119. package/VNet/FirewallRules/AksFirewallRules.js +101 -100
  120. package/VNet/Helper.d.ts +8 -4
  121. package/VNet/Helper.js +42 -35
  122. package/VNet/IpAddress.d.ts +6 -8
  123. package/VNet/IpAddress.js +6 -11
  124. package/VNet/IpAddressPrefix.d.ts +12 -9
  125. package/VNet/IpAddressPrefix.js +14 -13
  126. package/VNet/NSGRules/AppGatewaySecurityRule.d.ts +9 -0
  127. package/VNet/NSGRules/AppGatewaySecurityRule.js +46 -0
  128. package/VNet/NSGRules/AzADSecurityRule.d.ts +6 -0
  129. package/VNet/NSGRules/AzADSecurityRule.js +39 -0
  130. package/VNet/NSGRules/BastionSecurityRule.d.ts +9 -0
  131. package/VNet/NSGRules/BastionSecurityRule.js +93 -0
  132. package/VNet/NatGateway.d.ts +10 -0
  133. package/VNet/NatGateway.js +21 -0
  134. package/VNet/NetworkPeering.d.ts +7 -7
  135. package/VNet/NetworkPeering.js +29 -20
  136. package/VNet/PrivateDns.d.ts +8 -10
  137. package/VNet/PrivateDns.js +12 -14
  138. package/VNet/PrivateEndpoint.js +5 -2
  139. package/VNet/RouteTable.d.ts +7 -8
  140. package/VNet/RouteTable.js +6 -6
  141. package/VNet/SecurityGroup.d.ts +4 -4
  142. package/VNet/SecurityGroup.js +7 -3
  143. package/VNet/Subnet.d.ts +10 -7
  144. package/VNet/Subnet.js +4 -3
  145. package/VNet/VPNGateway.d.ts +13 -0
  146. package/VNet/VPNGateway.js +73 -0
  147. package/VNet/VirtualWAN.d.ts +7 -10
  148. package/VNet/VirtualWAN.js +1 -1
  149. package/VNet/Vnet.d.ts +29 -23
  150. package/VNet/Vnet.js +58 -121
  151. package/VNet/index.d.ts +17 -18
  152. package/VNet/index.js +41 -54
  153. package/VNet/types.d.ts +94 -0
  154. package/VNet/types.js +3 -0
  155. package/Web/types.d.ts +2 -134
  156. package/package.json +8 -8
  157. package/types.d.ts +22 -8
  158. package/z_tests/_tools/Mocks.js +12 -13
  159. package/Automation/AutoAccount.d.ts +0 -5
  160. package/Automation/AutoAccount.js +0 -18
  161. package/AzAd/Identities/AzDevOps.d.ts +0 -23
  162. package/AzAd/Identities/AzDevOps.js +0 -61
  163. package/AzAd/KeyVaultRoles.d.ts +0 -8
  164. package/AzAd/KeyVaultRoles.js +0 -53
  165. package/AzAd/ManagedIdentity.d.ts +0 -6
  166. package/AzAd/ManagedIdentity.js +0 -20
  167. package/AzAd/UserIdentity.d.ts +0 -5
  168. package/AzAd/UserIdentity.js +0 -12
  169. package/Common/Naming/AzureRegions.d.ts +0 -4
  170. package/Common/Naming/AzureRegions.js +0 -49
  171. package/KeyVault/VaultPermissions.d.ts +0 -27
  172. package/KeyVault/VaultPermissions.js +0 -226
  173. package/VNet/FirewallRules/types.d.ts +0 -20
  174. package/VNet/FirewallRules/types.js +0 -5
  175. package/VNet/NSGRules/AzADService.d.ts +0 -10
  176. package/VNet/NSGRules/AzADService.js +0 -45
@@ -1,303 +1,191 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const Location_1 = require("../../Common/Location");
4
- exports.default = ({ name, location, vnetAddressSpace, enableCloudPcRules = true, enableDeveloperResources = true, enableAzureResources = true, allowIpCheckApi = true, allowFullOutboundAddress, }) => {
5
- location = (0, Location_1.getLocation)(location);
6
- const networkRules = new Array();
7
- const applicationRules = new Array();
8
- if (allowFullOutboundAddress) {
9
- networkRules.push({
10
- ruleType: 'NetworkRule',
11
- name: 'allow-out-all',
12
- description: 'Allow out all',
13
- ipProtocols: ['TCP'],
14
- sourceAddresses: allowFullOutboundAddress,
15
- destinationAddresses: ['*'],
16
- destinationPorts: ['443'],
3
+ const AzureEnv_1 = require("../../Common/AzureEnv");
4
+ const FirewallPolicy_1 = require("../FirewallPolicy");
5
+ exports.default = ({ name = "cloud-pc", priority, subnetSpaces, allowsOffice365, allowsAzure, allowsAzDevOps, allowsK8sTools, allowIpCheckApi, allowsSearch, allowAllOutbound, }) => {
6
+ const netRules = new Array();
7
+ const appRules = new Array();
8
+ if (allowAllOutbound) {
9
+ netRules.push({
10
+ ruleType: "NetworkRule",
11
+ name: `${name}-net-allow-all-outbound`,
12
+ description: "CloudPc allows all outbound",
13
+ ipProtocols: ["TCP"],
14
+ sourceAddresses: subnetSpaces,
15
+ destinationAddresses: ["*"],
16
+ destinationPorts: ["443"],
17
17
  });
18
18
  }
19
- if (enableCloudPcRules) {
20
- networkRules.push({
21
- ruleType: 'NetworkRule',
22
- name: 'allow-AVD-traffic',
23
- description: 'AVD traffic',
24
- ipProtocols: ['TCP'],
25
- sourceAddresses: vnetAddressSpace,
26
- destinationAddresses: ['169.254.169.254', '168.63.129.16'],
27
- destinationPorts: ['80'],
28
- }, {
29
- ruleType: 'NetworkRule',
30
- name: 'allow-AVD-WA',
31
- description: 'AVD WA',
32
- ipProtocols: ['TCP'],
33
- sourceAddresses: vnetAddressSpace,
34
- destinationAddresses: ['23.102.135.246'],
35
- destinationPorts: ['1688'],
36
- }, {
37
- ruleType: 'NetworkRule',
38
- name: 'allow-time-sync',
39
- description: 'Win time sync',
40
- ipProtocols: ['UDP'],
41
- sourceAddresses: vnetAddressSpace,
42
- destinationFqdns: ['time.windows.com'],
43
- destinationPorts: ['123'],
44
- }, {
45
- ruleType: 'NetworkRule',
46
- name: 'allow-AzureDevOps',
47
- description: 'AzureDevOps',
48
- ipProtocols: ['TCP'],
49
- sourceAddresses: vnetAddressSpace,
50
- destinationAddresses: [
51
- '13.107.6.0/24',
52
- '13.107.9.0/24',
53
- '13.107.42.0/24',
54
- '13.107.43.0/24',
19
+ //Default PC Rules
20
+ appRules.push({
21
+ ruleType: "ApplicationRule",
22
+ name: `${name}-app-allow-fqdnTags`,
23
+ description: "Allows Windows Updates",
24
+ sourceAddresses: subnetSpaces,
25
+ fqdnTags: ["WindowsUpdate", "WindowsDiagnostics"],
26
+ protocols: [{ protocolType: "Https", port: 443 }],
27
+ });
28
+ if (allowsAzure) {
29
+ netRules.push({
30
+ ruleType: "NetworkRule",
31
+ name: `${name}-net-allows-azure`,
32
+ description: "Allows Cloud PC to access to Azure.",
33
+ ipProtocols: ["TCP", "UDP"],
34
+ sourceAddresses: subnetSpaces,
35
+ destinationAddresses: [`AzureCloud.${AzureEnv_1.currentRegionCode}`],
36
+ destinationPorts: ["443", "445", "22"],
37
+ });
38
+ netRules.push({
39
+ ruleType: "NetworkRule",
40
+ name: `${name}-net-allows-azure-all`,
41
+ description: "Allows Cloud PC to access to Azure.",
42
+ ipProtocols: ["TCP", "UDP"],
43
+ sourceAddresses: subnetSpaces,
44
+ destinationAddresses: [`AzureCloud`],
45
+ destinationPorts: ["443", "445", "22"],
46
+ });
47
+ appRules.push({
48
+ ruleType: "ApplicationRule",
49
+ name: `${name}-app-allow-azure-fqdnTags`,
50
+ description: "Allows Windows Updates",
51
+ sourceAddresses: subnetSpaces,
52
+ fqdnTags: [
53
+ "AzureBackup",
54
+ "AzureKubernetesService",
55
+ "AzureActiveDirectoryDomainServices",
55
56
  ],
56
- destinationPorts: ['443'],
57
- }, {
58
- ruleType: 'NetworkRule',
59
- name: 'allow-ServiceBus',
60
- description: 'ServiceBus',
61
- ipProtocols: ['TCP'],
62
- sourceAddresses: vnetAddressSpace,
63
- destinationFqdns: ['servicebus.windows.net'],
64
- destinationPorts: [
65
- '5671',
66
- '5672',
67
- '9350',
68
- '9351',
69
- '9352',
70
- '9353',
71
- '9354',
57
+ protocols: [{ protocolType: "Https", port: 443 }],
58
+ });
59
+ appRules.push({
60
+ ruleType: "ApplicationRule",
61
+ name: `${name}-app-allow-access-azure-portal`,
62
+ description: "Allows Ip Azure Portal",
63
+ sourceAddresses: subnetSpaces,
64
+ targetFqdns: [
65
+ "*.azure.com",
66
+ "*.azure.net",
67
+ "*.microsoftonline.com",
68
+ "*.msauth.net",
69
+ "*.msauthimages.net",
70
+ "*.msecnd.net",
71
+ "*.msftauth.net",
72
+ "*.msftauthimages.net",
72
73
  ],
73
- }, {
74
- ruleType: 'NetworkRule',
75
- name: 'allow-Azure',
76
- description: 'Allows Azure',
77
- ipProtocols: ['TCP'],
78
- sourceAddresses: vnetAddressSpace,
74
+ protocols: [{ protocolType: "Https", port: 443 }],
75
+ });
76
+ }
77
+ if (allowsAzDevOps) {
78
+ netRules.push({
79
+ ruleType: "NetworkRule",
80
+ name: `${name}-net-allow-AzureDevOps`,
81
+ description: "AzureDevOps",
82
+ ipProtocols: ["TCP"],
83
+ sourceAddresses: subnetSpaces,
79
84
  destinationAddresses: [
80
- `ApiManagement.SoutheastAsia`,
81
- `AzureCloud.SoutheastAsia`,
82
- `AzureContainerRegistry.SoutheastAsia`,
83
- `AzureCosmosDB.SoutheastAsia`,
84
- `AzureKeyVault.SoutheastAsia`,
85
- `EventHub.SoutheastAsia`,
86
- `MicrosoftContainerRegistry.SoutheastAsia`,
87
- `ServiceBus.SoutheastAsia`,
88
- `Storage.SoutheastAsia`,
85
+ "13.107.6.0/24",
86
+ "13.107.9.0/24",
87
+ "13.107.42.0/24",
88
+ "13.107.43.0/24",
89
89
  ],
90
- destinationPorts: ['443'],
91
- }, {
92
- ruleType: 'NetworkRule',
93
- name: 'allow-Azure-Db',
94
- description: 'Allows Azure Sql',
95
- ipProtocols: ['TCP'],
96
- sourceAddresses: vnetAddressSpace,
97
- destinationAddresses: [`Sql.SoutheastAsia`],
98
- destinationPorts: ['1433', '1434', '11000-11999', '14000-14999'],
99
- });
100
- applicationRules.push({
101
- ruleType: 'ApplicationRule',
102
- name: 'allow-AVD-vvd',
103
- description: 'WindowsVirtualDesktop traffic',
104
- sourceAddresses: allowFullOutboundAddress,
105
- fqdnTags: ['WindowsVirtualDesktop'],
106
- }, {
107
- ruleType: 'ApplicationRule',
108
- name: 'allow-AVD-Diagnostics',
109
- description: 'WindowsVirtualDesktop Diagnostics',
110
- sourceAddresses: allowFullOutboundAddress,
111
- //protocols: [{ protocolType: 'Https', port: 443 }],
112
- fqdnTags: ['WindowsDiagnostics'],
113
- }, {
114
- ruleType: 'ApplicationRule',
115
- name: 'allow-AVD-Update',
116
- description: 'WindowsVirtualDesktop Update',
117
- sourceAddresses: allowFullOutboundAddress,
118
- //protocols: [{ protocolType: 'Https', port: 443 }],
119
- fqdnTags: ['WindowsUpdate'],
120
- }, {
121
- ruleType: 'ApplicationRule',
122
- name: 'allow-AVD-times',
123
- description: 'Allow ADV Times',
124
- protocols: [{ protocolType: 'Https', port: 443 }],
125
- sourceAddresses: allowFullOutboundAddress,
126
- targetFqdns: ['*.core.windows.net', '*.servicebus.windows.net'],
90
+ destinationPorts: ["443"],
127
91
  });
128
- }
129
- if (enableDeveloperResources) {
130
- applicationRules.push({
131
- ruleType: 'ApplicationRule',
132
- name: 'allow-others-https',
133
- description: 'Allow others HTTPs',
134
- protocols: [{ protocolType: 'Https', port: 443 }],
135
- sourceAddresses: allowFullOutboundAddress,
92
+ appRules.push({
93
+ ruleType: "ApplicationRule",
94
+ name: `${name}-app-allow-azure-resources`,
95
+ description: "Allows Azure Resources",
96
+ protocols: [{ protocolType: "Https", port: 443 }],
97
+ sourceAddresses: subnetSpaces,
136
98
  targetFqdns: [
137
- '*.digicert.com',
138
- //Draw.io
139
- 'draw.io',
140
- 'draw.net',
141
- '*.draw.io',
142
- '*.draw.net',
143
- '*.diagrams.net',
144
- 'python.org',
145
- '*.pulumi.com',
146
- ],
147
- }, {
148
- ruleType: 'ApplicationRule',
149
- name: 'allow-others-http',
150
- description: 'Allow others HTTP',
151
- protocols: [{ protocolType: 'Http', port: 80 }],
152
- sourceAddresses: allowFullOutboundAddress,
153
- targetFqdns: ['*.digicert.com'],
154
- }, {
155
- ruleType: 'ApplicationRule',
156
- name: 'allow-choco',
157
- description: 'Allow choco',
158
- protocols: [
159
- { protocolType: 'Http', port: 80 },
160
- { protocolType: 'Https', port: 443 },
99
+ //Azure DevOps
100
+ "*.dev.azure.com",
101
+ "*.vsassets.io",
102
+ "*gallerycdn.vsassets.io",
103
+ "*vstmrblob.vsassets.io",
104
+ "aadcdn.msauth.net",
105
+ "aadcdn.msftauth.net",
106
+ "aex.dev.azure.com",
107
+ "aexprodea1.vsaex.visualstudio.com",
108
+ "amcdn.msftauth.net",
109
+ "amp.azure.net",
110
+ "app.vssps.dev.azure.com",
111
+ "app.vssps.visualstudio.com",
112
+ "*.vssps.visualstudio.com",
113
+ "azure.microsoft.com",
114
+ "azurecomcdn.azureedge.net",
115
+ "cdn.vsassets.io",
116
+ "dev.azure.com",
117
+ "go.microsoft.com",
118
+ "graph.microsoft.com",
119
+ "live.com",
120
+ "login.live.com",
121
+ "login.microsoftonline.com",
122
+ "management.azure.com",
123
+ "management.core.windows.net",
124
+ "microsoft.com",
125
+ "microsoftonline.com",
126
+ "static2.sharepointonline.com",
127
+ "visualstudio.com",
128
+ "vsrm.dev.azure.com",
129
+ "vstsagentpackage.azureedge.net",
130
+ "windows.net",
131
+ "login.microsoftonline.com",
132
+ "app.vssps.visualstudio.com",
133
+ "*.blob.core.windows.net",
161
134
  ],
162
- sourceAddresses: allowFullOutboundAddress,
163
- targetFqdns: ['*.chocolatey.org', 'chocolatey.org'],
164
135
  });
165
136
  }
166
- if (enableAzureResources) {
167
- applicationRules.push({
168
- ruleType: 'ApplicationRule',
169
- name: 'allow-azure-resources',
170
- description: 'Allows Azure Resources',
171
- protocols: [{ protocolType: 'Https', port: 443 }],
172
- sourceAddresses: allowFullOutboundAddress,
137
+ if (allowsK8sTools) {
138
+ appRules.push({
139
+ ruleType: "ApplicationRule",
140
+ name: `${name}-app-allow-k8s-lens`,
141
+ description: "Allows K8s Lens",
142
+ sourceAddresses: subnetSpaces,
173
143
  targetFqdns: [
174
- //AKS
175
- '*.hcp.southeastasia.azmk8s.io',
176
- 'dl.k8s.io',
177
- '*.googleapis.com',
178
- //Azure DevOps
179
- '*.dev.azure.com',
180
- '*.vsassets.io',
181
- '*gallerycdn.vsassets.io',
182
- '*vstmrblob.vsassets.io',
183
- 'aadcdn.msauth.net',
184
- 'aadcdn.msftauth.net',
185
- 'aex.dev.azure.com',
186
- 'aexprodea1.vsaex.visualstudio.com',
187
- 'amcdn.msftauth.net',
188
- 'amp.azure.net',
189
- 'app.vssps.dev.azure.com',
190
- 'app.vssps.visualstudio.com',
191
- '*.vssps.visualstudio.com',
192
- 'azure.microsoft.com',
193
- 'azurecomcdn.azureedge.net',
194
- 'cdn.vsassets.io',
195
- 'dev.azure.com',
196
- 'go.microsoft.com',
197
- 'graph.microsoft.com',
198
- 'live.com',
199
- 'login.live.com',
200
- 'login.microsoftonline.com',
201
- 'management.azure.com',
202
- 'management.core.windows.net',
203
- 'microsoft.com',
204
- 'microsoftonline.com',
205
- 'static2.sharepointonline.com',
206
- 'visualstudio.com',
207
- 'vsrm.dev.azure.com',
208
- 'vstsagentpackage.azureedge.net',
209
- 'windows.net',
210
- 'login.microsoftonline.com',
211
- 'app.vssps.visualstudio.com',
212
- 'transwap.visualstudio.com',
213
- '*.blob.core.windows.net',
214
- 'transwap.vsrm.visualstudio.com',
215
- 'transwap.vstmr.visualstudio.com',
216
- 'transwap.pkgs.visualstudio.com',
217
- 'transwap.vssps.visualstudio.com',
218
- //Office 365
219
- 'transwapo365-my.sharepoint.com',
220
- 'admin.microsoft.com',
221
- '*.office365.com',
222
- '*.outlook.com',
223
- '*.office.com',
224
- '*.outlook.office.com',
225
- 'attachments.office.net',
226
- '*.protection.outlook.com',
227
- '*.mail.protection.outlook.com',
228
- '*.officeapps.live.com',
229
- '*.online.office.com',
230
- 'office.live.com',
231
- '*.aria.microsoft.com',
232
- '*.events.data.microsoft.com',
233
- '*.o365weve.com',
234
- 'amp.azure.net',
235
- 'appsforoffice.microsoft.com',
236
- 'assets.onestore.ms',
237
- 'auth.gfx.ms',
238
- 'c1.microsoft.com',
239
- 'contentstorage.osi.office.net',
240
- 'dgps.support.microsoft.com',
241
- 'docs.microsoft.com',
242
- 'msdn.microsoft.com',
243
- 'platform.linkedin.com',
244
- 'prod.msocdn.com',
245
- 'shellprod.msocdn.com',
246
- '*.cdn.office.net',
247
- 'support.content.office.net',
248
- 'support.microsoft.com',
249
- 'technet.microsoft.com',
250
- 'videocontent.osi.office.net',
251
- 'videoplayercdn.osi.office.net',
252
- 'identity.nel.measure.office.net',
253
- //Azure
254
- '*.login.microsoftonline.com',
255
- '*.aadcdn.microsoftonline-p.com',
256
- '*.aka.ms',
257
- '*.applicationinsights.io',
258
- '*.azure.com',
259
- '*.azure.net',
260
- '*.azure-api.net',
261
- '*.azuredatalakestore.net',
262
- '*.azureedge.net',
263
- '*.loganalytics.io',
264
- '*.microsoft.com',
265
- '*.microsoftonline.com',
266
- '*.microsoftonline-p.com',
267
- '*.msauth.net',
268
- '*.msftauth.net',
269
- '*.trafficmanager.net',
270
- '*.visualstudio.com',
271
- '*.windows.net',
272
- '*.windows-int.net',
273
- '*.wns.windows.com',
274
- '*.activity.windows.com',
275
- '*.mp.microsoft.com',
276
- //PowerBI
277
- '*.powerbi.com',
278
- '*.analysis.windows.net',
279
- '*.frontend.clouddatahub.net',
280
- '*.msftncsi.com',
281
- '*.dc.services.visualstudio.com',
144
+ "*.k8slens.dev",
145
+ "github.com",
146
+ "*.githubassets.com",
147
+ "*.githubusercontent.com",
148
+ "*.googleapis.com",
149
+ "aka.ms",
150
+ "*.chocolatey.org",
282
151
  ],
152
+ protocols: [{ protocolType: "Https", port: 443 }],
153
+ });
154
+ }
155
+ if (allowsOffice365) {
156
+ appRules.push({
157
+ ruleType: "ApplicationRule",
158
+ name: `${name}-app-allow-office365`,
159
+ description: "Allows Office365",
160
+ sourceAddresses: subnetSpaces,
161
+ fqdnTags: ["Office365", "Office365.SharePoint"],
162
+ protocols: [{ protocolType: "Https", port: 443 }],
163
+ });
164
+ }
165
+ if (allowsSearch) {
166
+ appRules.push({
167
+ ruleType: "ApplicationRule",
168
+ name: `${name}-app-allow-search-engines`,
169
+ description: "Allows Search Engines",
170
+ sourceAddresses: subnetSpaces,
171
+ targetFqdns: ["google.com", "www.google.com", "bing.com", "www.bing.com"],
172
+ protocols: [{ protocolType: "Https", port: 443 }],
283
173
  });
284
174
  }
285
175
  if (allowIpCheckApi) {
286
- applicationRules.push({
287
- ruleType: 'ApplicationRule',
288
- name: 'allow-ip-checks',
289
- description: 'Allows Ip Checks',
290
- protocols: [{ protocolType: 'Https', port: 443 }],
291
- sourceAddresses: allowFullOutboundAddress,
292
- targetFqdns: ['*.ipify.org', '*.myip.com', 'ip.me'],
176
+ appRules.push({
177
+ ruleType: "ApplicationRule",
178
+ name: `${name}-app-allow-ip-checks`,
179
+ description: "Allows Ip Checks",
180
+ sourceAddresses: subnetSpaces,
181
+ targetFqdns: ["ip.me", "ifconfig.me", "*.ifconfig.me"],
182
+ protocols: [{ protocolType: "Https", port: 443 }],
293
183
  });
294
184
  }
295
- return [
296
- {
297
- name,
298
- networkRules,
299
- applicationRules,
300
- },
301
- ];
185
+ return (0, FirewallPolicy_1.FirewallPolicyGroup)({
186
+ policy: { name: "cloud-pc-firewall-policy", netRules, appRules },
187
+ priority,
188
+ action: "Allow",
189
+ });
302
190
  };
303
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRQQ0ZpcmV3YWxsUG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1ZOZXQvRmlyZXdhbGxQb2xpY2llcy9DbG91ZFBDRmlyZXdhbGxQb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxvREFBb0Q7QUFhcEQsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUFHLElBQUksRUFDekIsd0JBQXdCLEdBQUcsSUFBSSxFQUMvQixvQkFBb0IsR0FBRyxJQUFJLEVBQzNCLGVBQWUsR0FBRyxJQUFJLEVBQ3RCLHdCQUF3QixHQUNsQixFQUE0QixFQUFFO0lBQ3BDLFFBQVEsR0FBRyxJQUFBLHNCQUFXLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFFakMsTUFBTSxZQUFZLEdBQUcsSUFBSSxLQUFLLEVBQXlDLENBQUM7SUFDeEUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEtBQUssRUFFL0IsQ0FBQztJQUVKLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ2hCLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLElBQUksRUFBRSxlQUFlO1lBQ3JCLFdBQVcsRUFBRSxlQUFlO1lBQzVCLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNwQixlQUFlLEVBQUUsd0JBQXdCO1lBQ3pDLG9CQUFvQixFQUFFLENBQUMsR0FBRyxDQUFDO1lBQzNCLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDdkIsWUFBWSxDQUFDLElBQUksQ0FDZjtZQUNFLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLElBQUksRUFBRSxtQkFBbUI7WUFDekIsV0FBVyxFQUFFLGFBQWE7WUFDMUIsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3BCLGVBQWUsRUFB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
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRQQ0ZpcmV3YWxsUG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1ZOZXQvRmlyZXdhbGxQb2xpY2llcy9DbG91ZFBDRmlyZXdhbGxQb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxvREFBMEQ7QUFNMUQsc0RBQXdEO0FBZXhELGtCQUFlLENBQUMsRUFDZCxJQUFJLEdBQUcsVUFBVSxFQUNqQixRQUFRLEVBQ1IsWUFBWSxFQUNaLGVBQWUsRUFDZixXQUFXLEVBQ1gsY0FBYyxFQUNkLGNBQWMsRUFDZCxlQUFlLEVBQ2YsWUFBWSxFQUNaLGdCQUFnQixHQUNWLEVBQXVDLEVBQUU7SUFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxLQUFLLEVBQTBCLENBQUM7SUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxLQUFLLEVBQThCLENBQUM7SUFFekQsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3JCLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDWixRQUFRLEVBQUUsYUFBYTtZQUN2QixJQUFJLEVBQUUsR0FBRyxJQUFJLHlCQUF5QjtZQUN0QyxXQUFXLEVBQUUsNkJBQTZCO1lBQzFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNwQixlQUFlLEVBQUUsWUFBWTtZQUM3QixvQkFBb0IsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUMzQixnQkFBZ0IsRUFBRSxDQUFDLEtBQUssQ0FBQztTQUMxQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDWixRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLElBQUksRUFBRSxHQUFHLElBQUkscUJBQXFCO1FBQ2xDLFdBQVcsRUFBRSx3QkFBd0I7UUFDckMsZUFBZSxFQUFFLFlBQVk7UUFDN0IsUUFBUSxFQUFFLENBQUMsZUFBZSxFQUFFLG9CQUFvQixDQUFDO1FBQ2pELFNBQVMsRUFBRSxDQUFDLEVBQUUsWUFB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
@@ -0,0 +1,3 @@
1
+ import { FirewallPolicyRuleCollectionResults } from "../types";
2
+ declare const _default: (priority?: number) => FirewallPolicyRuleCollectionResults;
3
+ export default _default;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const FirewallPolicy_1 = require("../FirewallPolicy");
4
+ exports.default = (priority = 6001) => {
5
+ const netRules = new Array();
6
+ const appRules = new Array();
7
+ appRules.push({
8
+ ruleType: "ApplicationRule",
9
+ name: "default-deny-everything-else",
10
+ description: "Default Deny Everything Else",
11
+ protocols: [
12
+ { protocolType: "Http", port: 80 },
13
+ { protocolType: "Https", port: 443 },
14
+ { protocolType: "Mssql", port: 1433 },
15
+ ],
16
+ sourceAddresses: ["*"],
17
+ targetFqdns: ["*"],
18
+ });
19
+ return (0, FirewallPolicy_1.FirewallPolicyGroup)({
20
+ policy: { name: "default-firewall-policy", netRules, appRules },
21
+ priority,
22
+ action: "Deny",
23
+ });
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEZpcmV3YWxsUG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1ZOZXQvRmlyZXdhbGxQb2xpY2llcy9EZWZhdWx0RmlyZXdhbGxQb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxzREFBd0Q7QUFFeEQsa0JBQWUsQ0FDYixXQUFtQixJQUFJLEVBQ2MsRUFBRTtJQUN2QyxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBMEIsQ0FBQztJQUNyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBOEIsQ0FBQztJQUV6RCxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ1osUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixJQUFJLEVBQUUsOEJBQThCO1FBQ3BDLFdBQVcsRUFBRSw4QkFBOEI7UUFDM0MsU0FBUyxFQUFFO1lBQ1QsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDbEMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7WUFDcEMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7U0FDdEM7UUFDRCxlQUFlLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDdEIsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDO0tBQ25CLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBQSxvQ0FBbUIsRUFBQztRQUN6QixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtRQUMvRCxRQUFRO1FBQ1IsTUFBTSxFQUFFLE1BQU07S0FDZixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMifQ==
@@ -0,0 +1,4 @@
1
+ import AksFirewallPolicy from "./AksFirewallPolicy";
2
+ import CloudPCFirewallPolicy from "./CloudPCFirewallPolicy";
3
+ import DefaultFirewallPolicy from "./DefaultFirewallPolicy";
4
+ export { AksFirewallPolicy, CloudPCFirewallPolicy, DefaultFirewallPolicy };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultFirewallPolicy = exports.CloudPCFirewallPolicy = exports.AksFirewallPolicy = void 0;
4
+ const AksFirewallPolicy_1 = require("./AksFirewallPolicy");
5
+ exports.AksFirewallPolicy = AksFirewallPolicy_1.default;
6
+ const CloudPCFirewallPolicy_1 = require("./CloudPCFirewallPolicy");
7
+ exports.CloudPCFirewallPolicy = CloudPCFirewallPolicy_1.default;
8
+ const DefaultFirewallPolicy_1 = require("./DefaultFirewallPolicy");
9
+ exports.DefaultFirewallPolicy = DefaultFirewallPolicy_1.default;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvVk5ldC9GaXJld2FsbFBvbGljaWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUFvRDtBQUkzQyw0QkFKRiwyQkFBaUIsQ0FJRTtBQUgxQixtRUFBNEQ7QUFHaEMsZ0NBSHJCLCtCQUFxQixDQUdxQjtBQUZqRCxtRUFBNEQ7QUFFVCxnQ0FGNUMsK0JBQXFCLENBRTRDIn0=
@@ -1,17 +1,15 @@
1
- import { input as inputs, enums } from '@pulumi/azure-native/types';
2
- import { Input, Resource } from '@pulumi/pulumi';
3
- import { BasicResourceArgs, DefaultResourceArgs } from '../types';
4
- import { FirewallRuleProps } from './FirewallRules/types';
5
- export declare const denyOtherAppRule: inputs.network.ApplicationRuleArgs;
6
- interface PolicyRulesProps extends BasicResourceArgs {
1
+ import { enums, input as inputs } from "@pulumi/azure-native/types";
2
+ import { Input, Resource } from "@pulumi/pulumi";
3
+ import { BasicResourceArgs, DefaultResourceArgs, ResourceGroupInfo } from "../types";
4
+ import { FirewallPolicyResults, FirewallPolicyRuleCollectionResults } from "./types";
5
+ interface PolicyRulesProps {
6
+ group: ResourceGroupInfo;
7
7
  firewallPolicyName: Input<string>;
8
- priority?: number;
9
- rules: Array<FirewallRuleProps>;
10
- enableDenyOtherAppRule?: boolean;
8
+ rules: FirewallPolicyRuleCollectionResults[];
11
9
  dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
12
10
  }
13
- export declare const linkRulesToPolicy: ({ firewallPolicyName, priority, group, name, rules, enableDenyOtherAppRule, dependsOn, }: PolicyRulesProps) => import("@pulumi/azure-native/network/firewallPolicyRuleCollectionGroup").FirewallPolicyRuleCollectionGroup;
14
- interface Props extends BasicResourceArgs, Omit<DefaultResourceArgs, 'monitoring'>, Omit<PolicyRulesProps, 'firewallPolicyName' | 'rules'> {
11
+ export declare const linkRulesToPolicy: ({ firewallPolicyName, group, rules, dependsOn, }: PolicyRulesProps) => import("@pulumi/azure-native/network/firewallPolicyRuleCollectionGroup").FirewallPolicyRuleCollectionGroup[];
12
+ interface Props extends BasicResourceArgs, Omit<DefaultResourceArgs, "monitoring">, Omit<PolicyRulesProps, "firewallPolicyName" | "rules"> {
15
13
  basePolicyId?: Input<string>;
16
14
  dnsSettings?: Input<inputs.network.DnsSettingsArgs>;
17
15
  transportSecurityCA?: inputs.network.FirewallPolicyCertificateAuthorityArgs;
@@ -24,5 +22,10 @@ interface Props extends BasicResourceArgs, Omit<DefaultResourceArgs, 'monitoring
24
22
  }>;
25
23
  };
26
24
  }
25
+ export declare const FirewallPolicyGroup: ({ policy, priority, action, }: {
26
+ policy: FirewallPolicyResults;
27
+ priority: number;
28
+ action?: enums.network.FirewallPolicyFilterRuleCollectionActionType;
29
+ }) => FirewallPolicyRuleCollectionResults;
27
30
  declare const _default: ({ name, group, basePolicyId, dnsSettings, transportSecurityCA, insights, sku, dependsOn, }: Props) => import("@pulumi/azure-native/network/firewallPolicy").FirewallPolicy;
28
31
  export default _default;