Skip to content

Kubernetes Protection

The Kubernetes Protection service collection provides operations for managing Kubernetes cluster security. Query container vulnerabilities, cloud accounts, nodes, deployments, namespaces, and pods. Manage agent configurations and regenerate API keys.

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

This service collection has code examples posted to the repository.



OperationDescription
CreateAWSAccount
create_aws_account
Creates a new AWS account in our system for a customer and generates the installation script
CreateAzureSubscription
create_azure_subscription
Creates a new Azure Subscription in our system
DeleteAWSAccountsMixin0
delete_aws_accounts
Delete AWS accounts.
DeleteAzureSubscription
delete_azure_subscription
Deletes a new Azure Subscription in our system
FindContainersByContainerRunTimeVersion
find_containers_by_runtime_version
Retrieve containers by container_runtime_version
FindContainersCountAffectedByZeroDayVulnerabilities
read_zero_day_affected_counts
Retrieve containers count affected by zero day vulnerabilities
GetAWSAccountsMixin0
get_aws_accounts
Provides a list of AWS accounts.
GetAzureInstallScript
get_azure_install_script
Provides the script to run for a given tenant id and subscription IDs
GetAzureTenantConfig
get_azure_tenant_config
Gets the Azure tenant Config
GetAzureTenantIDs
get_azure_tenant_ids
Provides all the azure subscriptions and tenants
GetClusters
get_clusters
Provides the clusters acknowledged by the Kubernetes Protection service
GetCombinedCloudClusters
get_cloud_clusters
Returns a combined list of provisioned cloud accounts and known kubernetes clusters
GetHelmValuesYaml
get_helm_values_yaml
Provides a sample Helm values.yaml file for a customer to install alongside the agent Helm chart
GetLocations
get_locations
Provides the cloud locations acknowledged by the Kubernetes Protection service
GetStaticScripts
get_static_scripts
Gets static bash scripts that are used during registration
GroupContainersByManaged
group_managed_containers
Group the containers by Managed
ListAzureAccounts
list_azure_accounts
Provides the azure subscriptions registered to Kubernetes Protection
PatchAzureServicePrincipal
update_azure_service_principal
Adds the client ID for the given tenant ID to our system
PostAggregatesPods
post_aggregates_pods
Get aggregate query result for pods
PostSearchKubernetesIOMEntities
search_kubernetes_ioms
Search for Kubernetes IOMs with filtering options.Pagination is supported via Elasticsearch’s search_after search param and point in time.
ReadClusterCombined
read_clusters_combined
Retrieve kubernetes clusters identified by the provided filter criteria
ReadClusterCombinedV2
read_clusters_combined_v2
Retrieve Kubernetes cluster data
ReadClusterCount
read_cluster_count
Retrieve cluster counts
ReadClusterEnrichment
read_cluster_enrichment
Retrieve cluster enrichment data
ReadClustersByDateRangeCount
read_clusters_by_date_range
Retrieve clusters by date range counts
ReadClustersByKubernetesVersionCount
read_clusters_by_version
Bucket clusters by kubernetes version
ReadClustersByStatusCount
read_clusters_by_status
Bucket clusters by status
ReadContainerCombined
read_containers_combined
Retrieves a paginated list of containers identified by the provided filter criteria.
ReadContainerCount
read_container_counts
Retrieve container counts
ReadContainerCountByRegistry
read_containers_by_registry
Retrieves a list with the top container image registries.
ReadContainerEnrichment
read_container_enrichment
Retrieve container enrichment data
ReadContainerImageDetectionsCountByDate
read_detections_count_by_date
Retrieve count of image assessment detections on running containers over a period of time
ReadContainerImagesByMostUsed
read_images_by_most_used
Bucket container by image-digest
ReadContainerImagesByState
read_images_by_state
Retrieve count of image states running on containers
ReadContainersByDateRangeCount
read_containers_by_date_range
Retrieve containers by date range counts
ReadContainersSensorCoverage
read_sensor_coverage
Bucket containers by agent type and calculate sensor coverage
ReadContainerVulnerabilitiesBySeverityCount
read_vulnerability_counts_by_severity
Retrieve container vulnerabilities by severity counts
ReadDeploymentCombined
read_deployments_combined
Retrieve kubernetes deployments identified by the provided filter criteria
ReadDeploymentCount
read_deployment_count
Retrieve deployment counts
ReadDeploymentEnrichment
read_deployment_enrichment
Retrieve deployment enrichment data
ReadDeploymentsByDateRangeCount
read_deployment_counts_by_date_range
Retrieve deployments by date range counts
ReadDistinctContainerImageCount
read_distinct_image_count
Retrieve count of distinct images running on containers
ReadKubernetesIomByDateRange
read_iom_count_by_date_range
Returns the count of Kubernetes IOMs by the date. by default it’s for 7 days.
ReadKubernetesIomCount
read_iom_count
Returns the total count of Kubernetes IOMs over the past seven days
ReadKubernetesIomEntities
read_iom_entities
Retrieve Kubernetes IOM entities identified by the provided IDs
ReadNamespaceCount
read_namespace_count
Retrieve namespace counts
ReadNamespacesByDateRangeCount
read_namespaces_by_date_range_count
Retrieve namespaces by date range counts
ReadNodeCombined
read_nodes_combined
Retrieve kubernetes nodes identified by the provided filter criteria
ReadNodeCount
read_node_count
Retrieve node counts
ReadNodeEnrichment
read_node_enrichment
Retrieve node enrichment data
ReadNodesByCloudCount
read_node_counts_by_cloud
Bucket nodes by cloud providers
ReadNodesByContainerEngineVersionCount
read_nodes_by_container_engine_version
Bucket nodes by their container engine version
ReadNodesByDateRangeCount
read_node_counts_by_date_range
Retrieve nodes by date range counts
ReadPodCombined
read_pods_combined
Retrieve kubernetes pods identified by the provided filter criteria
ReadPodCount
read_pod_counts
Retrieve pod counts
ReadPodEnrichment
read_pod_enrichment
Retrieve pod enrichment data
ReadPodsByDateRangeCount
read_pod_counts_by_date_range
Retrieve pods by date range counts
ReadRunningContainerImages
read_running_images
Retrieve images on running containers
ReadVulnerableContainerImageCount
read_vulnerable_container_count
Retrieve count of vulnerable images running on containers
RegenerateAPIKey
regenerate
Regenerate API key for docker registry integrations
SearchAndReadKubernetesIomEntities
search_and_read_ioms
Retrieves a list of Kubernetes IOMs identified by the provided search criteria.
SearchKubernetesIoms
search_ioms
Search Kubernetes IOMs by the provided search criteria. this endpoint returns a list of Kubernetes IOM UUIDs matching the query
TriggerScan
trigger_scan
Triggers a dry run or a full scan of a customer’s kubernetes footprint
UpdateAWSAccount
update_aws_account
Updates the AWS account per the query parameters provided

Creates a new AWS account in our system for a customer and generates the installation script

Method POST
Route /kubernetes-protection/entities/accounts/aws/v1
Scope Kubernetes Protection: WRITE
PEP 8 create_aws_account
body body · dictionary
Full body payload as JSON formatted dictionary.
resources body · array
account_id body · string
Account ID.
region body · string
Region.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.create_aws_account(account_id="string", region="string")
print(response)
[
{
"account_id": "string",
"aws_permissions_status": [],
"cid": "string",
"cloudformation_url": "string",
"created_at": "string",
"from_cspm": false,
"iam_role_arn": "string",
"is_master": false,
"organization_id": "string",
"region": "string",
"status": "string",
"updated_at": "string"
}
]


Creates a new Azure Subscription in our system

Method POST
Route /kubernetes-protection/entities/accounts/azure/v1
Scope Kubernetes Protection: WRITE
PEP 8 create_azure_subscription
body body · dictionary
Full body payload as JSON formatted dictionary.
resources body · array
subscription_id body · string
Azure subscription ID.
tenant_id body · string
Tenant ID.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.create_azure_subscription(subscription_id="string",
tenant_id="string")
print(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Delete AWS accounts.

Method DELETE
Route /kubernetes-protection/entities/accounts/aws/v1
Scope Kubernetes Protection: WRITE
PEP 8 delete_aws_accounts
ids query · string or list of strings
AWS Account IDs
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.delete_aws_accounts(ids=id_list)
print(response)
{
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}


Deletes a new Azure Subscription in our system

Method DELETE
Route /kubernetes-protection/entities/accounts/azure/v1
Scope Kubernetes Protection: WRITE
PEP 8 delete_azure_subscription
ids query · string or list of strings
Azure Subscription IDs
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.delete_azure_subscription(ids=id_list)
print(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Retrieve containers by container_runtime_version

Method GET
Route /container-security/aggregates/containers/find-by-runtimeversion/v1
Scope Falcon Container Image: READ
PEP 8 find_containers_by_runtime_version
limit query · integer
The upper-bound on the number of records to retrieve. Maximum limit: 200.
offset query · integer
The offset from where to begin. Maximum offset = 10000 - limit.
sort query · string
Field to sort results by
filter query · string
Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (48)
agent_idagent_typeai_related
allow_privilege_escalationapp_namecid
cloud_account_idcloud_instance_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_idcontainer_image_id
container_namecve_iddetection_name
first_seenimage_detection_countimage_digest
image_has_been_assessedimage_idimage_registry
image_repositoryimage_tagimage_vulnerability_count
insecure_mount_sourceinsecure_mount_typeinsecure_propagation_mode
interactive_modeipv4ipv6
kac_agent_idlabelslast_seen
namespacenode_namenode_uid
package_name_versionpod_idpod_name
portprivilegedroot_write_access
run_as_root_grouprun_as_root_userrunning_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.find_containers_by_runtime_version(limit=integer,
offset=integer,
sort="string",
filter="string")
print(response)
[
{
"cid": "string",
"cloud_name": "string",
"cluster_name": "string",
"container_runtime_version": "string",
"created_at": "string",
"first_seen": "string",
"last_seen": "string",
"node_name": "string",
"pod_name": []
}
]


FindContainersCountAffectedByZeroDayVulnerabilities

Section titled “FindContainersCountAffectedByZeroDayVulnerabilities”

Retrieve containers count affected by zero day vulnerabilities

Method GET
Route /container-security/aggregates/containers/count-by-zero-day/v1
Scope Falcon Container Image: READ
PEP 8 read_zero_day_affected_counts
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_zero_day_affected_counts()
print(response)
{
"Resources": [
{
"count": 0,
"label": "string"
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Provides a list of AWS accounts.

Method GET
Route /kubernetes-protection/entities/accounts/aws/v1
Scope Kubernetes Protection: READ
PEP 8 get_aws_accounts
ids query · string or list of strings
AWS Account IDs
is_horizon_acct query · string
Filter by whether an account originates from Horizon or not
Available values (2)
falsetrue
status query · string
Filter by account status
Available values (2)
operationalprovisioned
limit query · integer
Limit returned accounts
offset query · integer
Offset returned accounts
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(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_aws_accounts(ids=id_list,
is_horizon_acct="string",
limit=integer,
offset=integer,
status="string")
print(response)
[
{
"account_id": "string",
"aws_permissions_status": [],
"cid": "string",
"cloudformation_url": "string",
"created_at": "string",
"from_cspm": false,
"iam_role_arn": "string",
"is_master": false,
"organization_id": "string",
"region": "string",
"status": "string",
"updated_at": "string"
}
]


Provides the script to run for a given tenant id and subscription IDs

Method GET
Route /kubernetes-protection/entities/user-script/azure/v1
Scope Kubernetes Protection: READ
PEP 8 get_azure_install_script
id query · string
Azure Tenant ID
subscription_id query · string or list of strings
Azure Subscription IDs
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(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_azure_install_script(id="string", subscription_id=id_list)
print(response)
[
{
"script": "string",
"service_account_public_keys": []
}
]


Gets the Azure tenant Config

Method GET
Route /kubernetes-protection/entities/config/azure/v1
Scope Kubernetes Protection: READ
PEP 8 get_azure_tenant_config
ids query · string or list of strings
Azure Tenant IDs
limit query · integer
Limit returned accounts
offset query · integer
Offset returned accounts
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(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_azure_tenant_config(ids=id_list,
limit=integer,
offset=integer)
print(response)
[
{
"client_id": "string",
"public_certificate": "string",
"tenant_id": "string"
}
]


Provides all the azure subscriptions and tenants

Method GET
Route /kubernetes-protection/entities/tenants/azure/v1
Scope Kubernetes Protection: READ
PEP 8 get_azure_tenant_ids
ids query · string or list of strings
Azure Tenant IDs
status query · string
Cluster Status
Available values (3)
Not InstalledRunningStopped
limit query · integer
Limit returned accounts
offset query · integer
Offset returned accounts
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(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_azure_tenant_ids(ids=id_list,
status="string",
limit=integer,
offset=integer)
print(response)
[
{
"subscription_ids": [],
"tenant_id": "string"
}
]


Provides the clusters acknowledged by the Kubernetes Protection service

Method GET
Route /kubernetes-protection/entities/kubernetes/clusters/v1
Scope Kubernetes Protection: READ
PEP 8 get_clusters
cluster_names query · string or list of strings
Cluster name. For EKS it will be cluster ARN.
status query · string or list of strings
Cluster Status
Available values (3)
Not InstalledRunningStopped
account_ids query · string or list of strings
Cluster Account id. For EKS it will be AWS account ID.
locations query · string or list of strings
Cloud location
cluster_service query · string
Cluster Service
Available values (2)
akseks
limit query · integer
Limit returned accounts
offset query · integer
Offset returned accounts
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(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_clusters(account_ids=id_list,
cluster_names=id_list,
cluster_service="string",
limit=integer,
locations=id_list,
status=id_list,
offset=integer)
print(response)
[
{
"account_id": "string",
"agent_version": {},
"cid": "string",
"cluster_id": "string",
"cluster_name": "string",
"cluster_service": "string",
"created_at": "string",
"helm_version": {},
"k8s_version": {},
"last_heartbeat_at": "string",
"location": "string",
"status": "string",
"updated_at": "string"
}
]


Returns a combined list of provisioned cloud accounts and known kubernetes clusters

Method GET
Route /kubernetes-protection/entities/cloud_cluster/v1
Scope Kubernetes Protection: READ
PEP 8 get_cloud_clusters
locations query · string or list of strings
Cloud location
ids query · string or list of strings
Cloud Account IDs
cluster_service query · string or list of strings
Cluster Service
Available values (2)
akseks
cluster_status query · string or list of strings
Cluster Status
Available values (3)
Not InstalledRunningStopped
limit query · integer
Limit returned accounts
offset query · integer
Offset returned accounts
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
cluser_service body · string or list of strings
Cluster Service.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(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_cloud_clusters(cluser_service=id_list,
cluster_status=id_list,
ids=id_list,
locations=id_list,
limit=integer,
offset=integer)
print(response)
[
{
"account_id": "string",
"aws_meta": {},
"azure_meta": {},
"cloud_status": "string",
"cluster_name": "string",
"cluster_service": "string",
"cluster_status": "string",
"from_cspm": false,
"location": "string"
}
]


Provides a sample Helm values.yaml file for a customer to install alongside the agent Helm chart

Method GET
Route /kubernetes-protection/entities/integration/agent/v1
Scope Kubernetes Protection: READ
PEP 8 get_helm_values_yaml
cluster_name query · string
Cluster name. For EKS it will be cluster ARN.
is_self_managed_cluster query · boolean
Set to true if the cluster is not managed by a cloud provider, false if it is.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.get_helm_values_yaml(cluster_name="string",
is_self_managed_cluster=boolean)
print(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Provides the cloud locations acknowledged by the Kubernetes Protection service

Method GET
Route /kubernetes-protection/entities/cloud-locations/v1
Scope Kubernetes Protection: READ
PEP 8 get_locations
clouds query · string or list of strings
Cloud Provider
Available values (3)
awsazuregcp
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(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_locations(clouds=id_list)
print(response)
[
{
"cloud": "string",
"location": "string"
}
]


Gets static bash scripts that are used during registration

Method GET
Route /kubernetes-protection/entities/gen/scripts/v1
Scope Kubernetes Protection: READ
PEP 8 get_static_scripts
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.get_static_scripts()
print(response)
[
{}
]


Group the containers by Managed

Method GET
Route /container-security/aggregates/containers/group-by-managed/v1
Scope Falcon Container Image: READ
PEP 8 group_managed_containers
filter query · string
Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (46)
agent_idai_relatedallow_privilege_escalation
app_namecidcloud_account_id
cloud_instance_idcloud_namecloud_region
cloud_servicecluster_idcluster_name
container_idcontainer_image_idcontainer_name
cve_iddetection_namefirst_seen
image_detection_countimage_digestimage_has_been_assessed
image_idimage_registryimage_repository
image_tagimage_vulnerability_countinsecure_mount_source
insecure_mount_typeinsecure_propagation_modeinteractive_mode
ipv4ipv6kac_agent_id
labelslast_seennamespace
node_namenode_uidpod_id
pod_nameportprivileged
root_write_accessrun_as_root_grouprun_as_root_user
running_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.group_managed_containers(filter="string")
print(response)
[
{
"managed": 0,
"unmanaged": 0
}
]


Provides the azure subscriptions registered to Kubernetes Protection

Method GET
Route /kubernetes-protection/entities/accounts/azure/v1
Scope Kubernetes Protection: READ
PEP 8 list_azure_accounts
ids query · string or list of strings
Azure Tenant IDs
subscription_id query · string or list of strings
Azure Subscription IDs
status query · string
Filter by account status
Available values (2)
operationalprovisioned
is_horizon_acct query · string
Filter by whether an account originates from Horizon or not
Available values (2)
falsetrue
limit query · integer
Limit returned accounts
offset query · integer
Offset returned accounts
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.list_azure_accounts(ids=id_list,
is_horizon_acct="string",
subscription_id=id_list,
limit=integer,
offset=integer,
status="string")
print(response)
[
{
"azure_permissions_status": [],
"created_at": "string",
"from_cspm": false,
"status": "string",
"subscription_id": "string",
"tenant_id": "string",
"updated_at": "string"
}
]


Adds the client ID for the given tenant ID to our system

Method PATCH
Route /kubernetes-protection/entities/service-principal/azure/v1
Scope Kubernetes Protection: WRITE
PEP 8 update_azure_service_principal
id query · string
Azure Tenant ID
client_id query · string
Azure Client ID
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.update_azure_service_principal(id="string",
client_id="string")
print(response)
[
{
"client_id": "string",
"public_certificate": "string",
"tenant_id": "string"
}
]


Get aggregate query result for pods

Method POST
Route /container-security/aggregates/pods/v1
Scope Falcon Container Image: WRITE
PEP 8 post_aggregates_pods
body body · dictionary
Full body payload as JSON formatted dictionary.
date_ranges body · list of dictionaries
List of date range objects.
field body · string
The field to aggregate on.
filter body · string
FQL filter expression.
interval body · string
Time interval for aggregation.
min_doc_count body · integer
Minimum document count threshold.
missing body · string
Missing value handling.
name body · string
Name of the aggregation.
q body · string
Full text search across all metadata fields.
ranges body · list of dictionaries
List of range objects.
size body · integer
Maximum number of results.
sort body · string
Sort expression.
sub_aggregates body · list of strings
List of sub-aggregate expressions.
time_zone body · string
Time zone for date operations.
type body · string
Type of aggregation (terms, date_histogram, etc.)
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
date_ranges = [
{
"from": "string",
"to": "string"
}
]
ranges = [
{
"From": 0,
"To": 0
}
]
response = falcon.post_aggregates_pods(date_ranges=date_ranges,
field="string",
filter="string",
interval="string",
min_doc_count=integer,
missing="string",
name="string",
q="string",
ranges=ranges,
size=integer,
sort="string",
sub_aggregates=["string"],
time_zone="string",
type="string")
print(response)
[
{
"buckets": [],
"doc_count_error_upper_bound": 0,
"hits": {},
"name": "string",
"sum_other_doc_count": 0
}
]


Search for Kubernetes IOMs with filtering options.Pagination is supported via Elasticsearch’s search_after search param and point in time.

Method POST
Route /container-security/combined/kubernetes-ioms/search/v1
Scope Falcon Container Image: WRITE
PEP 8 search_kubernetes_ioms
body body · dictionary
Full body payload as JSON formatted dictionary.
pit body · string
Elasticsearch Point in Time ID used to paginate
search_after body · array
Sort value to continue the pagination from
filter query · string
FQL filter to search Kubernetes IOM entities
sort query · string
Sort specification for results
limit query · integer
Maximum number of records to return (default: 100, max: 500)
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.search_kubernetes_ioms(filter="string",
sort="string",
limit=integer)
print(response)
[
{
"pit": "string",
"results": {},
"search_after": []
}
]


Retrieve kubernetes clusters identified by the provided filter criteria

Method GET
Route /container-security/combined/clusters/v1
Scope Falcon Container Image: READ
PEP 8 read_clusters_combined
filter query · string
Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (23)
accessagent_idagent_status
agent_typecidcloud_account_id
cloud_namecloud_regioncloud_service
cluster_idcluster_namecluster_status
container_countiar_coveragekac_agent_id
kubernetes_versionlast_seenmanagement_status
namespacenode_countpod_count
pod_nametags
sort query · string
Field to sort results by
limit query · integer
The upper-bound on the number of records to retrieve. Maximum limit: 200.
offset query · integer
The offset from where to begin. Maximum offset = 10000 - limit.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_clusters_combined(filter="string",
limit=integer,
offset=integer,
sort="string")
print(response)
[
{
"access": "string",
"agent_status": "string",
"agents": [],
"cid": "string",
"cloud_account_id": "string",
"cloud_name": "string",
"cloud_region": "string",
"cloud_service": "string",
"cluster_id": "string",
"cluster_name": "string",
"cluster_security_group": "string",
"cluster_status": "string",
"container_count": 0,
"first_seen": "string",
"iar_coverage": false,
"kac_agent_active": false,
"kac_agent_id": "string",
"kubernetes_version": "string",
"labels_list": [],
"last_seen": "string",
"management_status": "string",
"node_count": 0,
"pod_count": 0,
"security_group": "string",
"tags": {},
"virtual_network": "string"
}
]


Retrieve Kubernetes cluster data

Method GET
Route /container-security/combined/clusters/v2
Scope Falcon Container Image: READ
PEP 8 read_clusters_combined_v2
filter query · string
Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (23)
accessagent_idagent_status
agent_typecidcloud_account_id
cloud_namecloud_regioncloud_service
cluster_idcluster_namecluster_status
container_countiar_coveragekac_agent_id
kubernetes_versionlast_seenmanagement_status
namespacenode_countpod_count
pod_nametags
sort query · string
The fields to sort the records on.
include_counts query · boolean
Flag to include node, pod and container counts in the response
limit query · integer
The upper-bound on the number of records to retrieve. Maximum limit: 200.
offset query · integer
The offset from where to begin. Maximum offset = 10000 - limit.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_clusters_combined_v2(filter="string",
include_counts=boolean,
limit=integer,
offset=integer,
sort="string")
print(response)
[
{
"access": "string",
"agent_coverage": {},
"cid": "string",
"cloud_provider_info": {},
"cloud_resource_id": "string",
"cluster_id": "string",
"cluster_name": "string",
"cluster_status": "string",
"kubernetes_version": "string",
"labels": {},
"management_status": "string",
"resource_counts": {},
"security_group": "string",
"tags": {},
"timestamps": {},
"virtual_network": "string"
}
]


Retrieve cluster counts

Method GET
Route /container-security/aggregates/clusters/count/v1
Scope Falcon Container Image: READ
PEP 8 read_cluster_count
filter query · string
Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (23)
accessagent_idagent_status
agent_typecidcloud_account_id
cloud_namecloud_regioncloud_service
cluster_idcluster_namecluster_status
container_countiar_coveragekac_agent_id
kubernetes_versionlast_seenmanagement_status
namespacenode_countpod_count
pod_nametags
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_cluster_count(filter="string")
print(response)
{
"Resources": [
{
"count": 0,
"label": "string"
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Retrieve cluster enrichment data

Method GET
Route /container-security/aggregates/enrichment/clusters/entities/v1
Scope Falcon Container Image: READ
PEP 8 read_cluster_enrichment
cluster_id query · string or list of strings
One or more cluster ids for which to retrieve enrichment info
filter query · string
Supported filter fields:
Available values (7)
cloud_account_idcloud_namecloud_region
cluster_idcluster_namelast_seen
namespace
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.read_cluster_enrichment(cluster_id=id_list, filter="string")
print(response)
{
"EnrichmentData": [
{
"cluster_id": "string",
"enrichment_data": {}
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Retrieve clusters by date range counts

Method GET
Route /container-security/aggregates/clusters/count-by-date/v1
Scope Falcon Container Image: READ
PEP 8 read_clusters_by_date_range
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_clusters_by_date_range()
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Bucket clusters by kubernetes version

Method GET
Route /container-security/aggregates/clusters/count-by-kubernetes-version/v1
Scope Falcon Container Image: READ
PEP 8 read_clusters_by_version
filter query · string
Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (23)
accessagent_idagent_status
agent_typecidcloud_account_id
cloud_namecloud_regioncloud_service
cluster_idcluster_namecluster_status
container_countiar_coveragekac_agent_id
kubernetes_versionlast_seenmanagement_status
namespacenode_countpod_count
pod_nametags
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_clusters_by_version(filter="string")
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Bucket clusters by status

Method GET
Route /container-security/aggregates/clusters/count-by-status/v1
Scope Falcon Container Image: READ
PEP 8 read_clusters_by_status
filter query · string
Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (23)
accessagent_idagent_status
agent_typecidcloud_account_id
cloud_namecloud_regioncloud_service
cluster_idcluster_namecluster_status
container_countiar_coveragekac_agent_id
kubernetes_versionlast_seenmanagement_status
namespacenode_countpod_count
pod_nametags
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_clusters_by_status(filter="string")
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Retrieves a paginated list of containers identified by the provided filter criteria.

Method GET
Route /container-security/combined/containers/v1
Scope Falcon Container Image: READ
PEP 8 read_containers_combined
filter query · string
Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (48)
agent_idagent_typeai_related
allow_privilege_escalationapp_namecid
cloud_account_idcloud_instance_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_idcontainer_image_id
container_namecve_iddetection_name
first_seenimage_detection_countimage_digest
image_has_been_assessedimage_idimage_registry
image_repositoryimage_tagimage_vulnerability_count
insecure_mount_sourceinsecure_mount_typeinsecure_propagation_mode
interactive_modeipv4ipv6
kac_agent_idlabelslast_seen
namespacenode_namenode_uid
package_name_versionpod_idpod_name
portprivilegedroot_write_access
run_as_root_grouprun_as_root_userrunning_status
sort query · string
Field to sort results by
limit query · integer
The upper-bound on the number of records to retrieve. Maximum limit: 200.
offset query · integer
The offset from where to begin. Maximum offset = 10000 - limit.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_containers_combined(filter="string",
limit=integer,
offset=integer,
sort="string")
print(response)
[
{
"agents": [],
"allow_privilege_escalation": false,
"cid": "string",
"cloud": "string",
"cloud_account_id": "string",
"cloud_region": "string",
"cluster_id": "string",
"cluster_name": "string",
"config_labels": "string",
"config_user": "string",
"container_image_id": "string",
"created_at": 0,
"cve_ids": [],
"first_seen": 0,
"host_config_devices": "string",
"id": "string",
"image_application_package_count": 0,
"image_assessed_at": 0,
"image_detection_count": 0,
"image_detection_id_list": [],
"image_detection_name_list": [],
"image_detection_severity_by_type": {},
"image_digest": "string",
"image_has_been_assessed": false,
"image_highest_severity_vulnerability": "string",
"image_id": "string",
"image_package_count": 0,
"image_registry": "string",
"image_repo": "string",
"image_tag": "string",
"image_vulnerability_count": 0,
"image_vulnerability_severity_by_type": {},
"insecure_mount_source": "string",
"insecure_mount_type": "string",
"insecure_propagation_mode": false,
"interactive_mode": false,
"ipv4": "string",
"ipv6": "string",
"kpa_coverage": false,
"labels": {},
"labels_list": [],
"last_seen": 0,
"linux_sensor_aid": "string",
"linux_sensor_config_build": "string",
"linux_sensor_coverage": false,
"lumos_sensor_aid": "string",
"lumos_sensor_config_build": "string",
"lumos_sensor_coverage": false,
"name": "string",
"namespace": "string",
"node_id": "string",
"node_name": "string",
"pod_id": "string",
"pod_name": "string",
"port_list": [],
"privileged": false,
"root_write_access": false,
"rpd": [],
"run_as_root_group": false,
"run_as_root_user": false,
"running_status": false,
"snapshot_coverage": false,
"unidentified": false,
"volume_mounts": "string"
}
]


Retrieve container counts

Method GET
Route /container-security/aggregates/containers/count/v1
Scope Falcon Container Image: READ
PEP 8 read_container_counts
filter query · string
Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (48)
agent_idagent_typeai_related
allow_privilege_escalationapp_namecid
cloud_account_idcloud_instance_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_idcontainer_image_id
container_namecve_iddetection_name
first_seenimage_detection_countimage_digest
image_has_been_assessedimage_idimage_registry
image_repositoryimage_tagimage_vulnerability_count
insecure_mount_sourceinsecure_mount_typeinsecure_propagation_mode
interactive_modeipv4ipv6
kac_agent_idlabelslast_seen
namespacenode_namenode_uid
package_name_versionpod_idpod_name
portprivilegedroot_write_access
run_as_root_grouprun_as_root_userrunning_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_container_counts(filter="string")
print(response)
{
"Resources": [
{
"count": 0,
"label": "string"
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Retrieves a list with the top container image registries.

Method GET
Route /container-security/aggregates/containers/count-by-registry/v1
Scope Falcon Container Image: READ
PEP 8 read_containers_by_registry
under_assessment query · boolean
(true/false) whether to return registries under assessment or not under assessment. If not provided all registries are considered
limit query · integer
The upper-bound on the number of records to retrieve.
filter query · string
Retrieve count of Kubernetes container image registries that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (48)
agent_idagent_typeai_related
allow_privilege_escalationapp_namecid
cloud_account_idcloud_instance_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_idcontainer_image_id
container_namecve_iddetection_name
first_seenimage_detection_countimage_digest
image_has_been_assessedimage_idimage_registry
image_repositoryimage_tagimage_vulnerability_count
insecure_mount_sourceinsecure_mount_typeinsecure_propagation_mode
interactive_modeipv4ipv6
kac_agent_idlabelslast_seen
namespacenode_namenode_uid
package_name_versionpod_idpod_name
portprivilegedroot_write_access
run_as_root_grouprun_as_root_userrunning_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_containers_by_registry(filter="string",
under_assessment=boolean,
limit=integer)
print(response)
{
"buckets": [
{
"count": 0,
"label": "string"
}
],
"name": "string"
}


Retrieve container enrichment data

Method GET
Route /container-security/aggregates/enrichment/containers/entities/v1
Scope Falcon Container Image: READ
PEP 8 read_container_enrichment
container_id query · string or list of strings
One or more container ids for which to retrieve enrichment info
filter query · string
Supported filter fields:
Available values (7)
cloud_account_idcloud_namecloud_region
cluster_idcluster_namelast_seen
namespace
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.read_container_enrichment(container_id=id_list,
filter="string")
print(response)
{
"EnrichmentData": [
{
"container_id": "string",
"enrichment_data": {}
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Retrieve count of image assessment detections on running containers over a period of time

Method GET
Route /container-security/aggregates/containers/image-detections-count-by-date/v1
Scope Falcon Container Image: READ
PEP 8 read_detections_count_by_date
filter query · string
Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (48)
agent_idagent_typeai_related
allow_privilege_escalationapp_namecid
cloud_account_idcloud_instance_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_idcontainer_image_id
container_namecve_iddetection_name
first_seenimage_detection_countimage_digest
image_has_been_assessedimage_idimage_registry
image_repositoryimage_tagimage_vulnerability_count
insecure_mount_sourceinsecure_mount_typeinsecure_propagation_mode
interactive_modeipv4ipv6
kac_agent_idlabelslast_seen
namespacenode_namenode_uid
package_name_versionpod_idpod_name
portprivilegedroot_write_access
run_as_root_grouprun_as_root_userrunning_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_detections_count_by_date(filter="string")
print(response)
{
"buckets": [
{
"count": 0,
"label": "string"
}
],
"name": "string"
}


Bucket container by image-digest

Method GET
Route /container-security/aggregates/images/most-used/v1
Scope Falcon Container Image: READ
PEP 8 read_images_by_most_used
filter query · string
Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (48)
agent_idagent_typeai_related
allow_privilege_escalationapp_namecid
cloud_account_idcloud_instance_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_idcontainer_image_id
container_namecve_iddetection_name
first_seenimage_detection_countimage_digest
image_has_been_assessedimage_idimage_registry
image_repositoryimage_tagimage_vulnerability_count
insecure_mount_sourceinsecure_mount_typeinsecure_propagation_mode
interactive_modeipv4ipv6
kac_agent_idlabelslast_seen
namespacenode_namenode_uid
package_name_versionpod_idpod_name
portprivilegedroot_write_access
run_as_root_grouprun_as_root_userrunning_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_images_by_most_used(filter="string")
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Retrieve count of image states running on containers

Method GET
Route /container-security/aggregates/containers/images-by-state/v1
Scope Falcon Container Image: READ
PEP 8 read_images_by_state
filter query · string
Filter using a query in Falcon Query Language (FQL). Supported filters: cid
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_images_by_state(filter="string")
print(response)
{
"buckets": [
{
"count": 0,
"label": "string"
}
],
"name": "string"
}


Retrieve containers by date range counts

Method GET
Route /container-security/aggregates/containers/count-by-date/v1
Scope Falcon Container Image: READ
PEP 8 read_containers_by_date_range
filter query · string
Get container counts using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (48)
agent_idagent_typeai_related
allow_privilege_escalationapp_namecid
cloud_account_idcloud_instance_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_idcontainer_image_id
container_namecve_iddetection_name
first_seenimage_detection_countimage_digest
image_has_been_assessedimage_idimage_registry
image_repositoryimage_tagimage_vulnerability_count
insecure_mount_sourceinsecure_mount_typeinsecure_propagation_mode
interactive_modeipv4ipv6
kac_agent_idlabelslast_seen
namespacenode_namenode_uid
package_name_versionpod_idpod_name
portprivilegedroot_write_access
run_as_root_grouprun_as_root_userrunning_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_containers_by_date_range(filter="string")
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Bucket containers by agent type and calculate sensor coverage

Method GET
Route /container-security/aggregates/containers/sensor-coverage/v1
Scope Falcon Container Image: READ
PEP 8 read_sensor_coverage
filter query · string
Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (48)
agent_idagent_typeai_related
allow_privilege_escalationapp_namecid
cloud_account_idcloud_instance_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_idcontainer_image_id
container_namecve_iddetection_name
first_seenimage_detection_countimage_digest
image_has_been_assessedimage_idimage_registry
image_repositoryimage_tagimage_vulnerability_count
insecure_mount_sourceinsecure_mount_typeinsecure_propagation_mode
interactive_modeipv4ipv6
kac_agent_idlabelslast_seen
namespacenode_namenode_uid
package_name_versionpod_idpod_name
portprivilegedroot_write_access
run_as_root_grouprun_as_root_userrunning_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_sensor_coverage(filter="string")
print(response)
[
{
"buckets": [],
"name": "string"
}
]


ReadContainerVulnerabilitiesBySeverityCount

Section titled “ReadContainerVulnerabilitiesBySeverityCount”

Retrieve container vulnerabilities by severity counts

Method GET
Route /container-security/aggregates/containers/vulnerability-count-by-severity/v1
Scope Falcon Container Image: READ
PEP 8 read_vulnerability_counts_by_severity
filter query · string
Get vulnerabilities count by severity for container using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (48)
agent_idagent_typeai_related
allow_privilege_escalationapp_namecid
cloud_account_idcloud_instance_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_idcontainer_image_id
container_namecve_iddetection_name
first_seenimage_detection_countimage_digest
image_has_been_assessedimage_idimage_registry
image_repositoryimage_tagimage_vulnerability_count
insecure_mount_sourceinsecure_mount_typeinsecure_propagation_mode
interactive_modeipv4ipv6
kac_agent_idlabelslast_seen
namespacenode_namenode_uid
package_name_versionpod_idpod_name
portprivilegedroot_write_access
run_as_root_grouprun_as_root_userrunning_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_vulnerability_counts_by_severity(filter="string")
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Retrieve kubernetes deployments identified by the provided filter criteria

Method GET
Route /container-security/combined/deployments/v1
Scope Falcon Container Image: READ
PEP 8 read_deployments_combined
filter query · string
Search Kubernetes deployments using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (19)
agent_idagent_typeannotations_list
cidcloud_account_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namedeployment_iddeployment_name
deployment_statusfirst_seenkac_agent_id
last_seennamespacepod_count
resource_status
sort query · string
Field to sort results by
limit query · integer
The upper-bound on the number of records to retrieve. Maximum limit: 200.
offset query · integer
The offset from where to begin. Maximum offset = 10000 - limit.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_deployments_combined(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 deployment counts

Method GET
Route /container-security/aggregates/deployments/count/v1
Scope Falcon Container Image: READ
PEP 8 read_deployment_count
filter query · string
Retrieve count of Kubernetes deployments that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (19)
agent_idagent_typeannotations_list
cidcloud_account_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namedeployment_iddeployment_name
deployment_statusfirst_seenkac_agent_id
last_seennamespacepod_count
resource_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_deployment_count(filter="string")
print(response)
{
"Resources": [
{
"count": 0,
"label": "string"
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Retrieve deployment enrichment data

Method GET
Route /container-security/aggregates/enrichment/deployments/entities/v1
Scope Falcon Container Image: READ
PEP 8 read_deployment_enrichment
deployment_id query · string or list of strings
One or more deployment ids for which to retrieve enrichment info
filter query · string
Supported filter fields:
Available values (7)
cloud_account_idcloud_namecloud_region
cluster_idcluster_namelast_seen
namespace
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.read_deployment_enrichment(deployment_id=id_list,
filter="string")
print(response)
{
"EnrichmentData": [
{
"deployment_id": "string",
"enrichment_data": {}
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Retrieve deployments by date range counts

Method GET
Route /container-security/aggregates/deployments/count-by-date/v1
Scope Falcon Container Image: READ
PEP 8 read_deployment_counts_by_date_range
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_deployment_counts_by_date_range()
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Retrieve count of distinct images running on containers

Method GET
Route /container-security/aggregates/images/count-by-distinct/v1
Scope Falcon Container Image: READ
PEP 8 read_distinct_image_count
filter query · string
Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (48)
agent_idagent_typeai_related
allow_privilege_escalationapp_namecid
cloud_account_idcloud_instance_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_idcontainer_image_id
container_namecve_iddetection_name
first_seenimage_detection_countimage_digest
image_has_been_assessedimage_idimage_registry
image_repositoryimage_tagimage_vulnerability_count
insecure_mount_sourceinsecure_mount_typeinsecure_propagation_mode
interactive_modeipv4ipv6
kac_agent_idlabelslast_seen
namespacenode_namenode_uid
package_name_versionpod_idpod_name
portprivilegedroot_write_access
run_as_root_grouprun_as_root_userrunning_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_distinct_image_count(filter="string")
print(response)
{
"buckets": [
{
"count": 0,
"label": "string"
}
],
"name": "string"
}


Returns the count of Kubernetes IOMs by the date. by default it’s for 7 days.

Method GET
Route /container-security/aggregates/kubernetes-ioms/count-by-date/v1
Scope Falcon Container Image: READ
PEP 8 read_iom_count_by_date_range
filter query · string
Filter Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (5)
cidcreated_timestampdetect_timestamp
preventedseverity
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_iom_count_by_date_range(filter="string")
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Returns the total count of Kubernetes IOMs over the past seven days

Method GET
Route /container-security/aggregates/kubernetes-ioms/count/v1
Scope Falcon Container Image: READ
PEP 8 read_iom_count
filter query · string
Filter Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (5)
cidcreated_timestampdetect_timestamp
preventedseverity
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_iom_count(filter="string")
print(response)
[
{
"count": 0,
"label": "string"
}
]


Retrieve Kubernetes IOM entities identified by the provided IDs

Method GET
Route /container-security/entities/kubernetes-ioms/v1
Scope Falcon Container Image: READ
PEP 8 read_iom_entities
ids query · string or list of strings
Search Kubernetes IOMs 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 KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.read_iom_entities(ids=id_list)
print(response)
[
{
"admission_review_action": "string",
"admission_review_id": "string",
"admission_review_msg": "string",
"admission_review_operation": "string",
"cid": "string",
"cis_id": [],
"cloud_service": "string",
"cluster_id": "string",
"cluster_name": "string",
"containers_impacted_ai_related": false,
"containers_impacted_count": "string",
"containers_impacted_ids": [],
"custom_rego_uuid": "string",
"description": "string",
"detect_timestamp": "string",
"detection_id": "string",
"detection_name": "string",
"detection_type": "string",
"image_assessment_matched_cves": [],
"image_assessment_policy_description": "string",
"image_assessment_policy_id": "string",
"image_assessment_policy_name": "string",
"image_digest": "string",
"image_has_been_assessed": false,
"image_id": "string",
"image_registry": "string",
"image_repository": "string",
"image_tag": "string",
"last_seen_timestamp": "string",
"mitigation_id": "string",
"mitigation_name": "string",
"namespace": "string",
"nist_id": "string",
"pod_label": "string",
"pods_impacted_count": "string",
"policy_id": "string",
"policy_name": "string",
"ports": [],
"prevented": "string",
"remediation": "string",
"resource_creation_timestamp": "string",
"resource_group_name": "string",
"resource_id": "string",
"resource_name": "string",
"resource_type": "string",
"sensitive_env_vars": [],
"service_type": "string",
"severity": "string",
"tactic_id": "string",
"tactic_name": "string",
"technique_id": "string",
"technique_name": "string"
}
]


Retrieve namespace counts

Method GET
Route /container-security/aggregates/namespaces/count/v1
Scope Falcon Container Image: READ
PEP 8 read_namespace_count
filter query · string
Retrieve count of Kubernetes namespaces that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (16)
agent_idagent_typeannotations_list
cidcloud_account_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namefirst_seenkac_agent_id
last_seennamespace_idnamespace_name
resource_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_namespace_count(filter="string")
print(response)
{
"Resources": [
{
"count": 0,
"label": "string"
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Retrieve namespaces by date range counts

Method GET
Route /container-security/aggregates/namespaces/count-by-date/v1
Scope Falcon Container Image: READ
PEP 8 read_namespaces_by_date_range_count
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_namespaces_by_date_range_count()
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Retrieve kubernetes nodes identified by the provided filter criteria

Method GET
Route /container-security/combined/nodes/v1
Scope Falcon Container Image: READ
PEP 8 read_nodes_combined
filter query · string
Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (22)
agent_idagent_typeannotations_list
cidcloud_account_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_countcontainer_runtime_version
first_seenimage_digestipv4
kac_agent_idlast_seenlinux_sensor_coverage
node_namenode_uidpod_count
resource_status
sort query · string
Field to sort results by
limit query · integer
The upper-bound on the number of records to retrieve. Maximum limit: 200.
offset query · integer
The offset from where to begin. Maximum offset = 10000 - limit.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_nodes_combined(filter="string",
limit=integer,
offset=integer,
sort="string")
print(response)
[
{
"agents": [],
"annotations_list": [],
"architecture": "string",
"base_image": "string",
"cid": "string",
"cloud_account_id": "string",
"cloud_instance_id": "string",
"cloud_instance_type": "string",
"cloud_name": "string",
"cloud_region": "string",
"cloud_service": "string",
"cluster_id": "string",
"cluster_name": "string",
"container_count": 0,
"container_runtime_version": "string",
"cpu": "string",
"created_at": "string",
"deleted_at": "string",
"external_ip": "string",
"first_seen": "string",
"ipv4": "string",
"ipv6": "string",
"kac_agent_id": "string",
"kernel_version": "string",
"kubernetes_version": "string",
"labels": {},
"labels_list": [],
"last_seen": "string",
"linux_sensor_coverage": false,
"memory": "string",
"node_id": "string",
"node_name": "string",
"os": "string",
"pod_cidr": "string",
"pod_count": 0,
"provider_id": "string",
"resource_status": "string",
"storage": "string",
"uid": "string"
}
]


Retrieve node counts

Method GET
Route /container-security/aggregates/nodes/count/v1
Scope Falcon Container Image: READ
PEP 8 read_node_count
filter query · string
Retrieve count of Kubernetes nodes that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (22)
agent_idagent_typeannotations_list
cidcloud_account_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_countcontainer_runtime_version
first_seenimage_digestipv4
kac_agent_idlast_seenlinux_sensor_coverage
node_namenode_uidpod_count
resource_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_node_count(filter="string")
print(response)
{
"Resources": [
{
"count": 0,
"label": "string"
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Retrieve node enrichment data

Method GET
Route /container-security/aggregates/enrichment/nodes/entities/v1
Scope Falcon Container Image: READ
PEP 8 read_node_enrichment
node_name query · string or list of strings
One or more node names for which to retrieve enrichment info
filter query · string
Supported filter fields:
Available values (7)
cloud_account_idcloud_namecloud_region
cluster_idcluster_namelast_seen
namespace
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.read_node_enrichment(node_name=id_list, filter="string")
print(response)
{
"EnrichmentData": [
{
"enrichment_data": {},
"node_name": "string"
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Bucket nodes by cloud providers

Method GET
Route /container-security/aggregates/nodes/count-by-cloud/v1
Scope Falcon Container Image: READ
PEP 8 read_node_counts_by_cloud
filter query · string
Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (22)
agent_idagent_typeannotations_list
cidcloud_account_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_countcontainer_runtime_version
first_seenimage_digestipv4
kac_agent_idlast_seenlinux_sensor_coverage
node_namenode_uidpod_count
resource_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_node_counts_by_cloud(filter="string")
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Bucket nodes by their container engine version

Method GET
Route /container-security/aggregates/nodes/count-by-container-engine-version/v1
Scope Falcon Container Image: READ
PEP 8 read_nodes_by_container_engine_version
filter query · string
Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (22)
agent_idagent_typeannotations_list
cidcloud_account_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_countcontainer_runtime_version
first_seenimage_digestipv4
kac_agent_idlast_seenlinux_sensor_coverage
node_namenode_uidpod_count
resource_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_nodes_by_container_engine_version(filter="string")
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Retrieve nodes by date range counts

Method GET
Route /container-security/aggregates/nodes/count-by-date/v1
Scope Falcon Container Image: READ
PEP 8 read_node_counts_by_date_range
filter query · string
Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (22)
agent_idagent_typeannotations_list
cidcloud_account_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_countcontainer_runtime_version
first_seenimage_digestipv4
kac_agent_idlast_seenlinux_sensor_coverage
node_namenode_uidpod_count
resource_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_node_counts_by_date_range(filter="string")
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Retrieve kubernetes pods identified by the provided filter criteria

Method GET
Route /container-security/combined/pods/v1
Scope Falcon Container Image: READ
PEP 8 read_pods_combined
filter query · string
Search Kubernetes pods using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (33)
agent_idagent_typeallow_privilege_escalation
annotations_listapp_namecid
cloud_account_idcloud_namecloud_region
cloud_servicecluster_idcluster_name
container_countfirst_seenipv4
ipv6kac_agent_idlabels
last_seennamespacenode_name
node_uidowner_idowner_type
pod_external_idpod_idpod_name
portprivilegedresource_status
root_write_accessrun_as_root_grouprun_as_root_user
sort query · string
Field to sort results by
limit query · integer
The upper-bound on the number of records to retrieve. Maximum limit: 200.
offset query · integer
The offset from where to begin. Maximum offset = 10000 - limit.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_pods_combined(filter="string",
limit=integer,
offset=integer,
sort="string")
print(response)
[
{
"agents": [],
"allow_privilege_escalation": false,
"annotations_list": [],
"app_name": "string",
"automount_service_token": false,
"cid": "string",
"cloud_account_id": "string",
"cloud_name": "string",
"cloud_region": "string",
"cloud_service": "string",
"cluster_id": "string",
"cluster_name": "string",
"container_count": 0,
"containers": [],
"created_at": "string",
"deleted_at": "string",
"first_seen": "string",
"host_ipc": false,
"host_network": false,
"host_pid": false,
"image_pull_secrets": [],
"ipv4": "string",
"ipv6": "string",
"kac_agent_id": "string",
"labels": {},
"labels_list": [],
"last_seen": "string",
"namespace": "string",
"node_ipv4": "string",
"node_name": "string",
"node_selector": "string",
"node_uid": "string",
"owner_id": "string",
"owner_type": "string",
"pod_external_id": "string",
"pod_id": "string",
"pod_name": "string",
"ports": [],
"privileged": false,
"resource_status": "string",
"root_write_access": false,
"run_as_root_group": false,
"run_as_root_user": false,
"scheduler_name": "string",
"service_account_name": "string",
"share_process_namespace": false,
"volume_mounts": "string"
}
]


Retrieve pod counts

Method GET
Route /container-security/aggregates/pods/count/v1
Scope Falcon Container Image: READ
PEP 8 read_pod_counts
filter query · string
Retrieve count of Kubernetes pods that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (33)
agent_idagent_typeallow_privilege_escalation
annotations_listapp_namecid
cloud_account_idcloud_namecloud_region
cloud_servicecluster_idcluster_name
container_countfirst_seenipv4
ipv6kac_agent_idlabels
last_seennamespacenode_name
node_uidowner_idowner_type
pod_external_idpod_idpod_name
portprivilegedresource_status
root_write_accessrun_as_root_grouprun_as_root_user
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_pod_counts(filter="string")
print(response)
{
"Resources": [
{
"count": 0,
"label": "string"
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Retrieve pod enrichment data

Method GET
Route /container-security/aggregates/enrichment/pods/entities/v1
Scope Falcon Container Image: READ
PEP 8 read_pod_enrichment
pod_id query · string or list of strings
One or more pod ids for which to retrieve enrichment info
filter query · string
Supported filter fields:
Available values (7)
cloud_account_idcloud_namecloud_region
cluster_idcluster_namelast_seen
namespace
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.read_pod_enrichment(pod_id=id_list, filter="string")
print(response)
{
"EnrichmentData": [
{
"enrichment_data": {},
"pod_id": "string"
}
],
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Retrieve pods by date range counts

Method GET
Route /container-security/aggregates/pods/count-by-date/v1
Scope Falcon Container Image: READ
PEP 8 read_pod_counts_by_date_range
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_pod_counts_by_date_range()
print(response)
[
{
"buckets": [],
"name": "string"
}
]


Retrieve images on running containers

Method GET
Route /container-security/combined/container-images/v1
Scope Falcon Container Image: READ
PEP 8 read_running_images
filter query · string
Retrieve list of images on running containers using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (17)
cidcloud_account_idcloud_name
cloud_regioncluster_idcluster_name
hostsimage_digestimage_has_been_assessed
image_idimage_nameimage_registry
image_repositoryimage_taglast_seen
namespacerunning_status
sort query · string
Field to sort results by
limit query · integer
The upper-bound on the number of records to retrieve. Maximum limit: 200.
offset query · integer
The offset from where to begin. Maximum offset = 10000 - limit.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_running_images(filter="string",
limit=integer,
offset=integer,
sort="string")
print(response)
{
"cid": "string",
"cluster_info": [
{
"cloud": "string",
"cloud_account_id": "string",
"cloud_region": "string",
"cloud_service": "string",
"cluster_id": "string",
"cluster_name": "string",
"k8s_distro": "string"
}
],
"container_count": 0,
"containers_running_status": {},
"hosts": [
"string"
],
"id": "string",
"image_detection_count": 0,
"image_digest": "string",
"image_has_been_assessed": false,
"image_id": "string",
"image_name": "string",
"image_registry": "string",
"image_repository": "string",
"image_tag": "string",
"image_vulnerability_count": 0,
"last_seen": "string",
"running_container_count": 0
}


Retrieve count of vulnerable images running on containers

Method GET
Route /container-security/aggregates/containers/count-vulnerable-images/v1
Scope Falcon Container Image: READ
PEP 8 read_vulnerable_container_count
filter query · string
Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filter fields:
Available values (48)
agent_idagent_typeai_related
allow_privilege_escalationapp_namecid
cloud_account_idcloud_instance_idcloud_name
cloud_regioncloud_servicecluster_id
cluster_namecontainer_idcontainer_image_id
container_namecve_iddetection_name
first_seenimage_detection_countimage_digest
image_has_been_assessedimage_idimage_registry
image_repositoryimage_tagimage_vulnerability_count
insecure_mount_sourceinsecure_mount_typeinsecure_propagation_mode
interactive_modeipv4ipv6
kac_agent_idlabelslast_seen
namespacenode_namenode_uid
package_name_versionpod_idpod_name
portprivilegedroot_write_access
run_as_root_grouprun_as_root_userrunning_status
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.read_vulnerable_container_count(filter="string")
print(response)
{
"buckets": [
{
"count": 0,
"label": "string"
}
],
"name": "string"
}


Regenerate API key for docker registry integrations

Method POST
Route /kubernetes-protection/entities/integration/api-key/v1
Scope Kubernetes Protection: WRITE
PEP 8 regenerate
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.regenerate()
print(response)
[
{
"api_key": "string"
}
]


Retrieves a list of Kubernetes IOMs identified by the provided search criteria.

Method GET
Route /container-security/combined/kubernetes-ioms/v1
Scope Falcon Container Image: READ
PEP 8 search_and_read_ioms
filter query · string
Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (16)
cidcis_idcloud_service
cluster_idcluster_namecontainers_impacted_ai_related
containers_impacted_countcontainers_impacted_idsdetection_type
namenamespaceprevented
resource_idresource_nameresource_type
severity
sort query · string
The fields to sort the records on.
limit query · integer
The upper-bound on the number of records to retrieve. Maximum limit: 100.
offset query · integer
The offset from where to begin. Maximum offset = 10000 - limit.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.search_and_read_ioms(filter="string",
limit=integer,
offset=integer,
sort="string")
print(response)
[
{
"admission_review_action": "string",
"admission_review_id": "string",
"admission_review_msg": "string",
"admission_review_operation": "string",
"cid": "string",
"cis_id": [],
"cloud_service": "string",
"cluster_id": "string",
"cluster_name": "string",
"containers_impacted_ai_related": false,
"containers_impacted_count": "string",
"containers_impacted_ids": [],
"custom_rego_uuid": "string",
"description": "string",
"detect_timestamp": "string",
"detection_id": "string",
"detection_name": "string",
"detection_type": "string",
"image_assessment_matched_cves": [],
"image_assessment_policy_description": "string",
"image_assessment_policy_id": "string",
"image_assessment_policy_name": "string",
"image_digest": "string",
"image_has_been_assessed": false,
"image_id": "string",
"image_registry": "string",
"image_repository": "string",
"image_tag": "string",
"last_seen_timestamp": "string",
"mitigation_id": "string",
"mitigation_name": "string",
"namespace": "string",
"nist_id": "string",
"pod_label": "string",
"pods_impacted_count": "string",
"policy_id": "string",
"policy_name": "string",
"ports": [],
"prevented": "string",
"remediation": "string",
"resource_creation_timestamp": "string",
"resource_group_name": "string",
"resource_id": "string",
"resource_name": "string",
"resource_type": "string",
"sensitive_env_vars": [],
"service_type": "string",
"severity": "string",
"tactic_id": "string",
"tactic_name": "string",
"technique_id": "string",
"technique_name": "string"
}
]


Search Kubernetes IOMs by the provided search criteria. this endpoint returns a list of Kubernetes IOM UUIDs matching the query

Method GET
Route /container-security/queries/kubernetes-ioms/v1
Scope Falcon Container Image: READ
PEP 8 search_ioms
filter query · string
Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filter fields:
Available values (16)
cidcis_idcloud_service
cluster_idcluster_namecontainers_impacted_ai_related
containers_impacted_countcontainers_impacted_idsdetection_type
namenamespaceprevented
resource_idresource_nameresource_type
severity
sort query · string
The fields to sort the records on.
limit query · integer
The upper-bound on the number of records to retrieve. Maximum limit: 100.
offset query · integer
The offset from where to begin. Maximum offset = 10000 - limit.
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.search_ioms(filter="string",
limit=integer,
offset=integer,
sort="string")
print(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Triggers a dry run or a full scan of a customer’s kubernetes footprint

Method POST
Route /kubernetes-protection/entities/scan/trigger/v1
Scope Kubernetes Protection: WRITE
PEP 8 trigger_scan
scan_type query · string
Scan Type to do
Available values (3)
cluster-refreshdry-runfull
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.trigger_scan(scan_type="string")
print(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}


Updates the AWS account per the query parameters provided

Method PATCH
Route /kubernetes-protection/entities/accounts/aws/v1
Scope Kubernetes Protection: WRITE
PEP 8 update_aws_account
ids query · string or list of strings
AWS Account ID
region query · string
Default Region for Account Automation
parameters query · dictionary
Full query string parameters payload in JSON format. Not required when using other keywords.
from falconpy import KubernetesProtection
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.update_aws_account(ids=id_list, region="string")
print(response)
{
"errors": [
{
"code": 0,
"id": "string",
"message": "string"
}
],
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total": 0
},
"powered_by": "string",
"query_time": 0.0,
"trace_id": "string",
"writes": {
"resources_affected": 0
}
}
}