Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
b179ebf
feat(azure): Support missing storageBlob and storageContainer services
m-pizarro Jun 6, 2023
41bffd4
feat(azure): Add missing SQL Server services
m-pizarro Jun 6, 2023
8b45320
feat: Exposed containersIds for cosmosdb account
Jun 6, 2023
07167c5
Merge pull request #72 from cloudgraphdev/feature/EP-3217-support-azu…
m-pizarro Jun 6, 2023
81db5ad
Merge pull request #73 from cloudgraphdev/feature/EP-3218-support-mis…
m-pizarro Jun 6, 2023
fcdd377
chore(release): 0.67.0-alpha.1
autocloud-deploy-bot Jun 6, 2023
92e8a38
Merge pull request #74 from cloudgraphdev/feat/EP-3208
Jun 6, 2023
cde0c79
fix: Added missing attribute for cosmosdb schema
Jun 6, 2023
5f4df54
Merge pull request #75 from cloudgraphdev/fix/cosmos-db-schema
Jun 6, 2023
bf93510
chore(release): 0.67.0-alpha.2
autocloud-deploy-bot Jun 6, 2023
90131c8
feat(azure): add missing mySQL Server services
m-pizarro Jun 6, 2023
8aeff96
feat(azure): Add missing postgreSql server services
m-pizarro Jun 7, 2023
a8fc834
Merge pull request #77 from cloudgraphdev/feature/EP-3223-add-missing…
m-pizarro Jun 7, 2023
dd63007
chore(release): 0.67.0-alpha.3
autocloud-deploy-bot Jun 7, 2023
83cbdd8
feat: Fetched records for private dns
Jun 7, 2023
414ceec
feat: Fetched virtual network links for private zone
Jun 7, 2023
5573e8e
feat(azure): add route table services
m-pizarro Jun 8, 2023
baa0a6e
feat: Added missing subnets ids and endpoint policies for subnets
Jun 8, 2023
2b9a48b
feat(azure): Add missing dataFactory services
m-pizarro Jun 9, 2023
9d57cf0
Merge pull request #76 from cloudgraphdev/feature/EP-3221-add-missing…
m-pizarro Jun 9, 2023
34b2a2c
chore(release): 0.67.0-alpha.4
autocloud-deploy-bot Jun 9, 2023
33ae7da
feat: add publicIp missing services
dezky Jun 9, 2023
f31a451
Merge pull request #78 from cloudgraphdev/feat/EP-3222
m-pizarro Jun 14, 2023
aaaf8b7
Merge pull request #79 from cloudgraphdev/feature/EP-3226-add-route-t…
m-pizarro Jun 14, 2023
ba8036e
Merge pull request #80 from cloudgraphdev/feat/EP-3227
m-pizarro Jun 14, 2023
75182f1
Merge pull request #81 from cloudgraphdev/feature/EP-3219-add-missing…
m-pizarro Jun 14, 2023
026eabe
Merge pull request #82 from cloudgraphdev/feat/EP-3231
m-pizarro Jun 14, 2023
2f8cfb0
chore(release): 0.67.0-alpha.5
autocloud-deploy-bot Jun 14, 2023
bd58d1d
feat: collect crawl error logs
aacotroneo Jul 18, 2023
9d4e68d
Merge pull request #83 from cloudgraphdev/feat-errors
tyler-dunkel Jul 19, 2023
62922f0
chore(release): 0.67.0-alpha.6
autocloud-deploy-bot Jul 19, 2023
9c1497c
Merge pull request #84 from cloudgraphdev/alpha
tyler-dunkel Jul 19, 2023
060a4db
chore(release): 0.67.0-beta.1
autocloud-deploy-bot Jul 19, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,79 @@
# [0.67.0-beta.1](https://github.com/cloudgraphdev/cloudgraph-provider-azure/compare/0.66.0...0.67.0-beta.1) (2023-07-19)


### Bug Fixes

* Added missing attribute for cosmosdb schema ([cde0c79](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/cde0c791374d648f77541b1189ddbd3062ea67aa))


### Features

* add publicIp missing services ([33ae7da](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/33ae7da24dd69264344016bf4af3b25a6264c43d))
* Added missing subnets ids and endpoint policies for subnets ([baa0a6e](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/baa0a6e72510f70e217a5c516479db8d5d05294f))
* **azure:** Add missing dataFactory services ([2b9a48b](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/2b9a48b9e848aad2775069167dcb406ad0dc8f77))
* **azure:** add missing mySQL Server services ([90131c8](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/90131c83d231a8ef3d2f29b23412e978688e32dc))
* **azure:** Add missing postgreSql server services ([8aeff96](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/8aeff969f44cfa8751fefacbbca6597cf7213cd1))
* **azure:** Add missing SQL Server services ([41bffd4](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/41bffd48c728303d0d697509c9efa9a5c7442166))
* **azure:** add route table services ([5573e8e](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/5573e8eeee9387d50e440e7d1aecd4c529f3c531))
* **azure:** Support missing storageBlob and storageContainer services ([b179ebf](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/b179ebf76107a6285c978067b79f544e995df66f))
* collect crawl error logs ([bd58d1d](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/bd58d1dce0cd55d86828b0a463d41061352f2517))
* Exposed containersIds for cosmosdb account ([8b45320](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/8b4532048fc8137539489adb38eee101ff867039))
* Fetched records for private dns ([83cbdd8](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/83cbdd809f81e750d5abc83bf503dba47e12fe50))
* Fetched virtual network links for private zone ([414ceec](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/414ceece3af505c18a76d6141d63a8d85e20067b))

# [0.67.0-alpha.6](https://github.com/cloudgraphdev/cloudgraph-provider-azure/compare/0.67.0-alpha.5...0.67.0-alpha.6) (2023-07-19)


### Features

* collect crawl error logs ([bd58d1d](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/bd58d1dce0cd55d86828b0a463d41061352f2517))

# [0.67.0-alpha.5](https://github.com/cloudgraphdev/cloudgraph-provider-azure/compare/0.67.0-alpha.4...0.67.0-alpha.5) (2023-06-14)


### Features

* add publicIp missing services ([33ae7da](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/33ae7da24dd69264344016bf4af3b25a6264c43d))
* Added missing subnets ids and endpoint policies for subnets ([baa0a6e](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/baa0a6e72510f70e217a5c516479db8d5d05294f))
* **azure:** Add missing dataFactory services ([2b9a48b](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/2b9a48b9e848aad2775069167dcb406ad0dc8f77))
* **azure:** add route table services ([5573e8e](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/5573e8eeee9387d50e440e7d1aecd4c529f3c531))
* Fetched records for private dns ([83cbdd8](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/83cbdd809f81e750d5abc83bf503dba47e12fe50))
* Fetched virtual network links for private zone ([414ceec](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/414ceece3af505c18a76d6141d63a8d85e20067b))

# [0.67.0-alpha.4](https://github.com/cloudgraphdev/cloudgraph-provider-azure/compare/0.67.0-alpha.3...0.67.0-alpha.4) (2023-06-09)


### Features

* **azure:** add missing mySQL Server services ([90131c8](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/90131c83d231a8ef3d2f29b23412e978688e32dc))

# [0.67.0-alpha.3](https://github.com/cloudgraphdev/cloudgraph-provider-azure/compare/0.67.0-alpha.2...0.67.0-alpha.3) (2023-06-07)


### Features

* **azure:** Add missing postgreSql server services ([8aeff96](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/8aeff969f44cfa8751fefacbbca6597cf7213cd1))

# [0.67.0-alpha.2](https://github.com/cloudgraphdev/cloudgraph-provider-azure/compare/0.67.0-alpha.1...0.67.0-alpha.2) (2023-06-06)


### Bug Fixes

* Added missing attribute for cosmosdb schema ([cde0c79](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/cde0c791374d648f77541b1189ddbd3062ea67aa))


### Features

* Exposed containersIds for cosmosdb account ([8b45320](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/8b4532048fc8137539489adb38eee101ff867039))

# [0.67.0-alpha.1](https://github.com/cloudgraphdev/cloudgraph-provider-azure/compare/0.66.0...0.67.0-alpha.1) (2023-06-06)


### Features

* **azure:** Add missing SQL Server services ([41bffd4](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/41bffd48c728303d0d697509c9efa9a5c7442166))
* **azure:** Support missing storageBlob and storageContainer services ([b179ebf](https://github.com/cloudgraphdev/cloudgraph-provider-azure/commit/b179ebf76107a6285c978067b79f544e995df66f))

# [0.66.0](https://github.com/cloudgraphdev/cloudgraph-provider-azure/compare/0.65.0...0.66.0) (2023-05-16)


Expand Down
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@ Scan cloud infrastructure via the [Azure SDK](https://github.com/Azure/azure-sdk

<!-- toc -->

- [Install](#install)
- [Authentication](#authentication)
- [Supported Services](#supported-services)
<!-- tocstop -->
- [CloudGraph Azure Provider](#cloudgraph-azure-provider)
- [Docs](#docs)
- [Install](#install)
- [Authentication](#authentication)
- [Supported Services](#supported-services)
- [Development](#development)
- [Testing](#testing)

## Docs

Expand Down Expand Up @@ -95,6 +98,7 @@ CloudGraph needs read permissions in order to ingest your data. To keep things e
| postgreSqlServers | resourceGroup, databasePostgreSql |
| privateDns | resourceGroup |
| publicIp | networkInterface, resourceGroup |
| publicIpPrefix | |
| recoveryInstances | recoveryVaults, resourceGroup |
| recoveryPolicies | recoveryVaults, resourceGroup |
| recoveryVaults | recoveryInstances, recoveryPolicies, resourceGroup |
Expand All @@ -104,6 +108,8 @@ CloudGraph needs read permissions in order to ingest your data. To keep things e
| replicationNetworks | resourceGroup |
| replicationPolicies | resourceGroup |
| resourceGroup | **all services** |
| routeFilter | |
| routeTable | |
| securityAssessments | |
| securityContacts | |
| securityGroup | networkInterface, resourceGroup |
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cloudgraph/cg-provider-azure",
"version": "0.66.0",
"version": "0.67.0-beta.1",
"description": "CloudGraph provider plugin for Azure used to fetch Azure cloud data.",
"publishConfig": {
"registry": "https://registry.npmjs.org/",
Expand Down Expand Up @@ -73,7 +73,7 @@
"@azure/identity": "^2.0.4",
"@azure/storage-blob": "^12.8.0",
"@azure/storage-queue": "^12.9.0",
"@cloudgraph/sdk": "0.22.1",
"@cloudgraph/sdk": "0.23.0",
"@graphql-tools/load-files": "^6.5.3",
"@graphql-tools/merge": "^8.2.3",
"@microsoft/microsoft-graph-client": "^3.0.2",
Expand Down
2 changes: 2 additions & 0 deletions src/enums/schemasMap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ export default {
[services.replicationNetworks]: 'azureReplicationNetwork',
[services.replicationPolicies]: 'azureReplicationPolicy',
[services.resourceGroup]: 'azureResourceGroup',
[services.routeFilter]: 'azureRouteFilter',
[services.routeTable]: 'azureRouteTable',
[services.securityAssesments]: 'azureSecurityAssesment',
[services.securityContacts]: 'azureSecurityContact',
[services.securityGroup]: 'azureNetworkSecurityGroup',
Expand Down
3 changes: 3 additions & 0 deletions src/enums/serviceAliases.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ export default {
[services.postgreSqlServers]: 'postgreSqlServers',
[services.privateDns]: 'privateDnsZones',
[services.publicIp]: 'publicIps',
[services.publicIpPrefix]: 'publicIpPrefixes',
[services.recoveryVaults]: 'recoveryVaults',
[services.recoveryInstances]: 'recoveryInstances',
[services.recoveryPolicies]: 'recoveryPolicies',
Expand All @@ -65,6 +66,8 @@ export default {
[services.replicationNetworks]: 'replicationNetworks',
[services.replicationPolicies]: 'replicationPolicies',
[services.resourceGroup]: 'resourceGroups',
[services.routeFilter]: 'routeFilters',
[services.routeTable]: 'routeTables',
[services.securityAssesments]: 'securityAssesments',
[services.securityContacts]: 'securityContacts',
[services.securityGroup]: 'securityGroups',
Expand Down
6 changes: 6 additions & 0 deletions src/enums/serviceMap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ import AzurePolicyAssignment from '../services/policyAssignment'
import AzurePostgreSqlServer from '../services/postgreSqlServers'
import AzurePrivateDns from '../services/privateDns'
import AzurePublicIp from '../services/publicIp'
import AzurePublicIpPrefix from '../services/publicIpPrefix'
import AzureRecoveryVault from '../services/recoveryVaults'
import AzureRecoveryInstance from '../services/recoveryInstances'
import AzureRecoveryPolicy from '../services/recoveryPolicies'
Expand Down Expand Up @@ -89,6 +90,8 @@ import AzureBilling from '../services/billing'
import AzureLogProfiles from '../services/logProfiles'
import Subscription from '../services/subscription'
import AzureNetworkWatcher from '../services/networkWatcher'
import AzureRouteTable from '../services/routeTable'
import AzureRouteFilter from '../services/routeFilter'

/**
* serviceMap is an object that contains all currently supported services for AZURE
Expand Down Expand Up @@ -160,6 +163,7 @@ export default {
[services.postgreSqlServers]: AzurePostgreSqlServer,
[services.privateDns]: AzurePrivateDns,
[services.publicIp]: AzurePublicIp,
[services.publicIpPrefix]: AzurePublicIpPrefix,
[services.recoveryVaults]: AzureRecoveryVault,
[services.recoveryInstances]: AzureRecoveryInstance,
[services.recoveryPolicies]: AzureRecoveryPolicy,
Expand All @@ -169,6 +173,8 @@ export default {
[services.replicationNetworks]: AzureReplicationNetwork,
[services.replicationPolicies]: AzureReplicationPolicy,
[services.resourceGroup]: AzureResourceGroup,
[services.routeFilter]: AzureRouteFilter,
[services.routeTable]: AzureRouteTable,
[services.securityAssesments]: AzureSecurityAssesments,
[services.securityContacts]: AzureSecurityContacts,
[services.securityGroup]: AzureNetworkSecurityGroup,
Expand Down
3 changes: 3 additions & 0 deletions src/enums/services.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ export default {
postgreSqlServers: 'postgreSqlServers',
privateDns: 'privateDns',
publicIp: 'publicIp',
publicIpPrefix: 'publicIpPrefix',
recoveryVaults: 'recoveryVaults',
recoveryInstances: 'recoveryInstances',
recoveryPolicies: 'recoveryPolicies',
Expand All @@ -71,6 +72,8 @@ export default {
replicationNetworks: 'replicationNetworks',
replicationPolicies: 'replicationPolicies',
resourceGroup: 'resourceGroup',
routeFilter: 'routeFilter',
routeTable: 'routeTable',
securityAssesments: 'securityAssesments',
securityContacts: 'securityContacts',
securityGroup: 'securityGroup',
Expand Down
14 changes: 11 additions & 3 deletions src/properties/logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ export default {
foundAKSManagedClusters: (num: number): string =>
`Found ${num} AKS managed clusters`,
/* App Gateway */
foundApplicationGateway: (num: number): string => `Found ${num} Application Gateways`,
foundApplicationGateway: (num: number): string =>
`Found ${num} Application Gateways`,
/* App Service */
foundAppServiceEnvironments: (num: number): string =>
`Found ${num} app service environments`,
Expand Down Expand Up @@ -152,11 +153,14 @@ export default {
`Found ${num} private dns zones`,
// Public Ips
foundPublicIps: (num: number): string => `Found ${num} public ips`,
foundPublicIpPrefixes: (num: number): string =>
`Found ${num} public ip prefixes`,
// Recovery Vaults
foundRecoveryVaults: (num: number): string => `Found ${num} recovery vaults`,
foundRecoveryInstances: (num: number): string =>
`Found ${num} recovery instances`,
foundRecoveryPolicies: (num: number): string => `Found ${num} recovery policies`,
`Found ${num} recovery instances`,
foundRecoveryPolicies: (num: number): string =>
`Found ${num} recovery policies`,
// RedisCache
foundRedisCaches: (num: number): string => `Found ${num} Redis caches`,
// Replication Appliances
Expand All @@ -173,6 +177,10 @@ export default {
`Found ${num} replication policies`,
// Resource Groups
foundResourceGroups: (num: number): string => `Found ${num} resource groups`,
// Route Filters
foundRouteFilters: (num: number): string => `Found ${num} route filters`,
// Route Tables
foundRouteTables: (num: number): string => `Found ${num} route tables`,
// Security Assesments
foundSecurityAssesments: (num: number): string =>
`Found ${num} security assesments`,
Expand Down
38 changes: 24 additions & 14 deletions src/services/cosmosDb/format.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,11 @@ const formatRestoreParameters = (
const { restoreTimestampInUtc, databasesToRestore, ...rest } = restoreParameters
return {
restoreTimestampInUtc: restoreTimestampInUtc?.toISOString(),
databasesToRestore: databasesToRestore?.map(db => ({ id: generateUniqueId({
...db
}), ...db })) || [],
databasesToRestore: databasesToRestore?.map(db => ({
id: generateUniqueId({
...db
}), ...db
})) || [],
...rest,
}
}
Expand Down Expand Up @@ -94,6 +96,20 @@ export default ({
tables = [],
} = service

let containersIds: string[] = []
const sqlDatabases = databases?.map(({ id: databaseId, options, data, ...rest }) => {
const containers = new Set(data.map(d => d.id))
containersIds = Array.from(containers)
return ({
id: databaseId,
...rest,
options: {
throughput: options?.throughput,
maxThroughput: options?.autoscaleSettings?.maxThroughput,
},
})
}) || []

return {
id,
name,
Expand Down Expand Up @@ -133,10 +149,10 @@ export default ({
failoverPolicies?.map(fp => ({ id: fp.id, ...fp })) || [],
virtualNetworkRules:
virtualNetworkRules?.map(vn => ({ id: vn.id, ...vn })) || [],
privateEndpointConnections: privateEndpointConnections?.map(({ id: endpointId, privateEndpoint, ...pe}) => ({
id: endpointId,
privateEndpointConnections: privateEndpointConnections?.map(({ id: endpointId, privateEndpoint, ...pe }) => ({
id: endpointId,
privateEndpointId: privateEndpoint?.id,
...pe
...pe
})) || [],
enableMultipleWriteLocations,
enableCassandraConnector,
Expand All @@ -160,14 +176,8 @@ export default ({
disableLocalAuth,
capacityTotalThroughputLimit: capacity?.totalThroughputLimit,
tags: formatTagsFromMap(Tags),
databases: databases?.map(({ id: databaseId, options, ...rest }) => ({
id: databaseId,
...rest,
options: {
throughput: options?.throughput,
maxThroughput: options?.autoscaleSettings?.maxThroughput,
},
})) || [],
databases: sqlDatabases,
azureTables: tables?.map(at => ({ id: at.id, ...at })) || [],
containersIds
}
}
1 change: 1 addition & 0 deletions src/services/cosmosDb/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -303,4 +303,5 @@ type azureCosmosDb implements azureResource
databases: [azureCosmosDbDatabase]
azureTables: [azureCosmosDbTable]
resourceGroup: [azureResourceGroup] @hasInverse(field: cosmosDb)
containersIds: [String] @search(by: [hash])
}
Loading