-
Notifications
You must be signed in to change notification settings - Fork 119
Kubernetes Protection
Operation ID | Description | ||||
---|---|---|---|---|---|
|
Provides a list of AWS accounts. | ||||
|
Creates a new AWS account in our system for a customer and generates the installation script. | ||||
|
Delete AWS accounts. | ||||
|
Updates the AWS account per the query parameters provided. | ||||
|
Provides the azure subscriptions registered to Kubernetes Protection. | ||||
|
Create Azure Subscriptions. | ||||
|
Delete Azure Subscriptions. | ||||
|
Provides the cloud locations acknowledged by the Kubernetes Protection service. | ||||
|
Returns a combined list of provisioned cloud accounts and known kubernetes clusters. | ||||
|
Returns the Azure tenant config. | ||||
|
Gets static bash scripts that are used during registration. | ||||
|
Provides all the azure subscriptions and tenants. | ||||
|
Provides the script to run for a given tenant id and subscription IDs. | ||||
|
Provides a sample Helm values.yaml file for a customer to install alongside the agent Helm chart. | ||||
|
Regenerate API key for docker registry integrations. | ||||
|
Provides the clusters acknowledged by the Kubernetes Protection service. | ||||
|
Triggers a dry run or a full scan of a customer's kubernetes footprint. | ||||
|
Adds the client ID for the given tenant ID to our system. |
WARNING
client_id
andclient_secret
are keyword arguments that contain your CrowdStrike API credentials. Please note that all examples below do not hard code these values. (These values are ingested as strings.)CrowdStrike does not recommend hard coding API credentials or customer identifiers within source code.
Provides a list of AWS accounts.
get_aws_accounts
Method | Route |
---|---|
/kubernetes-protection/entities/accounts/aws/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
ids |
|
|
query | string or list of strings | AWS Account ID(s). |
is_horizon_account |
|
|
query | string | Filter by whether an account originates from Horizon or not. Allowed values: False or True |
limit |
|
|
query | integer | Maximum number of records to return. |
offset |
|
|
query | integer | Starting index of overall result set from which to return ids. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. |
status |
|
|
query | string | Filter by account status. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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(status="string",
limit=integer,
offset=integer,
ids=id_list,
is_horizon_account="string"
)
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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.GetAWSAccountsMixin0(status="string",
limit=integer,
offset=integer,
ids=id_list,
is_horizon_account="string"
)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.command("GetAWSAccountsMixin0",
status="string",
limit=integer,
offset=integer,
ids=id_list,
is_horizon_account="string"
)
print(response)
Back to Table of Contents
Creates a new AWS account in our system for a customer and generates the installation script
create_aws_account
Method | Route |
---|---|
/kubernetes-protection/entities/accounts/aws/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
body |
|
|
body | dictionary | Full body payload in JSON format. |
account_id |
|
|
body | string | Account ID. |
region |
|
|
body | string | Cloud region. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.create_aws_account(account_id="string", region="string")
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.CreateAWSAccount(account_id="string", region="string")
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
BODY = {
"resources": [
{
"account_id": "string",
"region": "string"
}
]
}
response = falcon.command("CreateAWSAccount", body=BODY)
print(response)
Back to Table of Contents
Delete AWS accounts.
delete_aws_accounts
Method | Route |
---|---|
/kubernetes-protection/entities/accounts/aws/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
ids |
|
|
query | string or list of strings | AWS Account ID(s) to delete. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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.DeleteAWSAccountsMixin0(ids=id_list)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.command("DeleteAWSAccountsMixin0", ids=id_list)
print(response)
Back to Table of Contents
Updates the AWS account per the query parameters provided
update_aws_account
Method | Route |
---|---|
/kubernetes-protection/entities/accounts/aws/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
ids |
|
|
query | string or list of strings | AWS Account ID(s) to update. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. |
region |
|
|
query | string | Default region for account automation. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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(region="string", ids=id_list)
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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.UpdateAWSAccount(region="string", ids=id_list)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.command("UpdateAWSAccount", region="string", ids=id_list)
print(response)
Back to Table of Contents
Provides the azure subscriptions registered to Kubernetes Protection.
list_azure_accounts
Method | Route |
---|---|
/kubernetes-protection/entities/accounts/azure/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
ids |
|
|
query | string or list of strings | Azure Tenant ID(s). |
subscription_id |
|
|
query | string or list of strings | Azure Subscription ID(s). |
is_horizon_account |
|
|
query | boolean | Flag indicating if we should filter by accounts originating from Horizon. |
limit |
|
|
query | integer | Maximum number of records to return. |
offset |
|
|
query | integer | Starting index of overall result set from which to return ids. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. |
status |
|
|
query | string | Filter by account status (operational or provisioned ). |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
sub_list = 'SUB1,SUB2,SUB3' # Can also pass a list here: ['SUB1', 'SUB2', 'SUB3']
response = falcon.list_azure_accounts(status="string",
limit=integer,
offset=integer,
ids=id_list,
subscription_id=sub_list,
is_horizon_account=boolean
)
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
sub_list = 'SUB1,SUB2,SUB3' # Can also pass a list here: ['SUB1', 'SUB2', 'SUB3']
response = falcon.ListAzureAccounts(status="string",
limit=integer,
offset=integer,
ids=id_list,
subscription_id=sub_list,
is_horizon_account=boolean
)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
sub_list = 'SUB1,SUB2,SUB3' # Can also pass a list here: ['SUB1', 'SUB2', 'SUB3']
response = falcon.command("ListAzureAccounts",
status="string",
limit=integer,
offset=integer,
ids=id_list,
subscription_id=sub_list,
is_horizon_account=boolean
)
print(response)
Back to Table of Contents
Creates a new Azure Subscription in our system
create_azure_subscription
Method | Route |
---|---|
/kubernetes-protection/entities/accounts/azure/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
body |
|
|
body | dictionary | Full body payload in JSON format. |
subscription_id |
|
|
body | string | Azure Subscription ID. |
tenant_id |
|
|
body | string | Azure Tenant ID. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.create_azure_subscription(subscription_id="string", tenant_id="string")
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.CreateAzureSubscription(subscription_id="string", tenant_id="string")
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
BODY = {
"resources": [
{
"subscription_id": "string",
"tenant_id": "string"
}
]
}
response = falcon.command("CreateAzureSubscription", body=BODY)
print(response)
Back to Table of Contents
Delete an Azure Subscription from the system.
delete_azure_subscription
Method | Route |
---|---|
/kubernetes-protection/entities/accounts/azure/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
ids |
|
|
query | string or list of strings | Azure Subscription ID(s) to delete. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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.DeleteAzureSubscription(ids=id_list)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.command("DeleteAzureSubscription", ids=id_list)
print(response)
Back to Table of Contents
Provides the cloud locations acknowledged by the Kubernetes Protection service
get_locations
Method | Route |
---|---|
/kubernetes-protection/entities/cloud-locations/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
clouds |
|
|
query | string or list of strings | Cloud provider. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'aws,azure,gcp' # Can also pass a list here: ['aws', 'azure', 'gcp']
response = falcon.get_locations(clouds=id_list)
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'aws,azure,gcp' # Can also pass a list here: ['aws', 'azure', 'gcp']
response = falcon.GetLocations(clouds=id_list)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = 'aws,azure,gcp' # Can also pass a list here: ['aws', 'azure', 'gcp']
response = falcon.command("GetLocations", clouds=id_list)
print(response)
Back to Table of Contents
Returns a combined list of provisioned cloud accounts and known kubernetes clusters.
get_cloud_clusters
Method | Route |
---|---|
/kubernetes-protection/entities/cloud_cluster/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
cluster_service |
|
|
query | string or list of strings | Cluster Service. |
cluster_status |
|
|
query | string or list of strings | Cluster Status. |
ids |
|
|
query | string or list of strings | Cloud Account IDs. |
locations |
|
|
query | string or list of strings | Cloud location. |
limit |
|
|
query | integer | Limit returned results. |
offset |
|
|
query | integer | Pagination offset. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. Not required when using other keywords. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
# You may provide the string lists as a string, a comma delimited string, or a list
response = falcon.get_cloud_clusters(cluster_service="string or list of strings",
cluster_status="string or list of strings",
ids="string or list of strings",
locations="string or list of strings",
limit=integer,
offset=integer
)
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
# You may provide the string lists as a string, a comma delimited string, or a list
response = falcon.GetCombinedCloudClusters(cluster_service="string or list of strings",
cluster_status="string or list of strings",
ids="string or list of strings",
locations="string or list of strings",
limit=integer,
offset=integer
)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
# You may provide the string lists as a string, a comma delimited string, or a list
response = falcon.command("GetCombinedCloudClusters",
cluster_service="string or list of strings",
cluster_status="string or list of strings",
ids="string or list of strings",
locations="string or list of strings",
limit=integer,
offset=integer
)
print(response)
Back to Table of Contents
Returns the Azure tenant config.
get_azure_tenant_config
Method | Route |
---|---|
/kubernetes-protection/entities/config/azure/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
ids |
|
|
query | string or list of strings | Cloud Account IDs. |
limit |
|
|
query | integer | Limit returned results. |
offset |
|
|
query | integer | Pagination offset. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. Not required when using other keywords. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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.GetAzureTenantConfig(ids=id_list,
limit=integer,
offset=integer
)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = "ID1,ID2,ID3" # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.command("GetAzureTenantConfig",
ids=id_list,
limit=integer,
offset=integer
)
print(response)
Back to Table of Contents
Get static bash scripts that are used during registration.
get_static_scripts
Method | Route |
---|---|
/kubernetes-protection/entities/gen/scripts/v1 |
- Consumes: application/json
- Produces: application/octet-stream
No keywords or arguments accepted.
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.get_static_scripts()
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.GetStaticScripts()
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.command("GetStaticScripts")
print(response)
Back to Table of Contents
Provides all the azure subscriptions and tenants IDs.
get_azure_tenant_ids
Method | Route |
---|---|
/kubernetes-protection/entities/tenants/azure/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
ids |
|
|
query | string or list of strings | Cloud Account IDs. |
status |
|
|
query | string | Cluster status. (Not Installed , Running , Stopped ) |
limit |
|
|
query | integer | Limit returned results. |
offset |
|
|
query | integer | Pagination offset. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. Not required when using other keywords. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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.GetAzureTenantIDs(ids=id_list,
status="string",
limit=integer,
offset=integer
)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = "ID1,ID2,ID3" # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.command("GetAzureTenantIDs",
ids=id_list,
status="string",
limit=integer,
offset=integer
)
print(response)
Back to Table of Contents
Provide the script to run for a given tenant id and subscription IDs.
get_azure_install_script
Method | Route |
---|---|
/kubernetes-protection/entities/user-script/azure/v1 |
- Consumes: application/json
- Produces: application/octet-stream
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
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
# Do not hardcode API credentials!
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)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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.GetAzureInstallScript(id="string",
subscription_id=id_list
)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
id_list = "ID1,ID2,ID3" # Can also pass a list here: ['ID1', 'ID2', 'ID3']
response = falcon.command("GetAzureInstallScript",
id="string",
subscription_id=id_list
)
print(response)
Back to Table of Contents
Provides a sample Helm values.yaml file for a customer to install alongside the agent Helm chart
get_helm_values_yaml
Method | Route |
---|---|
/kubernetes-protection/entities/integration/agent/v1 |
- Consumes: application/json
- Produces: application/yaml
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
cluster_name |
|
|
query | string or list of strings | Cluster name. For EKS this will be the cluster ARN. |
is_self_managed_cluster |
|
|
query | boolean | Set to True if the cluster is not managed by a cloud provider, and False if it is. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
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)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.GetHelmValuesYaml(cluster_name="string", is_self_managed_cluster=boolean)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.command("GetHelmValuesYaml",
cluster_name="string",
is_self_managed_cluster=boolean
)
print(response)
Back to Table of Contents
Regenerate API key for docker registry integrations.
regenerate
Method | Route |
---|---|
/kubernetes-protection/entities/integration/api-key/v1 |
- Consumes: application/json
- Produces: application/json
No keywords are arguments are required.
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.regenerate()
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.RegenerateAPIKey()
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.command("RegenerateAPIKey")
print(response)
Back to Table of Contents
Provides the clusters acknowledged by the Kubernetes Protection service
get_clusters
Method | Route |
---|---|
/kubernetes-protection/entities/kubernetes/clusters/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
cluster_name |
|
|
query | string or list of strings | Cluster name. For EKS this will be the cluster ARN. |
account_ids |
|
|
query | string or list of strings | Cluster account ID. For EKS this will be the AWS account ID. |
locations |
|
|
query | string or list of strings | Cloud location. |
cluster_service |
|
|
query | string | Cluster service. |
limit |
|
|
query | integer | Maximum number of results to return. |
offset |
|
|
query | integer | Starting offset to begin returning results. |
status |
|
|
query | string or list of strings | Cluster status. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
clusters = 'CLID1,CLID2,CLID3' # Can also pass a list here: ['CLID1', 'CLID2', 'CLID3']
accounts = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
locations = 'LOC1,LOC2,LOC3' # Can also pass a list here: ['LOC1', 'LOC2', 'LOC3']
status_types = 'STAT1,STAT2,STAT3' # Can also pass a list here: ['STAT1', 'STAT2', 'STAT3']
response = falcon.get_clusters(cluster_names=clusters,
account_ids=accounts,
locations=locations,
cluster_service="string",
limit=integer,
offset=integer,
status=status_types
)
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
clusters = 'CLID1,CLID2,CLID3' # Can also pass a list here: ['CLID1', 'CLID2', 'CLID3']
accounts = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
locations = 'LOC1,LOC2,LOC3' # Can also pass a list here: ['LOC1', 'LOC2', 'LOC3']
status_types = 'STAT1,STAT2,STAT3' # Can also pass a list here: ['STAT1', 'STAT2', 'STAT3']
response = falcon.GetClusters(cluster_names=clusters,
account_ids=accounts,
locations=locations,
cluster_service="string",
limit=integer,
offset=integer,
status=status_types
)
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
clusters = 'CLID1,CLID2,CLID3' # Can also pass a list here: ['CLID1', 'CLID2', 'CLID3']
accounts = 'ID1,ID2,ID3' # Can also pass a list here: ['ID1', 'ID2', 'ID3']
locations = 'LOC1,LOC2,LOC3' # Can also pass a list here: ['LOC1', 'LOC2', 'LOC3']
status_types = 'STAT1,STAT2,STAT3' # Can also pass a list here: ['STAT1', 'STAT2', 'STAT3']
response = falcon.command("GetClusters",
cluster_names=clusters,
account_ids=accounts,
locations=locations,
cluster_service="string",
limit=integer,
offset=integer,
status=status_types
)
print(response)
Back to Table of Contents
Triggers a dry run or a full scan of a customer's kubernetes footprint.
trigger_scan
Method | Route |
---|---|
/kubernetes-protection/entities/scan/trigger/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
scan_type |
|
|
query | string | Type of scan to perform, cluster-refresh , dry-run or full . Defaults to dry-run . |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.trigger_scan(scan_type="string")
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.TriggerScan(scan_type="string")
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.command("TriggerScan", scan_type="string")
print(response)
Back to Table of Contents
Adds the client ID for the given tenant ID to our system.
update_azure_service_principal or patch_azure_service_principal
Method | Route |
---|---|
/kubernetes-protection/entities/service-principal/azure/v1 |
- Consumes: application/json
- Produces: application/json
Name | Service | Uber | Type | Data type | Description |
---|---|---|---|---|---|
id |
|
|
query | string | Azure Tenant ID. |
client_id |
|
|
query | string | Azure Client ID. |
parameters |
|
|
query | dictionary | Full query string parameters payload in JSON format. |
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.update_azure_service_principal(id="string", client_id="string")
print(response)
from falconpy import KubernetesProtection
# Do not hardcode API credentials!
falcon = KubernetesProtection(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.PatchAzureServicePrincipal(id="string", client_id="string")
print(response)
from falconpy import APIHarnessV2
# Do not hardcode API credentials!
falcon = APIHarnessV2(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET
)
response = falcon.command("PatchAzureServicePrincipal", id="string", client_id="string")
print(response)
Back to Table of Contents
- Home
- Discussions Board
- Glossary of Terms
- Installation, Upgrades and Removal
- Samples Collection
- Using FalconPy
- API Operations
-
Service Collections
- Alerts
- API Integrations
- Certificate Based Exclusions
- Cloud Connect AWS (deprecated)
- Cloud Snapshots
- Compliance Assessments
- Configuration Assessment
- Configuration Assessment Evaluation Logic
- Container Alerts
- Container Detections
- Container Images
- Container Packages
- Container Vulnerabilities
- CSPM Registration
- Custom IOAs
- Custom Storage
- D4C Registration (deprecated)
- Detects
- Device Control Policies
- Discover
- Drift Indicators
- Event Streams
- Exposure Management
- Falcon Complete Dashboard
- Falcon Container
- Falcon Intelligence Sandbox
- FDR
- FileVantage
- Firewall Management
- Firewall Policies
- Foundry LogScale
- Host Group
- Host Migration
- Hosts
- Identity Protection
- Image Assessment Policies
- Incidents
- Installation Tokens
- Intel
- IOA Exclusions
- IOC
- IOCs (deprecated)
- Kubernetes Protection
- MalQuery
- Message Center
- ML Exclusions
- Mobile Enrollment
- MSSP (Flight Control)
- OAuth2
- ODS (On Demand Scan)
- Overwatch Dashboard
- Prevention Policy
- Quarantine
- Quick Scan
- Quick Scan Pro
- Real Time Response
- Real Time Response Admin
- Real Time Response Audit
- Recon
- Report Executions
- Response Policies
- Sample Uploads
- Scheduled Reports
- Sensor Download
- Sensor Update Policy
- Sensor Visibility Exclusions
- Spotlight Evaluation Logic
- Spotlight Vulnerabilities
- Tailored Intelligence
- ThreatGraph
- Unidentified Containers
- User Management
- Workflows
- Zero Trust Assessment
- Documentation Support
-
CrowdStrike SDKs
- Crimson Falcon - Ruby
- FalconPy - Python 3
- FalconJS - Javascript
- goFalcon - Go
- PSFalcon - Powershell
- Rusty Falcon - Rust