Skip to content

Commit 34f9c3b

Browse files
AkhtarAmirAkhtarAmir
authored andcommitted
add changes
1 parent 15f1765 commit 34f9c3b

File tree

3 files changed

+119
-123
lines changed

3 files changed

+119
-123
lines changed

helpers/azure/api.js

Lines changed: 112 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -45,131 +45,131 @@ These fields should be according to the user and product manager, what they want
4545

4646
var serviceMap = {
4747
'Redis Cache':
48-
{
49-
enabled: true, isSingleSource: true, InvAsset: 'redisCaches', InvService: 'redisCaches',
50-
InvResourceCategory: 'cloud_resources', InvResourceType: 'Redis Cache', BridgeServiceName: 'rediscaches',
51-
BridgePluginCategoryName: 'Redis Cache', BridgeProvider: 'Azure', BridgeCall: 'listBySubscription',
52-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'Redis',
53-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Redis Cache',
54-
BridgeCollectionService: 'rediscaches', DataIdentifier: 'data',
55-
},
48+
{
49+
enabled: true, isSingleSource: true, InvAsset: 'redisCaches', InvService: 'redisCaches',
50+
InvResourceCategory: 'cloud_resources', InvResourceType: 'Redis Cache', BridgeServiceName: 'rediscaches',
51+
BridgePluginCategoryName: 'Redis Cache', BridgeProvider: 'Azure', BridgeCall: 'listBySubscription',
52+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'Redis',
53+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Redis Cache',
54+
BridgeCollectionService: 'rediscaches', DataIdentifier: 'data',
55+
},
5656
'CDN Profiles':
57-
{
58-
enabled: true, isSingleSource: true, InvAsset: 'cdnProfiles', InvService: 'cdnProfiles',
59-
InvResourceCategory: 'cloud_resources', InvResourceType: 'CDN_Profiles', BridgeServiceName: 'profiles',
60-
BridgePluginCategoryName: 'CDN Profiles', BridgeProvider: 'Azure', BridgeCall: 'list',
61-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'profiles',
62-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'CDN Profiles',
63-
BridgeCollectionService: 'profiles', DataIdentifier: 'data',
64-
},
57+
{
58+
enabled: true, isSingleSource: true, InvAsset: 'cdnProfiles', InvService: 'cdnProfiles',
59+
InvResourceCategory: 'cloud_resources', InvResourceType: 'CDN_Profiles', BridgeServiceName: 'profiles',
60+
BridgePluginCategoryName: 'CDN Profiles', BridgeProvider: 'Azure', BridgeCall: 'list',
61+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'profiles',
62+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'CDN Profiles',
63+
BridgeCollectionService: 'profiles', DataIdentifier: 'data',
64+
},
6565
'Cosmos DB':
66-
{
67-
enabled: true, isSingleSource: true, InvAsset: 'cosmosdb', InvService: 'cosmosDB',
68-
InvResourceCategory: 'database', InvResourceType: 'cosmos_DB', BridgeServiceName: 'databaseaccounts',
69-
BridgePluginCategoryName: 'Cosmos DB', BridgeProvider: 'Azure', BridgeCall: 'list',
70-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'databaseAccounts',
71-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Cosmos DB',
72-
BridgeCollectionService: 'databaseaccounts', DataIdentifier: 'data',
73-
},
66+
{
67+
enabled: true, isSingleSource: true, InvAsset: 'cosmosdb', InvService: 'cosmosDB',
68+
InvResourceCategory: 'database', InvResourceType: 'cosmos_DB', BridgeServiceName: 'databaseaccounts',
69+
BridgePluginCategoryName: 'Cosmos DB', BridgeProvider: 'Azure', BridgeCall: 'list',
70+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'databaseAccounts',
71+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Cosmos DB',
72+
BridgeCollectionService: 'databaseaccounts', DataIdentifier: 'data',
73+
},
7474
'Key Vaults':
75-
{
76-
enabled: true, isSingleSource: true, InvAsset: 'vaults', InvService: 'keyVaults',
77-
InvResourceCategory: 'cloud_resources', InvResourceType: 'key vaults', BridgeServiceName: 'vaults',
78-
BridgePluginCategoryName: 'Key Vaults', BridgeProvider: 'Azure', BridgeCall: 'list',
79-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'vaults',
80-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Key Vaults',
81-
BridgeCollectionService: 'vaults', DataIdentifier: 'data',
82-
},
75+
{
76+
enabled: true, isSingleSource: true, InvAsset: 'vaults', InvService: 'keyVaults',
77+
InvResourceCategory: 'cloud_resources', InvResourceType: 'key vaults', BridgeServiceName: 'vaults',
78+
BridgePluginCategoryName: 'Key Vaults', BridgeProvider: 'Azure', BridgeCall: 'list',
79+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'vaults',
80+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Key Vaults',
81+
BridgeCollectionService: 'vaults', DataIdentifier: 'data',
82+
},
8383
'Load Balancer':
84-
{
85-
enabled: true, isSingleSource: true, InvAsset: 'loadBalancer', InvService: 'loadBalancer',
86-
InvResourceCategory: 'cloud_resources', InvResourceType: 'load_balancer', BridgeServiceName: 'loadbalancers',
87-
BridgePluginCategoryName: 'Load Balancer', BridgeProvider: 'Azure', BridgeCall: 'listAll',
88-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'loadBalancers',
89-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Load Balancer',
90-
BridgeCollectionService: 'loadbalancers', DataIdentifier: 'data',
91-
},
84+
{
85+
enabled: true, isSingleSource: true, InvAsset: 'loadBalancer', InvService: 'loadBalancer',
86+
InvResourceCategory: 'cloud_resources', InvResourceType: 'load_balancer', BridgeServiceName: 'loadbalancers',
87+
BridgePluginCategoryName: 'Load Balancer', BridgeProvider: 'Azure', BridgeCall: 'listAll',
88+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'loadBalancers',
89+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Load Balancer',
90+
BridgeCollectionService: 'loadbalancers', DataIdentifier: 'data',
91+
},
9292
'Log Alerts':
93-
{
94-
enabled: true, isSingleSource: true, InvAsset: 'logAlerts', InvService: 'logAlerts',
95-
InvResourceCategory: 'cloud_resources', InvResourceType: 'log alerts', BridgeServiceName: 'activitylogalerts',
96-
BridgePluginCategoryName: 'Log Alerts', BridgeProvider: 'Azure', BridgeCall: 'listBySubscriptionId',
97-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'activityLogAlerts',
98-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Log Alerts',
99-
BridgeCollectionService: 'activitylogalerts', DataIdentifier: 'data',
100-
},
93+
{
94+
enabled: true, isSingleSource: true, InvAsset: 'logAlerts', InvService: 'logAlerts',
95+
InvResourceCategory: 'cloud_resources', InvResourceType: 'log alerts', BridgeServiceName: 'activitylogalerts',
96+
BridgePluginCategoryName: 'Log Alerts', BridgeProvider: 'Azure', BridgeCall: 'listBySubscriptionId',
97+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'activityLogAlerts',
98+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Log Alerts',
99+
BridgeCollectionService: 'activitylogalerts', DataIdentifier: 'data',
100+
},
101101
'Network Watcher':
102-
{
103-
enabled: true, isSingleSource: true, InvAsset: 'networkWatcher', InvService: 'networkWatcher',
104-
InvResourceCategory: 'cloud_resources', InvResourceType: 'network_watcher', BridgeServiceName: 'networkwatchers',
105-
BridgePluginCategoryName: 'Network Watcher', BridgeProvider: 'Azure', BridgeCall: 'listAll',
106-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'networkWatchers',
107-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Network Watcher',
108-
BridgeCollectionService: 'networkwatchers', DataIdentifier: 'data',
109-
},
102+
{
103+
enabled: true, isSingleSource: true, InvAsset: 'networkWatcher', InvService: 'networkWatcher',
104+
InvResourceCategory: 'cloud_resources', InvResourceType: 'network_watcher', BridgeServiceName: 'networkwatchers',
105+
BridgePluginCategoryName: 'Network Watcher', BridgeProvider: 'Azure', BridgeCall: 'listAll',
106+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'networkWatchers',
107+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Network Watcher',
108+
BridgeCollectionService: 'networkwatchers', DataIdentifier: 'data',
109+
},
110110
'Azure Policy':
111-
{
112-
enabled: true, isSingleSource: true, InvAsset: 'azurePolicy', InvService: 'azurePolicy',
113-
InvResourceCategory: 'cloud_resources', InvResourceType: 'azure_policy', BridgeServiceName: 'policyassignments',
114-
BridgePluginCategoryName: 'Azure Policy', BridgeProvider: 'Azure', BridgeCall: 'list',
115-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'policyAssignments',
116-
BridgeResourceNameIdentifier: 'displayName', BridgeExecutionService: 'Azure Policy',
117-
BridgeCollectionService: 'policyassignments', DataIdentifier: 'data',
118-
},
111+
{
112+
enabled: true, isSingleSource: true, InvAsset: 'azurePolicy', InvService: 'azurePolicy',
113+
InvResourceCategory: 'cloud_resources', InvResourceType: 'azure_policy', BridgeServiceName: 'policyassignments',
114+
BridgePluginCategoryName: 'Azure Policy', BridgeProvider: 'Azure', BridgeCall: 'list',
115+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'policyAssignments',
116+
BridgeResourceNameIdentifier: 'displayName', BridgeExecutionService: 'Azure Policy',
117+
BridgeCollectionService: 'policyassignments', DataIdentifier: 'data',
118+
},
119119
'Virtual Networks':
120-
{
121-
enabled: true, isSingleSource: true, InvAsset: 'virtual_network', InvService: 'virtual_network',
122-
InvResourceCategory: 'cloud_resources', InvResourceType: 'Virtual Network', BridgeServiceName: 'virtualnetworks',
123-
BridgePluginCategoryName: 'Virtual Networks', BridgeProvider: 'Azure', BridgeCall: 'listAll',
124-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'virtualNetworks',
125-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Virtual Networks',
126-
BridgeCollectionService: 'virtualnetworks', DataIdentifier: 'data',
127-
},
120+
{
121+
enabled: true, isSingleSource: true, InvAsset: 'virtual_network', InvService: 'virtual_network',
122+
InvResourceCategory: 'cloud_resources', InvResourceType: 'Virtual Network', BridgeServiceName: 'virtualnetworks',
123+
BridgePluginCategoryName: 'Virtual Networks', BridgeProvider: 'Azure', BridgeCall: 'listAll',
124+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'virtualNetworks',
125+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Virtual Networks',
126+
BridgeCollectionService: 'virtualnetworks', DataIdentifier: 'data',
127+
},
128128
'Queue Service':
129-
{
130-
enabled: true, isSingleSource: true, InvAsset: 'queueService', InvService: 'queueService',
131-
InvResourceCategory: 'storage', InvResourceType: 'queue_service', BridgeServiceName: 'queueservice',
132-
BridgePluginCategoryName: 'Queue Service', BridgeProvider: 'Azure', BridgeCall: 'getQueueAcl',
133-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'queueService',
134-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Queue Service',
135-
BridgeCollectionService: 'queueservice', DataIdentifier: 'data',
136-
},
129+
{
130+
enabled: true, isSingleSource: true, InvAsset: 'queueService', InvService: 'queueService',
131+
InvResourceCategory: 'storage', InvResourceType: 'queue_service', BridgeServiceName: 'queueservice',
132+
BridgePluginCategoryName: 'Queue Service', BridgeProvider: 'Azure', BridgeCall: 'getQueueAcl',
133+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'queueService',
134+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Queue Service',
135+
BridgeCollectionService: 'queueservice', DataIdentifier: 'data',
136+
},
137137
'Table Service':
138-
{
139-
enabled: true, isSingleSource: true, InvAsset: 'tableService', InvService: 'tableService',
140-
InvResourceCategory: 'storage', InvResourceType: 'table_service', BridgeServiceName: 'tableservice',
141-
BridgePluginCategoryName: 'Table Service', BridgeProvider: 'Azure', BridgeCall: 'getTableAcl',
142-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'tableService',
143-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Table Service',
144-
BridgeCollectionService: 'tableservice', DataIdentifier: 'data',
145-
},
138+
{
139+
enabled: true, isSingleSource: true, InvAsset: 'tableService', InvService: 'tableService',
140+
InvResourceCategory: 'storage', InvResourceType: 'table_service', BridgeServiceName: 'tableservice',
141+
BridgePluginCategoryName: 'Table Service', BridgeProvider: 'Azure', BridgeCall: 'getTableAcl',
142+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'tableService',
143+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'Table Service',
144+
BridgeCollectionService: 'tableservice', DataIdentifier: 'data',
145+
},
146146
'File Service':
147-
{
148-
enabled: true, isSingleSource: true, InvAsset: 'fileService', InvService: 'fileService',
149-
InvResourceCategory: 'storage', InvResourceType: 'file_service', BridgeServiceName: 'fileservice',
150-
BridgePluginCategoryName: 'File Service', BridgeProvider: 'Azure', BridgeCall: 'listSharesSegmented',
151-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'fileService',
152-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'File Service',
153-
BridgeCollectionService: 'fileservice', DataIdentifier: 'data',
154-
},
147+
{
148+
enabled: true, isSingleSource: true, InvAsset: 'fileService', InvService: 'fileService',
149+
InvResourceCategory: 'storage', InvResourceType: 'file_service', BridgeServiceName: 'fileservice',
150+
BridgePluginCategoryName: 'File Service', BridgeProvider: 'Azure', BridgeCall: 'listSharesSegmented',
151+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'fileService',
152+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'File Service',
153+
BridgeCollectionService: 'fileservice', DataIdentifier: 'data',
154+
},
155155
'SQL Databases':
156-
{
157-
enabled: true, isSingleSource: true, InvAsset: 'database', InvService: 'sql',
158-
InvResourceCategory: 'database', InvResourceType: 'sql_database', BridgeServiceName: 'databases',
159-
BridgePluginCategoryName: 'SQL Databases', BridgeProvider: 'Azure', BridgeCall: 'listByServer',
160-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'databases',
161-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'SQL Databases',
162-
BridgeCollectionService: 'databases', DataIdentifier: 'data',
163-
},
156+
{
157+
enabled: true, isSingleSource: true, InvAsset: 'database', InvService: 'sql',
158+
InvResourceCategory: 'database', InvResourceType: 'sql_database', BridgeServiceName: 'databases',
159+
BridgePluginCategoryName: 'SQL Databases', BridgeProvider: 'Azure', BridgeCall: 'listByServer',
160+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'databases',
161+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'SQL Databases',
162+
BridgeCollectionService: 'databases', DataIdentifier: 'data',
163+
},
164164
'AI & ML':
165-
{
166-
enabled: true, isSingleSource: true, InvAsset: 'account', InvService: 'openAI',
167-
InvResourceCategory: 'ai&ml', InvResourceType: 'OpenAI Accounts', BridgeProvider: 'Azure',
168-
BridgeServiceName: 'openAI', BridgePluginCategoryName: 'AI & ML',
169-
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'accounts',
170-
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'AI & ML',
171-
BridgeCollectionService: 'openai', BridgeCall: 'listAccounts', DataIdentifier: 'data',
172-
},
165+
{
166+
enabled: true, isSingleSource: true, InvAsset: 'account', InvService: 'openAI',
167+
InvResourceCategory: 'ai&ml', InvResourceType: 'OpenAI Accounts', BridgeProvider: 'Azure',
168+
BridgeServiceName: 'openAI', BridgePluginCategoryName: 'AI & ML',
169+
BridgeArnIdentifier: '', BridgeIdTemplate: '', BridgeResourceType: 'accounts',
170+
BridgeResourceNameIdentifier: 'name', BridgeExecutionService: 'AI & ML',
171+
BridgeCollectionService: 'openai', BridgeCall: 'listAccounts', DataIdentifier: 'data',
172+
},
173173
};
174174

175175
// Standard calls that contain top-level operations

plugins/azure/eventhub/eventHubPublicAccess.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ module.exports = {
1414
realtime_triggers: ['microsofteventhub:namespaces:write', 'microsofteventhub:namespaces:delete', 'microsofteventhub:namespaces:networkrulesets:write'],
1515
settings: {
1616
check_selected_networks: {
17-
name: 'Check Selected Networks',
18-
description: 'Whether the IP addresses are configured',
17+
name: 'Evaluate Selected Networks',
18+
description: 'Checks if specific IP addresses or virtual networks are set to restrict Event Hub access.',
1919
regex: '^(true|false)$',
2020
default: false,
2121
}

plugins/azure/eventhub/eventHubPublicAccess.spec.js

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
var expect = require("chai").expect;
2-
var eventHubPublicAccess = require("./eventHubPublicAccess");
1+
var expect = require('chai').expect;
2+
var eventHubPublicAccess = require('./eventHubPublicAccess');
33

44
const eventHubs = [
55
{
@@ -330,19 +330,16 @@ describe("eventHubPublicAccess", function () {
330330
const callback = (err, results) => {
331331
expect(results.length).to.equal(3);
332332

333-
// First result: Basic tier (should pass)
334333
expect(results[0].status).to.equal(0);
335334
expect(results[0].message).to.include(
336335
"Event Hubs namespace tier is basic"
337336
);
338337

339-
// Second result: Enabled with no IP rules when check_selected_networks is true (should pass)
340338
expect(results[1].status).to.equal(0);
341339
expect(results[1].message).to.include(
342340
"Event Hubs namespace is not publicly accessible"
343341
);
344342

345-
// Third result: Enabled with IP rules when check_selected_networks is true (should fail)
346343
expect(results[2].status).to.equal(2);
347344
expect(results[2].message).to.include(
348345
"Event Hubs namespace is publicly accessible"
@@ -351,23 +348,22 @@ describe("eventHubPublicAccess", function () {
351348
done();
352349
};
353350

354-
// Mix of different event hubs with network rule sets
355351
const mixedCache = {
356352
eventHub: {
357353
listEventHub: {
358354
eastus: {
359-
data: [eventHubs[2], eventHubs[0], eventHubs[3]], // basic tier, disabled, enabled with IP rules
355+
data: [eventHubs[2], eventHubs[0], eventHubs[3]],
360356
},
361357
},
362358
listNetworkRuleSet: {
363359
[eventHubs[0].id]: {
364360
eastus: {
365-
data: networkRuleSets[1], // no IP rules
361+
data: networkRuleSets[1],
366362
},
367363
},
368364
[eventHubs[3].id]: {
369365
eastus: {
370-
data: networkRuleSets[0], // with IP rules
366+
data: networkRuleSets[0],
371367
},
372368
},
373369
},

0 commit comments

Comments
 (0)