- INT-11596: add public access property for database servers #672 (@gastonyelmini)
- Gaston Yelmini (@gastonyelmini)
- Add directory id to subscription #671 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Change graph retry logic #670 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Resource groups: Paginate correctly #669 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Paginate resource groups #668 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Recordings update #667 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- SST | High urgency | add resourceName to azure_policy_state #664 (@SeaBlooms @Gonzalo-Avalos-Ribas)
- Colin Blumer (@SeaBlooms)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- add more record type properties #662 (@SeaBlooms @Gonzalo-Avalos-Ribas)
- Colin Blumer (@SeaBlooms)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Freeze microsoft package.json versions #663 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Kno 427 #661 (@SeaBlooms)
- Colin Blumer (@SeaBlooms)
- Azure 6.1.8 #653 (@Bharatkk-metron @Gonzalo-Avalos-Ribas)
- @Bharatkk-metron
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- add 3 new props to azure_dns_record_set #656 (@SeaBlooms)
- Colin Blumer (@SeaBlooms)
- Added filter keys #657 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Added fixes for approval step #655 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- INT-11313: add extra priperties to access policy entity #654 (@gastonyelmini)
- Gaston Yelmini (@gastonyelmini)
- Azure v6.1.6 dev #651 (@suraj-metron @Bharatkk-metron @Gonzalo-Avalos-Ribas)
- @Bharatkk-metron
- @suraj-metron
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Azure conditional access dev #652 (@Bharatkk-metron @Gonzalo-Avalos-Ribas)
- @Bharatkk-metron
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Corrected resource description on log #650 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Correct typo in ingestion sources description #649 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Manage kube error better #648 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Azure access group dev #646 (@poornima-metron @suraj-metron @Gonzalo-Avalos-Ribas)
- moved access-grp to active directory #647 (@poornima-metron)
- added access package entity #644 (@poornima-metron)
- access-group developed #642 (@poornima-metron)
- @suraj-metron
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- poornima-metron (@poornima-metron)
- Corrected key uppercase #645 (@Gonzalo-Avalos-Ribas)
- fixing bad queries + adding query #643 (@mikiodehartj1)
- @mikiodehartj1
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Changed azure active directory to Microsoft Entra ID #641 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Azure enhancement #638 (@Bharatkk-metron @poornima-metron @suraj-metron [email protected])
- Azure Enhancement dev #636 (@poornima-metron [email protected])
- completed rolebinding step and relationship #635 (@poornima-metron)
- Azure enhancement dev #630 (@Bharatkk-metron @poornima-metron)
- Synapse service dev #628 (@Bharatkk-metron)
- Ddos service #627 (@Bharatkk-metron)
- completed eventhub steps #629 (@poornima-metron)
- @Bharatkk-metron
- @suraj-metron
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- poornima-metron (@poornima-metron)
-
Support for ingesting the following new resources
-
New entities
azure_event_hub
azure_event_hub_cluster
azure_event_hub_key
azure_event_hub_namespace
azure_event_hub_consumer_group
azure_synapse
azure_synapse_masking_policy
azure_synapse_masking_rule
azure_synapse_sql_pool
azure_synapse_workspace
azure_synapse_key
azure_ddos_protection_plan
azure_application_security_group
azure_kube_maintenance_configuration
azure_kubernetes_cluster
azure_kube_service
azure_kube_trusted_access_role
azure_expressroute_circuit
azure_peer_expressroute_circut_connection
azure_expressroute_circut_connection
azure_expressroute
azure_bgp_service_communities
azure_application_gateway
-
New relationships
-
azure_event_hub
HASazure_location
-
azure_event_hub_cluster
ASSIGNEDazure_event_hub_namespace
-
azure_event_hub_consumer_group
HASazure_event_hub
-
azure_event_hub_key
USESazure_keyvault_service
-
azure_event_hub_namespace
HASazure_event_hub
-
azure_event_hub_namespace
HASazure_event_hub_key
-
azure_resource_group
HASazure_event_hub
-
azure_subscription
HASazure_event_hub
-
azure_synapse
HASazure_synapse_key
-
azure_synapse
HASazure_synapse_sql_pool
-
azure_synapse
HASazure_synapse_workspace
-
azure_synapse_sql_pool
ASSIGNEDazure_synapse_masking_policy
-
azure_synapse_sql_pool
HASazure_synapse_masking_rule
-
azure_synapse_workspace
HASazure_synapse_key
-
azure_synapse_workspace
HASazure_synapse_sql_pool
-
azure_subscription
HASazure_synapse
-
azure_keyvault_service
HASazure_synapse_key
-
azure_resource_group
HASazure_kubernetes_cluster
-
azure_kube_service
CONTAINSazure_kube_trusted_access_role
-
azure_kube_trusted_access_role
HASkube_cluster_role
-
azure_kubernetes_cluster
HASazure_kube_maintenance_configuration
-
azure_subscription
HASazure_kube_service
-
azure_resource_group
HASazure_ddos_protection_plan
-
azure_subscription
HASazure_ddos_protection_plan
-
azure_ddos_protection_plan
ASSIGNEDazure_public_ip
-
azure_ddos_protection_plan
ASSIGNEDazure_vnet
-
azure_bgp_service_communities
HASazure_expressroute
-
azure_expressroute
HASazure_application_gateway
-
azure_expressroute
HASazure_expressroute
-
azure_expressroute
HASazure_expressroute_circuit_connection
-
azure_expressroute
HASazure_peer_expressroute_circut_connection
-
azure_expressroute_circuit
HASazure_expressroute_circuit_connection
-
azure_expressroute_circuit
HASazure_peer_expressroute_circut_connection
-
azure_subscription
HASazure_expressroute
-
azure_subscription
HASazure_bgp_service_communities
- Add logger to find key of ingested subscription #640 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Added logs to identify problems #639 (@Gonzalo-Avalos-Ribas)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- adding props to entity #637 (@mikiodehartj1)
- Added service_principal assigned user, groups and service principals #634 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Add azure_defender_alerts and vuln severity config #633 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Removed more raw errors being logged #632 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Int 10135 #631 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Changed where the timeout goes #625 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Add timeout to usageDetails #624 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Added missing await #623 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Separate the diagnostic settings into two different steps #622 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Remove previously added depends on #621 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Added trycatch statement on postgresSQL #620 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Int 10207 - Change tests to execute with dependencies part 2 #619 ([email protected])
- Int 10070 - Test using execute steps with depedencies. Part 1 #618 ([email protected])
- Int 10063 remove converter and client tests #617 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Apply remove-codeql with multi-gitter [ci skip] (@electricgull)
- Cameron Griffin (@electricgull)
- Michael Knoedel (@mknoedel)
- Devin Collins (@ImDevinC)
- Remove configuration #613 ([email protected])
- Fix x-cortex-service-groups where tier-4 was set incorrectly (@jablonnc)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Noah Jablonski (@jablonnc)
- Handle key and secret permissions errors #612 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Int 10054: add error handling #611 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Added different skips to subscriptions #610 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Error handling upgrades #609 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- add usageLocation #606 (@SeaBlooms [email protected])
- Colin Blumer (@SeaBlooms)
- Gonzalo Avalos Ribas ([email protected])
- INT-9996: Ingest azure skipped subscriptions #608 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Disable steps by default #607 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Duplicated keys and upload errors #605 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Resolved issues #604 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Int 9741 2 #603 ([email protected])
- Populate CODEOWENRS, baseline package.json and baseline cortex.yaml (@jablonnc)
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Noah Jablonski (@jablonnc)
- Int 9741 - Fixed some problems #602 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Julia Zolotarev (@jzolo22)
- Add factor to retries - Max 20 retries for auth scope #601 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Changed retries and time between. Handle 429 #599 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- INT-9746: add additional undefined check #600 (@gastonyelmini)
- Gaston Yelmini (@gastonyelmini)
- INT-9642 Bump SDK versions #598 (@JakeFerrero)
- Jake Ferrero (@JakeFerrero)
- Change rate period of all calls related to Microsoft.Authorization scope #597 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Int 9749 #595 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- INT-9746: fix usage details undefined issue #594 (@gastonyelmini)
- Gaston Yelmini (@gastonyelmini)
- Added instanceCount to converter #593 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Corrected type of entity #592 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Added a step for subscription usage details #591 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- INT-8979 - ingest Firewall->ALLOWS->Internet mapped relationships; ingest firewall policies #589 ([email protected])
- Ronald Arias (@RonaldEAM)
- Add ingest sources #590 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Corrected pagination of ad-users #583 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Removed findEntity to make step faster #582 ([email protected])
- Upgrade to node 18 #581 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- INT-8145: ingest azure devices #580 (@gastonyelmini)
- Gaston Yelmini (@gastonyelmini)
- Chad Richts (@chrichts)
- INT-8664 - add mfa properties to azure_user and fetch from non-deprecated endpoint #579 ([email protected] [email protected])
- Gonzalo Avalos Ribas ([email protected])
- Ronald Arias (@RonaldEAM)
- Added azure ad roles and assignments #578 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Int 8580 azure vmss relationship update #576 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Added vmss relationships #575 ([email protected])
- Draft-pr: approach1 to subscription tags #571 ([email protected])
- Changed recordings #574 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Bump SDK Version #573 (@Nick-NCSU)
- Added documentation #561 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Nick Thompson (@Nick-NCSU)
- Int 7422 disable steps legacy subscriptions #570 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Ingest scale sets #569 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Added the request wrapper for most of the single calls #563 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Samuel Poulton (@VDubber)
- Akash Ganapathi (@a-u-h-g)
- Nick Dowmon (@ndowmon)
- NO-TICKET - Introduce
allowSharedKeyAccess
onazure_storage_account
#565 (@austinkelleher)
- INT-7550 - Update SDK packages to fix duplication in docs #564 (@austinkelleher)
- Austin Kelleher (@austinkelleher)
- Added some new error parsing and other checks on entity creation #562 ([email protected])
- Activated the missing tests for advisor #560 ([email protected])
- Subscription Refactor #558 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- INT-7311 Duplicated key on relationship. #559 ([email protected])
- Advisor refactor #557 ([email protected])
- INT-6990: Changed some constants in the steps definition #556 ([email protected])
- Fix(INT-6993): Some provider API Errors where being displayed incorrectly #555 ([email protected])
- Janette DOC-215 #548 (@janettelynch)
- Azure permission documentation part 2: Added script to compile the permissions into documentation #553 ([email protected])
- Merge #552 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Janette Lynch (@janettelynch)
- Changed the name of the nextlinkVariable #551 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Correction of next link subscription spec #550 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- Azure FetchSubscriptions Pagination #549 ([email protected])
- Gonzalo Avalos Ribas (@Gonzalo-Avalos-Ribas)
- fix(int-6429): update routing rule to rule class #547 (@zemberdotnet)
- Merging CodeQL #546 (@electricgull)
- Merging CodeQL #545 (@VDubber)
- Update fetch-depth for Auto #544 (@Nick-NCSU)
- Cameron Griffin (@electricgull)
- Matthew Zember (@zemberdotnet)
- Nick Thompson (@Nick-NCSU)
- Samuel Poulton (@VDubber)
- Nick Dowmon (@ndowmon)
- Prevent 409 errors in fetch-batch-applications #540 (@edreyer1 @ndowmon)
- Update dev tools 8.24.1 #541 (@edreyer1)
- Add auto versioning #538 (@Nick-NCSU)
- Changelog for 5.40.0 #536 (@ndowmon)
- Nick Dowmon (@ndowmon)
- Nick Thompson (@Nick-NCSU)
- Add tags to
azure_storage_container
entities - Set API response log level from info -> debug
- Stopped printing
UNREGISTERED_PROVIDER
messages in DNS Zone steps
- Fix managed question issue
- Update integration SDK packages
- Update
@lifeomic/attempt
- Added
azure_frontdoor_backend_pool
entities - Added
azure_frontdoor_frontend_endpoint
entities - Added
azure_frontdoor_routing_rule
entities - Added
azure_frontdoor_rules_engine
entities
- Added
azure_frontdoor
entities
- Fixed
DUPLICATE_KEY_DETECTED
inrm-compute-network-relationships
step - Fixed
DUPLICATE_KEY_DETECTED
inrm-keyvault-principal-relationships
step
- Modified
rm-subscription-locations
andrm-network-location-watcher-relationships
steps to not createazure_location
entities explicitely but to create mapped relationships withskipTargetCreation: false
.
- Fixed a problem related to subnet and virtual machine relationships that was causing the same subnet to be used more than once resulting in duplicate key error.
- Removed check to verify whether the access token has a property called
roles
in its access token and theDirectory.Read.All
role in its array
- Added a new field called
state
that reflects the virtual machine's state (running or stopped).
-
Previously called
state
field is now calledprovisioningState
as it reflects the virtual machine's provision state. -
The boolean field
active
now also reflects the virtual machine's state. It's values can be:true
(whenstate
isrunning
),false
(whenstate
isstopped
) andundefined
if the state isn't known.
- Update sdk-* packages to 8.2.1. This is a major version change requiring to
conform to
_key
being required on entities. In addition, the user entity now has theactive
property as required by the v8 update.
- Stopped using the
callback
version of theContainerServiceClient.managedClusters.list(callback)
API
- Stopped creating
azure_kubernetes_cluster
entities that have noid
property
-
Added support for ingesting the following new resources:
Service Resource / Entity Azure Kubernetes Cluster azure_kubernetes_cluster
Resource Lock azure_resource_lock
-
Added support for ingesting the following new relationships:
Source _class Target azure_resource_group
HAS
azure_kubernetes_cluster
azure_resource_lock
HAS
ANY_SCOPE
-
New properties added to resources:
Entity Properties azure_keyvault_service
enableSoftDelete
,enablePurgeProtection
- Refactored the
rm-compute-network-relationships
step to ensure relationships are created betweenazure_vm
,azure_nic
,azure_subnet
andazure_public_ip
-
Added support for ingesting the following new resources:
Service Resource / Entity Key Vault Key azure_keyvault_key
Key Vault Secret azure_keyvault_secret
-
With the following properties:
Entity Properties azure_keyvault_key
name
,recoveryLevel
,vaultUrl
,version
,enabled
,notBefore
,createdOn
,updatedOn
,expiresOn
azure_keyvault_secret
name
,recoveryLevel
,vaultUrl
,version
,contentType
,certificateKeyId
,managed
,enabled
,notBefore
,createdOn
,updatedOn
,expiresOn
-
New properties added to resources:
Entity Properties azure_storage_account
tableAnalyticsLoggingReadEnabled
,tableAnalyticsLoggingWriteEnabled
,tableAnalyticsLoggingDeleteEnabled
- Suppressed
FeatureNotSupportedForAccount
andAccountIsDisabled
errors when attempting to list tables, queues, blobs, and file shares for storage accounts - Add
errorCode
anderrorName
to blob & queue service properties calls - Fixed a bug that occurs when paginating Microsoft.Compute/galleries/${galleryId}/images/${imageId}/versions
-
New properties added to resources:
Entity Properties azure_web_app
,azure_function_app
authEnabled
,httpsOnly
,minTlsVersion
,clientCertEnabled
,principalId
,phpVersion
,pythonVersion
,javaVersion
,nodeVersion
,http20Enabled
,ftpsState
azure_sql_server
vaRecurringScansEnabled
,vaStoragePath
,vaEmailSubscriptionAdmins
,vaEmails
Note: fetching settings for
azure_web_app
andazure_function_app
requires additional permission to be added to the custom role:Microsoft.Web/sites/config/list/Action
- Open-sourced Azure managed questions
- Bumped
@jupiterone/integration-sdk-*@6.22.1
. This included new functionality to theIntegrationError
classes that better segregates errors coming from different steps
- Stop throwing
Provider API failed at storage.*: AccountIsDisabled The specified account is disabled.
on storage blob/queue/table/file steps
- Stop throwing
Provider API failed at storage.*: AccountIsDisabled The specified account is disabled.
on storage blob/queue/table/file steps
- Stop throwing
Provider API failed at storage.*: AccountIsDisabled The specified account is disabled.
on storage blob/queue/table/file steps - Stop throwing
Provider API failed at *.*: DisallowedOperation The current subscription type is not permitted to perform operations on any provider namespace. Please use a different subscription.
on steps
- Stop throwing
Provider API failed at monitor.diagnosticSetting: SubscriptionNotRegistered The subscription '<SUBSCRIPTION-ID>' is not registered to use microsoft.insights.
on security center settings step - Stop throwing
Provider API failed at security.settings: Subscription Not Registered Please register to Microsoft.Security in order to view your security status
on security center settings step
- Restored
GraphClient
retry parameters:- retries: 5 -> 3
- delay: 500 -> 200
- Added token refresh logic to
GraphClient
- Increased
GraphClient
retries from 3 to 5 - Added 500ms delay between
GraphClient
retries - Used
expect().toTargetEntities()
matcher from SDK, and removed local implementations of.toTargetEntities()
and.toCreateValidRelationshipsToEntities()
- Changed
validateInvocation()
to try directly invokingsubscriptionClient.getSubscription(id)
when provided asubscriptionId
parameter. Directly pass errors through to the user, such as:The provided subscription identifier '{{SUBSCRIPTION_ID}}' is malformed or invalid.
The subscription '{{SUBSCRIPTION_ID}}' could not be found.
The client '{{CLIENT_ID}}' with object id '{{CLIENT_ID}}' does not have authorization to perform action 'Microsoft.Resources/subscriptions/read' over scope '/subscriptions/{{SUBSCRIPTION_ID}}' or the scope is invalid.
- Throw
IntegrationProviderAuthorizationError
on 403 response inGraphClient
- Changed
azure_group_has_member
relationships from mapped to direct, because group members always exist in the same directory as the group. - Bumped
@jupiterone/integration-sdk-*@6.10.0
. This included some new required properties for entities of_class
Service
andUser
. Added thefunction
property to the following entites:azure_batch_account
azure_storage_account
azure_cdn_profile
azure_event_grid_domain
azure_service_bus_namespace
- Identify policy definition source (subscription, management group, or built-in) using a case-insensitive switch statement, since Azure resource IDs do not use consistent casing.
- Fixed an issue where DNS Zones and Private DNS Zones threw an error if a
subscription had not registered the
Microsoft.Network
provider
-
Added support for ingesting the following new relationships:
Source _class Target azure_vm
GENERATED
azure_shared_image_version
azure_keyvault_service
ALLOWS
ANY_PRINCIPAL
- Lowercase the
azure_vm._key
property to allow for mapped relationships across different J1 subscriptions.
-
New properties added to resources:
Entity Properties azure_shared_image_version
publishedDate
,createdOn
- Moved
@microsoft/microsft-graph-types
from dev to direct dependency, which was previously causing types to fail on dependent projects after exportingclients.GraphClient
inv5.27.1
.
-
Added support for ingesting the following new resources:
Service Resource / Entity Gallery Image Version azure_shared_image_version
-
Added support for ingesting the following new relationships:
Source _class Target azure_shared_image
HAS
azure_shared_image_version
azure_vm
USES
azure_shared_image_version
-
New properties added to resources:
Entity Properties azure_policy_definition
Automatically convert metadata
to J1 tagsazure_policy_definition
accountEnabled
- Fixed a bug where the compute galleries execution handler was not invoked, and instead the VM images execution handler was invoked twice. This caused DuplicateKeyErrors in either the compute galleries step or the VM images step.
- Changed the type
azure_shared_image
toazure_shared_image_definition
, because shared images have both a definition, representing top-level metadata, and a number of versions, representing discrete images. - Changed the
_class
ofazure_gallery
fromDataStore
toRepository
.
- Exported
clients.GraphClient
from project index.
-
New properties added to resources:
Entity Properties azure_role_assignment
actions
,dataActions
,notActions
,notDataActions
- Fixed a bug introduced in
5.25.1
where therm-authorization-classic-administrators
step no longer had a dependency on thead-account
step, causingACCOUNT_ENTITY_NOT_FOUND
errors.
-
Added support for ingesting the following new relationships:
Source _class Target azure_vm
USES
azure_service_principal
-
Changed the policy definition
_key
suffix to:latest
instead of:${timestamp}
to reduce policy state churn during integration invocations. -
Previously, JupiterOne created direct relationships between active directory entities and role assignments when active directory entities were ingested in the same integration as subscription entities. In an effort to ensure consistent relationships are built given any integration configuration, this integration now defaults to creating mapped relationships between role assignments and active directory entities.
-
Added ingestion of Azure Management Groups when the
configureSubscriptionInstances
configuration field istrue
. This ingestion requires users to assign theManagement Group Reader
role to the service principal used in the given integration configuration to the Tenant Root Group management group. -
Added support for ingesting the following new resources:
Service Resource / Entity Gallery azure_gallery
Gallery Image azure_shared_image
Management Groups azure_management_group
-
Added support for ingesting the following new relationships:
Source _class Target azure_resource_group
HAS
azure_gallery
azure_gallery
CONTAINS
azure_shared_image
azure_vm
HAS
azure_shared_image
azure_vm
HAS
azure_image
azure_management_group
CONTAINS
azure_management_group
azure_account
HAS
azure_management_group
-
New properties added to resources:
Entity Properties azure_vm_extension
settings
,extType
,publisher
azure_user
isMfaRegistered
-
Added support for ingesting the following new resources:
Service Resource / Entity Network azure_private_endpoint
App Service azure_web_app
App Service azure_function_app
App Service azure_app_service_plan
Policy Insights azure_policy_state
-
Added support for ingesting the following new relationships:
Source _class Target azure_resource_group
HAS
azure_private_endpoint
azure_subnet
HAS
azure_private_endpoint
azure_private_endpoint
USES
azure_nic
azure_private_endpoint
CONNECTS
ANY_RESOURCE
azure_resource_group
HAS
azure_web_app
azure_resource_group
HAS
azure_function_app
azure_resource_group
HAS
azure_app_service_plan
azure_web_app
USES
azure_app_service_plan
azure_function_app
USES
azure_app_service_plan
azure_policy_assignment
HAS
azure_policy_state
azure_policy_definition
DEFINES
azure_policy_state
ANY_RESOURCE
HAS
azure_policy_state
-
Added the following property to
azure_storage_account
:networkRuleSet.allowedIpAddresses
-
Changed the following property values on
azure_storage_account
:Previous property name New property name networkRuleSetDefaultAction
networkRuleSet.defaultAction
networkRuleSetBypass
networkRuleSet.bypass
- Renamed type
azure_network_azure_firewall
toazure_network_firewall
- Added logic to handle
policyDefinition
IDs that are sourced from management groups.
- Added logger.warn statement when getPolicyDefinition API call fails.
- Upgraded
@jupiterone/integration-sdk-*@6.0.0
- Added try/catch logic to
AzurePolicyClient
methods for policy definitions & policy set definitions so step does not fail from 404s.
- Changed logic for fetching tables/queues/fileShares of
Premium
tier storageV1/storageV2azure_storage_account
s, because onlyStandard
tier storage accounts support tables/queues/fileShares.
-
Changed
_key
property forazure_policy_set_definition|contains|azure_policy_definition
relationship to usepolicyDefinitionReference.policyDefinitionReferenceId
instead ofpolicyDefinitionReference.policyDefinitionId
. The sameazure_policy_definition
can be referenced more than once in anazure_policy_set_definition
using differentparameter
properties.Previously, the relationship
_key
used thepolicyDefinitionId
, which threwDuplicateKeyError
s Example:{ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b954148f-4c11-4c38-8221-be76711e194a", "parameters": { "operationName": { "value": "Microsoft.Network/networkSecurityGroups/delete" } }, "policyDefinitionReferenceId": "CISv110x5x2x3", "groupNames": [ "CIS_Azure_1.1.0_5.2.3" ] }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b954148f-4c11-4c38-8221-be76711e194a", "parameters": { "operationName": { "value": "Microsoft.Network/networkSecurityGroups/securityRules/write" } }, "policyDefinitionReferenceId": "CISv110x5x2x4", "groupNames": [ "CIS_Azure_1.1.0_5.2.4" ] },
- Added the
enabled
property toazure_security_center_setting
entities.
-
Added support for ingesting the following new resources:
Service Resource / Entity Security Center azure_security_center_setting
Security Center azure_security_center_auto_provisioning_setting
Policy azure_policy_definition
Policy azure_policy_set_definition
- Only ingest an entity for the subscription identified by the
subscriptionId
config field. Previously, the integration would create an entity for every subscription, though none of the resources would be ingested. This new behavior limits the scope to the subscription defined bysubscriptionId
. Subscriptions
tosubscription
where relevant.fetchSubscriptions
to now return tag data. This will be used for deciding which subscriptions should be created.
- An
IntegrationError
tofetchSubscription
if the subscription could not be found.
SubscriptionId
check when creating an authenticated service client.
- Upgraded
@jupiterone/integration-sdk-*@5.11.2
- Added checks to ensure storage account
Kind
supports file and blobs before attempting to fetch file and blob resources. - Improved error messaging when
Directory.Read.All
permission is not present andconfig.ingestActiveDirectory=true
. - Handle errors thrown from
getBlobServiceProperties()
instead of allowing storage account step to fail. - Changed
_key
property onazure_vm_uses_storage_account
to fixDuplicateKeyError
s when multiple data disks point to the same storage account.
- Added
azure_subscription_contains_role_definition
relationships
- Changed
azure_advisor_recommendation.name
to useshortDescription.solution
instead ofname
, becausename
returned from the Azure API is a UUID.
- Added
azure_monitor_activity_log_alert_monitors_scope
relationships - Added
azure_monitor_activity_log_alert
entities
- Added
secureTransport
property to the following entities:azure_sql_server
azure_mariadb_server
azure_mysql_server
azure_postgresql_server
- Added the following log categories to
azure_diagnostic_settings
forazure_subscription
entities:log.Administrative
log.Alert
log.Policy
log.Security
- Added the following log categories to
azure_diagnostic_settings
forazure_keyvault_service
entities:log.AuditEvent
- Added
./tools/cli/j1-azure-integration document-diagnostic-settings
command to automatcially document which Azure resources currently ingest diagnostic settings.
- Changed the way that Diagnostic Settings are ingested. Previously, each
log
andmetric
enumerated within a Diagnostic Settings Resource was created as its own entity. This change creates a singleazure_diagnostic_setting
entity, which contains alllog
s andmetric
s in raw data. Speciallog
s andmetric
s can be exposed as properties on theazure_diagnostic_setting
entity.
- Added the following properties to
azure_sql_server
:encryptionProtector.serverKeyName
encryptionProtector.serverKeyType
- Added
azure_sql_server_active_directory_admin
entities.
- Added
azure_postgresql_server_firewall_rule
entities. - Added the following properties to
azure_postgresql_server
:configuration.logCheckpoints
configuration.logConnections
configuration.logDisconnections
configuration.logRetentionDays
configuration.connectionThrottling
- Added
azure_security_center_subscription_pricing
entities. - Added
azure_vm|USES|azure_storage_account
relationships. - Added
azure_vm_extension
entities.
- Added
azure_location|HAS|azure_network_watcher
relationships. - Upgraded
@jupiterone/integration-sdk-*@5.11.0
.
- Added
azure_managed_disk.encryption
property. - Added
azure_vm.usesManagedDisks
property. - Added
azure_location
entities. - Added
azure_network_watcher
entities. - Added
azure_security_group_flow_logs
entities. - Added
azure_sql_server_firewall_rule
entities.
- Fixed broken relationships between VM and disk entities. Previously, some relationships between VM and disk did not match case-sensitive, and created unresolvable relationships. Relationships will now be created based on case-insensitive matching of VM and disk IDs.
- Added
queueAnalyticsLoggingReadEnabled
,queueAnalyticsLoggingWriteEnabled
, andqueueAnalyticsLoggingDeleteEnabled
toazure_storage_account
. - Added
blobAnalyticsLoggingReadEnabled
,blobAnalyticsLoggingWriteEnabled
, andblobAnalyticsLoggingDeleteEnabled
toazure_storage_account
.
- Added
blobSoftDeleteEnabled
andblobSoftDeleteRetentionDays
toazure_storage_account
- Added
networkRuleSetDefaultAction
andnetworkRuleSetBypass
properties toazure_storage_account
.
- #230 - Change job log
name from
missing_optional_permissions
toauth
.
- Added
securityDefaultsEnabled
property toazure_account
entities.
- Collected Diagnostic Settings entities and relationships for Azure MariaDB Servers, Azure MySQL Servers, Azure PostgreSQL Servers, and Azure SQL Servers
- Added
getMatchRequestsBy()
to match azure recordings for any integration configuration. - Added
userType
property toazure_user
entities.
- The
Network Security Groups
step creates a map between security groups and subnets which is used later in theVirtual Networks
step. In the event thatNetwork Security Groups
fails, theVirtual Networks
step will fail withCannot read property '/subscriptions/subscription-id/resourceGroups/resource-group-id/providers/Microsoft.Network/virtualNetworks/vnet-name/subnets/subnet-name' of undefined
. Default to returning an empty object if undefined, so that key lookups do not cause the integration to fail.
- Fixed
hasSubscriptionId()
whensubscriptionId=null
.
- Collected Diagnostic Settings entities and relationships for Azure Network Load Balancers
- Collected Diagnostic Settings entities and relationships for Azure Network Public IP Addresses
- Collected Diagnostic Settings entities and relationships for Azure Network Virtual Networks
- Added
azure_network_azure_firewall
entities - Added
azure_resource_group|has|azure_network_azure_firewall
relationships - Collected Diagnostic Setting entities and relationships for Azure Network Azure Firewalls
- Refactored the terraform creation for Diagnostic Settings for Azure Batch Accounts, Azure CDN Endpoints, Azure CDN Profiles, Azure Key Vaults, Azure Network Load Balancers, Azure Network Security Groups, Azure Network Public IP Addresses, Azure Network Virtual Networks, Azure Event Grid Domains, and Azure Event Grid Topics. This was because Azure was creating default Diagnostic Settings for categories not specified in the terraform. This was producing inconsistent test results. See hashicorp/terraform-provider-azurerm#7235 (comment) for more details.
- Added additional logging in the
DirectoryGraphClient
.
- Added
debug
-level logs toad-groups
step.
- Diagnostic Settings entities and relationships for Azure Container Registry
- Diagnostic Settings entities and relationships for Azure API Management Services
- Diagnostic Settings entities and relationships for Azure CDN
- Diagnostic Settings entities and relationships for Azure Event Grid Domain and Azure Event Grid Topics
- Diagnostic Settings entities and relationships for Azure Batch Account
- Started retrying all request errors that are not handled by the Azure API client. Continue retrying 429 errors thrown by the Azure API client.
- Started retrying API errors in Azure Graph API (Azure Active Directory endpoints.)
- Diagnostic Settings entities and relationships for Network Security Groups
- Diagnostic Settings entities and relationships for Activity Logs (Azure Subscription)
- Fixed the way
IntegrationProviderAPIError
exposes error code/message ofnode-fetch
errors, such asECONNRESET
.
- Added
azure_diagnostic_log_setting
entities - Added
azure_resource|has|azure_diagnostic_log_setting
relationships - Added
azure_diagnostic_log_setting|uses|azure_storage_account
relationships - Added
azure_diagnostic_metric_setting
entities - Added
azure_resource|has|azure_diagnostic_metric_setting
relationships - Added
azure_diagnostic_metric_setting|uses|azure_storage_account
relationships
- Upgrade
@jupiterone/integration-sdk-*@5.0.0
- Added
azure_monitor_log_profile
entities - Added
azure_subscription|has|azure_monitor_log_profile
relationships - Added
azure_monitor_log_profile|uses|azure_storage_account
relationships - Added
encryption.keySource
andencryption.keyVaultProperties
to theazure_storage_account
entity - Added
allowBlobPublicAccess
to theazure_storage_account
entity - Added
azure_storage_account|uses|azure_keyvault_service
relationship
- Added
azure_security_center_contact
entities - Added
azure_subscription|has|azure_security_center_contact
relationships
- Added
azure_policy_assignment
entities - Added
ANY_SCOPE|has|azure_policy_assignment
relationships. These can target any scoped entity within Azure.
- Upgrade sdk to v4
- #187 - Throw
IntegrationValidationError
when invalid client secret is provided. - #185 - Handle
OperationNotAllowedOnKind
errors when storage accounts do not allow storage queues or storage tables - Added
loggingEnabled
property on database entities - #182 - Disallow
objects in
azure_storage_account.endpoints
array property
- Added info-level logs when iterating Queues & Tables in storage accounts.
- Added the ability to execute specific steps in an integration last.
- Added a transformer so that
findEntity
uses case-insensitive matching. - Added
azure_advisor_recommendation
entities - Added
ANY_SCOPE|has|azure_advisor_recommendation
relationships. These can target any scoped entity within Azure. - Added
azure_security_assessment
entities - Added
azure_security_assessment|identified|azure_advisor_recommendation
relationships - Added
azure_subscription|performed|azure_security_assessment
relationships
- Don't throw if
createResourceGroupResourceRelationship
doesn't find the target resource group. - Stop casting client
resourceEndpoint
arg toListResourcesEndpoint
- Added
azure_event_grid_domain
entities - Added
azure_resource_group|has|azure_event_grid_domain
relationships - Added
azure_event_grid_domain_topic
entities - Added
azure_event_grid_domain|has|azure_event_grid_domain_topic
relationships - Added
azure_event_grid_topic
entities - Added
azure_resource_group|has|azure_event_grid_topic
relationships - Added
azure_event_grid_topic_subscription
entities - Added
azure_event_grid_topic|has|azure_event_grid_topic_subscription
relationship - Added
azure_event_grid_domain_topic|has|azure_event_grid_topic_subscription
relationship - Added
azure_batch_account
entities - Added
azure_resource_group|has|azure_batch_account
relationships - Added
azure_batch_pool
entities - Added
azure_batch_account|has|azure_batch_pool
relationships - Added
azure_batch_application
entities - Added
azure_batch_account|has|azure_batch_application
relationships - Added
azure_batch_certificate
entities - Added
azure_batch_account|has|azure_batch_certificate
relationships - Added
azure_redis_cache
entities - Added
azure_resource_group|has|azure_redis_cache
relationships - Added
azure_redis_firewall_rule
entities - Added
azure_redis_cache|has|azure_redis_firewall_rule
relationships - Added
azure_redis_cache|connects|azure_redis_cache
relationships - Added
azure_container_group
entities - Added
azure_resource_group|has|azure_container_group
relationships - Added
azure_container
entities - Added
azure_container_group|has|azure_container
relationships - Added
azure_container_volume
entities - Added
azure_container_group|has|azure_container_volume
relationships - Added
azure_container|uses|azure_container_volume
relationships - Added
azure_container_volume|uses|azure_storage_file_share
relationships
- Upgraded SDK to v3.5.1
- Removed
ingestResourceManager
which caused previously-configured integrations to stop ingesting resource manager steps
- Added
azure_service_bus_namespace
entities - Added
azure_resource_group|has|azure_service_bus_namespace
relationships - Added
azure_service_bus_queue
entities - Added
azure_service_bus_namespace|has|azure_service_bus_queue
relationships - Added
azure_service_bus_topic
entities - Added
azure_service_bus_namespace|has|azure_service_bus_topic
relationships - Added
azure_service_bus_subscription
entities - Added
azure_service_bus_topic|has|azure_service_bus_subscription
relationships - Added
azure_cdn_profile
entities - Added
azure_resource_group|has|azure_cdn_profile
relationships - Added
azure_cdn_endpoint
entities - Added
azure_cdn_profile|has|azure_cdn_endpoint
relationships
- Added
ingestResourceManager
flag so thatResource Manager
steps can be disabled - Added
azure_dns_zone
entities - Added
azure_resource_group|has|azure_dns_zone
relationships - Added
azure_dns_record_set
entities - Added
azure_dns_zone|has|azure_dns_record_set
relationships - Added
azure_private_dns_zone
entities - Added
azure_resource_group|has|azure_private_dns_zone
relationships - Added
azure_private_dns_record_set
entities - Added
azure_private_dns_zone|has|azure_private_dns_record_set
relationships - Added
azure_container_registry
entities - Added
azure_resource_group|has|azure_container_registry
relationships - Added
azure_container_registry_webhook
entities - Added
azure_container_registry|has|azure_container_registry_webhook
relationships
- Added
azure_api_management_service
entities - Added
azure_resource_group|has|azure_api_management_service
relationships - Added
azure_api_management_api
entities - Added
azure_api_management_service|has|azure_api_management_api
relationships
- Added
azure_storage_table
entities - Added
azure_storage_account|has|azure_storage_table
relationships - Added
azure_storage_queue
entities - Added
azure_storage_account|has|azure_storage_queue
relationships
- Removed mapped
role_assignment|allows|<scope>
relationships to avoid creatingazure_unknown_resource_type
entities
- Created
azure_storage_account
entities to replaceazure_storage_blob_service
andazure_storage_file_service
. NOTE: This change requires any existing queries using theazure_storage_blob_service
orazure_storage_file_service
_type
to useazure_storage_account
. - Upgraded SDK to v3.2.0, ordered entity/relationship docs
- Fixed a bug where
resourceGroupId
needed to be case-insensitive
- Fixed messaging for validateInvocation errors
- Added
azure_role_assignment|allows|<scope>
relationships - Added
azure_resource_group
entities - Added
azure_resource_group|has|<resource>
relationships - Added
azure_subscription
entities - Added
azure_subscription|has|azure_resource_group
relationships
- Upgraded to SDK version 3
- Updated classes on
azure_role_assignment-->azure_role_definition
relationship
- Added
azure_role_assignment
entities; removed relationships - Added
azure_role_assignment|assigned|<principal>
relationships - Added
azure_role_assignment|has|azure_role_definition
relationships
- Changed
generateEntityKey()
from<_type>_<id>
to simply<id>
- Removed
sourceEntityType
bug from mapped relationships
- Added
azure_role_definition
entities - Added
azure_role_definition|assigned|<type>
relationships - Added
azure_classic_admin_group
singleton entity - Added
azure_classic_admin_group|has|azure_user
relationships - Added
azure_service_principal
entities
- Security group rules step had wrong step function assigned, duplicated load balancer ingestion.
- Prefix globally unique terraform resources using
developer_id
environment variable.
- Added
User.username
for AD users, having the value ofuserPrincipalName
, to satisfy the data model User schema requirement.
- Duplicate subnet -> vm relationships would cause the step to crash.
- Duplicate load balancer -> nic relationships would cause the step to crash.
- Illegal property
_integrationInstanceId
caused persister to reject uploads. - Fix missing
name
onUser
andUserGroup
entities.
This release is a complete restructuring of the program to move to the new JupiterOne integration SDK. Benefits are numerous, including:
- Use the latest patterns and allow for much easier advancement of the integration in all the ways intended by the new SDK
- Break work into more atomic steps, particularly helpful for database ingestion
- Allow for ingesting as much data as possible even when some data cannot be retrieved (partial sets)
- Significantly better error reporting, and statistics are collected
- Designed to run as a single process, dramatically simplifying deployments
- Filter out empty string in array list returned by Azure API on SQL Server auditing and alerting settings.
- Changed SQL server
alertAll
property toalertOnAllThreats
.
- Set SQL server
alertAll: alertingEnabled && !hasDisabledAlerts
.
- SQL Server and Database auditing status and properties.
- SQL Server alerting status and properties.
attached
boolean andstate
property onazure_managed_disk
entities.
- Incorrect parsing the
targetPortRanges
(fromPort
andtoPort
) of an Azure Security Group rule.
- Upgrade
@jupiterone/integration-sdk
to version33.7.5
.
- Logging in DB synchronization code, since there is so much going on in one step, cannot see how far it gets before failing.
- SDK bug in
IntegrationCache.putEntries
that would duplicate keys and continually expand the keyspace, leading to infinite looping.
- Log more details during group member fetching, group iteration.
- NPM package for 3.15.0 has no
dist
directory, cannot import code.
- Users are not related to groups of which they are a member.
encrypted
property on storage services (azure_storage_*_service
).
-
Set
azure_managed_disk.encrypted
based on presence ofencryption.type
-
Key Vault resources:
azure_keyvault_service
(not yet loading keys, certs)
-
Virtual networks listing sometimes produces a
502
server response. This would crash Compute synchronization. Virtual network sync is skipped in this case so other synchronization carries on. -
_type
for images and disks was incorrect so that ingestion may have been unstable.
- Additional properties on
azure_storage_*_service
entities:kind
,enableHttpsTrafficOnly
.
azure_storage_file_service.encrypted
property was reflecting theblob
service encryption setting.
- Storage resources:
azure_storage_file_service
,azure_storage_share
- Cosmos DB resources:
azure_cosmosdb_account
,azure_cosmosdb_sql_database