Skip to content

Instantly share code, notes, and snippets.

@captainsafia
Last active November 26, 2019 21:52
Show Gist options
  • Save captainsafia/710733d713a72ac53fa34ab448c2d293 to your computer and use it in GitHub Desktop.
Save captainsafia/710733d713a72ac53fa34ab448c2d293 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"source": [
"# ASI and ipywidgets Demo"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"## 1. Install required dependencies."
],
"metadata": {}
},
{
"cell_type": "code",
"source": [
"!pip install --upgrade Azure-Sentinel-Utilities\n",
"!pip install azure-cli-core\n",
"!pip install azure-cli"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "code",
"source": [
"from azure.loganalytics import LogAnalyticsDataClient\n",
"from azure.loganalytics.models import QueryBody\n",
"from azure.mgmt.loganalytics import LogAnalyticsManagementClient\n",
"import SentinelAzure\n",
"from SentinelAnomalyLookup import AnomalyFinder, AnomalyLookupViewHelper\n",
"\n",
"from pandas.io.json import json_normalize\n",
"import sys\n",
"import timeit\n",
"import datetime as dt\n",
"import pandas as pd\n",
"import copy\n",
"from IPython.display import HTML\n",
"\n",
"import os\n",
"from SentinelWidgets import WidgetViewHelper\n",
"\n",
"env_dir = %env\n",
"helper = WidgetViewHelper()"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "markdown",
"source": [
"## 2. Provide Azure details"
],
"metadata": {}
},
{
"cell_type": "code",
"source": [
"# microsoft.onmicrosoft.com\n",
"helper.set_env(env_dir, 'tenant_domain')"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "code",
"source": [
"# 40dcc8bf-0478-4f3b-b275-ed0a94f2c013\n",
"helper.set_env(env_dir, 'subscription_id')"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "code",
"source": [
"# ASIHuntOMSWorkspaceV4\n",
"helper.set_env(env_dir, 'resource_group')"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "code",
"source": [
"env_dir = %env"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "code",
"source": [
"tenant_domain = env_dir[\"tenant_domain\"]\n",
"subscription_id = env_dir[\"subscription_id\"]\n",
"resource_group = env_dir[\"resource_group\"]"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "markdown",
"source": [
"## 3. Query data from Azure"
],
"metadata": {}
},
{
"cell_type": "code",
"source": [
"# Authentication to Log Analytics\n",
"from azure.common.client_factory import get_client_from_cli_profile\n",
"from azure.common.credentials import get_azure_cli_credentials\n",
"# please enter your tenant domain below, for Microsoft, using: microsoft.onmicrosoft.com\n",
"!az login --tenant $tenant_domain\n",
"la_client = get_client_from_cli_profile(LogAnalyticsManagementClient, subscription_id = subscription_id)\n",
"la = SentinelAzure.azure_loganalytics_helper.LogAnalyticsHelper(la_client)\n",
"creds, _ = get_azure_cli_credentials(resource=\"https://api.loganalytics.io\")\n",
"la_data_client = LogAnalyticsDataClient(creds)"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "code",
"source": [
"selected_workspace = WidgetViewHelper.select_log_analytics_workspace(la)\n",
"display(selected_workspace)"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "markdown",
"source": [
"# More fun with widgets"
],
"metadata": {}
},
{
"cell_type": "code",
"source": [
"import ipywidgets as widgets\n",
"widgets.ColorPicker()"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "code",
"source": [
"widgets.Select(\n",
" options=['Linux', 'Windows', 'OSX'],\n",
" value='OSX',\n",
" # rows=10,\n",
" description='OS:',\n",
" disabled=False\n",
")"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "code",
"source": [
"widgets.IntSlider()"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
},
{
"cell_type": "code",
"source": [
"items = [widgets.Label(str(i)) for i in range(4)]\n",
"widgets.Box(items)"
],
"outputs": [],
"execution_count": null,
"metadata": {
"collapsed": false,
"outputHidden": false,
"inputHidden": false
}
}
],
"metadata": {
"kernel_info": {
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.7.4",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"kernelspec": {
"name": "python3",
"language": "python",
"display_name": "Python 3"
},
"nteract": {
"version": "0.15.0"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment