Skip to content

Cloud Snapshots

The Cloud Snapshots service collection provides operations for managing cloud snapshot scanning and IaC detection. Search IaC detections, manage snapshot scan jobs, register cloud accounts, retrieve scan reports, and access registry credentials.

LanguageLast Update
Pythonv1.6.5
PowerShellv2.2.9
Gov0.22.0
TypeScriptv0.6.0
Rustv0.7.1
Rubyv1.4.0


OperationDescription
CombinedDetections
search_detections
Search IaC Detections using a query in Falcon Query Language
CreateDeploymentEntity
launch_scan_job
Launch a snapshot scan for a given cloud asset
GetCredentialsIAC
get_iac_credentials
Gets the registry credentials (external endpoint)
GetCredentialsMixin0
get_credentials
Gets the registry credentials
GetScanReport
get_scan_reports
retrieve the scan report for an instance
ReadDeploymentsCombined
search_scan_jobs
Retrieve snapshot jobs identified by the provided IDs
ReadDeploymentsEntities
get_scan_jobs
Retrieve snapshot jobs identified by the provided IDs
RegisterCspmSnapshotAccount
register_account
Register customer cloud account for snapshot scanning

Search IaC Detections using a query in Falcon Query Language

Method GET
Route /iac/combined/detections/v1
Scope Infrastructure as Code (IaC): READ
PEP 8 search_detections
filter query · string
Search IaC detections using a query in Falcon Query Language (FQL). Supported filters:
Available values (19)
detection_uuidfile_nameis_from_module
last_detectedmodule_pathmodule_source
module_versionplatformproject_name
project_ownerproject_refprovider
resource_namerule_categoryrule_name
rule_typerule_uuidservice
severity
limit query · integer
the upper-bound on the number of records to retrieve
offset query · integer
The offset from where to begin.
sort query · string
fields to sort the records on. Supported columns:
Available values (19)
detection_uuidfile_nameis_from_module
last_detectedmodule_pathmodule_source
module_versionplatformproject_name
project_ownerproject_refprovider
resource_namerule_categoryrule_name
rule_typerule_uuidservice
severity
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CloudSnapshots
falcon = CloudSnapshots(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.search_detections(filter="string",
limit=integer,
offset=integer,
sort="string")
print(response)
[
{
"detection_uuid": "string",
"file_name": "string",
"is_from_module": false,
"last_detected": "string",
"misconfigured_line": 0,
"module_path": "string",
"module_remediation": {},
"module_source": "string",
"module_version": "string",
"project_name": "string",
"project_owners": [],
"project_ref": "string",
"remediation": {},
"resource_name": "string",
"resource_type": "string",
"rule": {}
}
]


Launch a snapshot scan for a given cloud asset

Method POST
Route /snapshots/entities/deployments/v1
Scope Snapshot: WRITE
PEP 8 launch_scan_job
body body · dictionary
Full body payload as JSON formatted dictionary.
resources body · array
account_id body · string
Cloud provider account ID.
asset_identifier body · string
Cloud asset identifier.
cloud_provider body · string
Cloud provider ID.
region body · string
Cloud provider region ID.
from falconpy import CloudSnapshots
falcon = CloudSnapshots(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.launch_scan_job(account_id="string",
asset_identifier="string",
cloud_provider="string",
region="string")
print(response)
[
{
"account_id": "string",
"asset_identifier": "string",
"cloud_provider": "string",
"id": "string",
"instance_type": "string",
"last_updated_timestamp": "string",
"region": "string",
"status": "string",
"status_detail": "string"
}
]


Gets the registry credentials (external endpoint)

Method GET
Route /iac/entities/image-registry-credentials/v1
Scope Infrastructure as Code (IaC): READ
PEP 8 get_iac_credentials
from falconpy import CloudSnapshots
falcon = CloudSnapshots(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.get_iac_credentials()
print(response)
{
"token": "string"
}


Gets the registry credentials

Method GET
Route /snapshots/entities/image-registry-credentials/v1
Scope Snapshot Scanner Image Download: READ
PEP 8 get_credentials
from falconpy import CloudSnapshots
falcon = CloudSnapshots(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.get_credentials()
print(response)
{
"token": "string"
}


retrieve the scan report for an instance

Method GET
Route /snapshots/entities/scanreports/v1
Scope Snapshot: READ
PEP 8 get_scan_reports
ids query · string or list of strings
the instance identifiers to fetch the report for
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CloudSnapshots
falcon = CloudSnapshots(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.get_scan_reports(ids=id_list)
print(response)
[
{
"ApplicationPackages": [],
"DetectionEngineInfo": {},
"Detections": [],
"Vulnerabilities": [],
"VulnerabilitiesTruncated": {},
"job_metadata": {},
"os_info": {},
"results": {}
}
]


Retrieve snapshot jobs identified by the provided IDs

Method GET
Route /snapshots/combined/deployments/v1
Scope Snapshot: READ
PEP 8 search_scan_jobs
filter query · string
Search snapshot jobs using a query in Falcon Query Language (FQL). Supported filters:
Available values (5)
account_idasset_identifiercloud_provider
regionstatus
limit query · integer
The upper-bound on the number of records to retrieve.
offset query · integer
The offset from where to begin.
sort query · string
The fields to sort the records on. Supported columns:
Available values (7)
account_idasset_identifiercloud_provider
instance_typelast_updated_timestampregion
status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CloudSnapshots
falcon = CloudSnapshots(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.search_scan_jobs(filter="string",
limit=integer,
offset=integer,
sort="string")
print(response)
[
{
"account_id": "string",
"asset_identifier": "string",
"cloud_provider": "string",
"id": "string",
"instance_type": "string",
"last_updated_timestamp": "string",
"region": "string",
"status": "string",
"status_detail": "string"
}
]


Retrieve snapshot jobs identified by the provided IDs

Method GET
Route /snapshots/entities/deployments/v1
Scope Snapshot: READ
PEP 8 get_scan_jobs
ids query · string or list of strings
Search snapshot jobs by ids - The maximum amount is 100 IDs
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import CloudSnapshots
falcon = CloudSnapshots(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.get_scan_jobs(ids=id_list)
print(response)
[
{
"account_id": "string",
"asset_identifier": "string",
"cloud_provider": "string",
"id": "string",
"instance_type": "string",
"last_updated_timestamp": "string",
"region": "string",
"status": "string",
"status_detail": "string"
}
]


Register customer cloud account for snapshot scanning

Method POST
Route /snapshots/entities/accounts/v1
Scope Snapshot: WRITE
PEP 8 register_account
body body · dictionary
Full body payload as JSON formatted dictionary.
aws_accounts body · array
Complete list of AWS accounts to register. Overrides any values specified below.
account_number body · string
AWS account number.
batch_regions body · list of dictionaries
Region the batch is executed.
iam_external_id body · string
The external ID of the IAM account used.
iam_role_arn body · string
The AWS ARN for the IAM account used.
kms_alias body · string
The KMS alias for the IAM account used.
processing_account body · string
The name of the processing account.
from falconpy import CloudSnapshots
falcon = CloudSnapshots(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
batch_regions = [
{
"job_definition_name": "string",
"job_queue": "string",
"region": "string"
}
]
response = falcon.register_account(aws_accounts=["string"],
account_number="string",
batch_regions=batch_regions,
iam_external_id="string",
iam_role_arn="string",
kms_alias="string",
processing_account="string")
print(response)
[
{
"account_id": "string",
"account_status": "string",
"batch_regions": [],
"cloud_provider": 0,
"iam_external_id": "string",
"iam_role_arn": "string",
"processing_account": "string",
"regions": []
}
]