Expel's Azure Kubernetes Service (AKS) offering consumes audit logs from the Azure platform via Azure Log Analytics (Azure Monitor). Additionally, via a read-only Azure Role, Expel is able to communicate with AKS clusters. This visibility allows Expel to identify activity of interest in AKS, investigate, and notify organizations when action is recommended.
Quick Start
Step 1: Create a Storage Account for AKS Logs
The steps below outline creating a storage account for AKS logs. Expel integrates with this storage bucket to consume logs.
-
Log in to the Azure Portal.
-
Navigate to the Storage accounts page.
-
Select Create storage account.
-
Assign the storage account to a subscription and resource group, and then name it.
-
Keep all other settings as default.
Optionally, on the Networking tab, you can restrict network access to Expel’s egress IPs:
-
34.75.13.114
-
34.75.152.7
-
35.243.190.98
-
104.196.158.205
-
34.75.81.28
-
34.75.210.18
-
-
After you finish, review your settings and create the storage account.
- Navigate to Lifecycle Management, and then select Add a rule.
- On the Details tab, select the following settings:
- In the Rule scope section, select Apply rule to all blobs in your storage account.
- In the Blob type section, select Append blobs.
- In the Blob subtype section, select Base blobs.
- Select Next.
- On the Base blobs tab, select the following settings:
- In the Base blobs were section, select Last modified.
- In the More than (days ago) field, enter 7.
Optionally, you can extend this time period.
- Select Add.
Step 2: Configure Kubernetes Logging
The steps below outline enabling the required audit logging for onboarding AKS with Expel Workbench.
-
Log in to the Azure Portal.
-
Navigate to the Kubernetes service page.
-
Select your Kubernetes cluster, and then navigate to Diagnostic settings.
-
Select Add diagnostic setting to begin configuring audit logging for the cluster.
-
Complete the Diagnostic setting form:
-
In the Logs section, select Kubernetes Audit.
-
In the Destination details section, select Archive to a storage account, and then choose the Storage account you created in Step 1.
Note
Additional diagnostic logs can optionally be enabled, but are not used by Expel for security monitoring and can incur additional Azure cost. -
-
Select Save.
Step 3: Create Microsoft Entra ID Application Registration
The steps below outline how to grant Expel access to Kubernetes audit log data in Azure Log Analytics for onboarding with Workbench.
-
Log in to the Azure Portal.
-
Navigate to Microsoft Entra ID.
-
Navigate to App registrations, and then select New registration.
-
Give the application a meaningful name.
- In the Supported account types section, keep the default selection.
- Select Register.
-
Copy the Application (client) ID and Directory (tenant) ID for later.
-
Navigate to API permissions, and then select Add a permission.
-
Select APIs my organization uses, and then search for and select Log Analytics API.
-
On the Request API permissions panel, do the following:
- Select Application permissions.
- Select the Data.Read checkbox.
- Select Add permissions.
-
Navigate to Certificates & secrets, and then select New client secret.
-
On the Add a client secret panel, do the following:
- Add a description for the secret.
- Choose the expiration date.
- Select Add.
-
Copy the secret value after it’s created.
Step 4: Create a Custom Azure Role for Expel
Note
Expel requires a custom Azure IAM role to grant finely grained read-only access to AKS clusters. This access is used in security alert investigations and proactive risk management. The custom role requires the use of the Azure AD authentication with Azure RBAC authentication setting. Clusters configured to use Kubernetes RBAC are not currently supported for proactive risk management and have limited investigative support.
-
Navigate to Subscriptions, and then select the subscription to monitor.
-
Navigate to Access control (IAM), and then select Add > Add custom role.
-
On the Create a custom role screen, do the following:
- Give your role a meaningful name and description.
-
In the Baseline permissions section, select Start from JSON, and then upload the ExpelAKSRole.json file.
The JSON file preloads Expel’s required permissions for the role.
-
On the Permissions tab, review the permissions for the custom role. You should see five permissions of type Action followed by a list of DataAction permissions.
-
On the Assignable scopes tab, add any scopes where this role should be assigned. For example, any subscriptions or management groups where AKS clusters exist that Expel monitors.
-
On the Review + create tab, select Create.
Step 5: Add Role Assignments
Step 5a: Grant Required Permissions for Each Monitored Subscription
For each Azure subscription with AKS clusters to be monitored, add:
-
The Log Analytics Reader, which allows Expel to query log data ad-hoc during investigations.
-
The custom Expel AKS Role you created in Step 4.
Do the following steps for each subscription:
-
Navigate to Subscriptions, and then select the subscription to monitor.
-
Select Access control (IAM), and then select the Role assignments tab.
-
Select Add > Add role assignment.
-
Assign the role to User, group or application, and then select the Expel application registration that you created in Step 3.
-
Assign the following roles:
- Log Analytics Reader
- Expel AKS Role, created in Step 4.
Step 5b: Grant Access to the Storage Blob
To grant Expel access to the storage blob containing AKS logs, create an additional role assignment.
-
Still in Subscriptions, select Access control (IAM), and then select the Role assignments tab.
-
Select Add > Add role assignment.
-
Select the Reader role.
-
Assign the role to the Expel application created in Step 3.
-
On the Review + assign tab, select Review + assign.
Step 6: Configure the Technology in Workbench
The following steps explain how to finish onboarding AKS in Expel Workbench.
-
Navigate to Organization Settings > Security Devices.
-
Select Add security device.
-
Search for and select Azure Kubernetes Service.
-
Name the device, provide a description, and then complete the following fields:
-
Select Save.