For the complete documentation index, see llms.txt. This page is also available as Markdown.

Microsoft Azure Kubernetes Service Setup for Workbench

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.

Flow chart of data coming from AKS to Expel.

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.

  1. Log in to the Azure Portal.

  2. Navigate to the Storage accounts page.

  3. Select Create storage account.

  4. Assign the storage account to a subscription and resource group, and then name it.

Image of the Create a Storage Account screen.
  1. Keep all other settings as default.

Optionally, on the Networking tab, you can also restrict network access to Expel’s egress IPs, listed in Configure an IP Allow List.

  1. After you finish, review your settings and create the storage account.

  2. Navigate to ​Lifecycle Management​, and then select ​Add a rule​​.

Image showing searching for and selecting lifecycle management.
  1. 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​​.

  2. Select ​Next​​.

  3. 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.

  1. Select ​Add​​.

Step 2: Configure Kubernetes Logging

The steps below outline enabling the required audit logging for onboarding AKS with Expel Workbench.

  1. Log in to the Azure Portal.

  2. Navigate to the Kubernetes services page.

Searching for the Kubernetes services page using the top search field.
  1. Select your Kubernetes cluster, and then navigate to Diagnostic settings.

Image showing the diagnostic settings for an example cluster.
  1. Select Add diagnostic setting to begin configuring audit logging for the cluster.

  2. 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.

Additional diagnostic logs can optionally be enabled, but are not used by Expel for security monitoring and can incur additional Azure cost.

Image of the diagnostic settings screen.
  1. 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.

  1. Log in to the Azure Portal.

  2. Navigate to Microsoft Entra ID.

  3. Navigate to App registrations, and then select New registration.

  4. Give the application a meaningful name.

  5. In the Supported account types section, keep the default selection.

  6. Select Register.

  7. Copy the Application (client) ID and Directory (tenant) ID for later.

Image showing where to copy the necessary values under the Essentials section.
  1. Navigate to API permissions, and then select Add a permission.

  2. Select APIs my organization uses, and then search for and select Log Analytics API.

  3. On the Request API permissions panel, do the following:

    • Select Application permissions.

    • Select the Data.Read checkbox.

    • Select Add permissions.

Image showing the selection of the Data.Read permission, under Data.
  1. Navigate to Certificates & secrets, and then select New client secret.

  2. On the Add a client secret panel, do the following:

    • Add a description for the secret.

    • Choose the expiration date.

    • Select Add.

  3. Copy the secret value after it is created.

Step 4: Create a Custom Azure Role for Expel

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.

  1. Navigate to Subscriptions, and then select the subscription to monitor.

  2. Navigate to Access control (IAM), and then select Add > Add custom role.

Image of Access Control (IAM).
  1. 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.

Image of the custom role screen, with an example name and description.

  1. 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.

  2. 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.

  3. 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:

  1. Navigate to Subscriptions, and then select the subscription to monitor.

  2. Select Access control (IAM), and then select the Role assignments tab.

  3. Select Add > Add role assignment.

  4. Assign the role to User, group or application, and then select the Expel application registration that you created in Step 3.

  5. 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.

  1. Still in Subscriptions, select Access control (IAM), and then select the Role assignments tab.

  2. Select Add > Add role assignment.

  3. Select the Reader role.

Image showing the use of the search field to find the Reader role.
  1. Assign the role to the Expel application created in Step 3.

Image of the Add Role Assignment screen.
  1. 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.

  1. Log in to Workbench.

  2. Navigate to Organization Settings > Security Devices.

  3. Select Add security device.

  4. Search for and select Azure Kubernetes Service.

  5. Name the device, provide a description, and then complete the following fields:

    • Application (client) ID - provide the client ID you copied in Step 3.

    • Directory (tenant) ID - provide the tenant ID you copied in Step 3.

    • Application secret - provide the secret you copied in Step 3.

    • Storage account name - provide the storage account name you copied in Step 1.

  6. Select Save.

Your device should be created successfully within a few seconds. A few reminders:

  • After your connection is healthy, it will take some time for your device to begin polling and receiving data.

  • To check on the status, select the downward arrow for your device in the first column and choose View details.

  • Polling will happen first; data will be received after that. You must refresh the page to see updates.

  • If your device does not begin polling within 15 minutes, and does not begin receiving data within 30 minutes, contact our support team for help.

  • To check if alerts are coming through, navigate to Dashboards > Alert Analysis. Scroll to the device you want to check, and select the Expel Alerts tab to reveal more alert information. It can take 36 to 72 hours for alerts to appear after setup, as we tune your device.

Last updated

Was this helpful?