From 3fbaa2461d25754a21da17dd5b11e7385a59d7e3 Mon Sep 17 00:00:00 2001 From: 0xharkirat Date: Tue, 30 Dec 2025 16:52:46 +1100 Subject: [PATCH 1/7] Refactor EagleEye documentation: split installation guide into multiple steps and integrate Power BI report setup --- content/docs/EagleEye/prerequisites.mdx | 182 ------------------ content/docs/EagleEye/step-1-azure-setup.mdx | 58 ++++++ .../EagleEye/step-2-app-registrations.mdx | 131 +++++++++++++ ...dx => step-3-install-from-marketplace.mdx} | 54 ++---- ...x => step-4-integrate-power-bi-report.mdx} | 19 +- content/docsTableOfContents/EagleEye/toc.mdx | 18 +- 6 files changed, 229 insertions(+), 233 deletions(-) create mode 100644 content/docs/EagleEye/step-1-azure-setup.mdx create mode 100644 content/docs/EagleEye/step-2-app-registrations.mdx rename content/docs/EagleEye/{installation.mdx => step-3-install-from-marketplace.mdx} (73%) rename content/docs/EagleEye/{integrate-power-bi-report.mdx => step-4-integrate-power-bi-report.mdx} (67%) diff --git a/content/docs/EagleEye/prerequisites.mdx b/content/docs/EagleEye/prerequisites.mdx index 96e627e46..15a2e25cd 100644 --- a/content/docs/EagleEye/prerequisites.mdx +++ b/content/docs/EagleEye/prerequisites.mdx @@ -17,185 +17,3 @@ Before starting the installation, ensure you have: * **Azure OpenAI** quota available in your subscription * \***Custom domain** and DNS zone in Azure (optional) - - -### Register Azure resource providers - - -Before deploying EagleEye, make sure the following Azure resource providers are registered in your subscription: - - - Microsoft.Storage - - Microsoft.ManagedIdentity - - Microsoft.App - - Microsoft.CognitiveServices - - Microsoft.KeyVault - - Microsoft.ContainerRegistry - - Microsoft.Network - - Microsoft.OperationalInsights - - Microsoft.Insights - - Microsoft.Sql - - Microsoft.Authorization - - Microsoft.Web - - Microsoft.ContainerInstance - -To check and register, follow the official Microsoft guide: -[Register resource providers in Azure Portal](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/resource-providers-and-types#azure-portal) - - -## Get Your Azure Tenant ID - -You will need your Azure Tenant ID for configuration: - -1. Sign in to the [Azure Portal](https://portal.azure.com) -2. In the search bar, type "Microsoft Entra ID" - ![Manage Tenants](/EagleEye/entra.png) -3. Go to **Manage Tenants** and copy the **Tenant ID (Organization ID)** - ![Tenant ID](/EagleEye/manage-tenants.png) - ![Tenant Object ID](/EagleEye/tenant-id.png) - -> **Note:** If you have multiple tenants, ensure you select the correct one for EagleEye deployment. - -## Get Your Azure Group Name - -You will need an Azure group for EagleEye to perform email analysis. This can be either an existing Azure group or a new one you create. - -To create a new group or find an existing one: - -1. Sign in to the [Azure Portal](https://portal.azure.com) -2. In the search bar, type "Groups" - ![Search Azure Groups](/EagleEye/search-azure-groups.png) -3. Go to **Groups** → **All groups** -4. Either select an existing group or click **New group** to create one -5. If creating a new group: - - Follow this [guide](https://learn.microsoft.com/en-us/entra/fundamentals/how-to-manage-groups) to create and configure a new group - - Select **Security** as the Group type if you want to add other groups as members (nesting), otherwise select **Microsoft 365** -6. Copy the **Group name** (you will need this for configuration later) - -## App Registration Guide - -You need **3 Azure App Registrations** for EagleEye: - -1. **Engine App** - `SSW.EagleEye.Engine` -2. **API App** - `SSW.EagleEye.Api` -3. **Portal App** - `SSW.EagleEye.Portal` - -> **Tip:** Create one app and its client secret at a time to avoid confusion. \ -> \ -> By the end of this section, you should have 3 client secrets and 1 API scope URL ready for your EagleEye deployment. - -### Step 1: Create Each App Registration - -For each of the 3 apps: - -1. Go to **Azure Portal** → **App registrations** → **New registration** - ![App Registration Search](/EagleEye/App-Registration-Search.png) -2. Enter the app name (e.g., `SSW.EagleEye.Engine`) -3. Set **Supported account types** to: **Accounts in this organizational directory only** -4. Click **Register** - ![Engine App](/EagleEye/Engine-App.png) - -### Step 2: Create a Client Secret - -Repeat these steps for each app: - -1. Go to **Certificates & secrets** -2. Click **New client secret** -3. Add a description (e.g., `Engine Secret`, `API Secret`, `Portal Secret`) -4. Select an expiry period → **Add** - ![Create Client Secret](/EagleEye/Create-Client-Secret.png) -5. **Copy the secret value immediately** (you will need this later; it will never be shown again) - ![Copy Client Secret](/EagleEye/Copy-secret-value.png) - -> **Warning:** After deployment, remove the secret value from any temporary notes (clipboard, notepad, etc.). \ -> -> Do not delete the secret from Azure - - -> Remember to repeat **Steps 1 & 2** for all 3 app registrations - - -## App-Specific Configuration - -These are the only extra settings required for each app registration. - -### Engine App - Configure API Permissions - -**App:** `SSW.EagleEye.Engine` - -1. Go to **App registrations** → **All applications** → search for `SSW.EagleEye.Engine` - ![Search Existing App](/EagleEye/Search-existing-app.png) -2. Go to **Manage** → **API permissions** → **Add a permission** -3. Select **Microsoft Graph** → **Application permissions** (Important: select Application permissions - not Delegated). -4. Add: - * `GroupMember.Read.All` - * `Mail.Read` - * `User.Read.All` - * `Domain.Read.All` - -5. Click **Add permissions** -6. Click **Grant admin consent** - ![App Api Permissions](/EagleEye/Engine-Api-Permissions.png) - -### API App - Expose a Scope - -**App:** `SSW.EagleEye.Api` - -This exposes the API so the Portal can call it. - -1. Go to **App registrations** → **All applications** → search for `SSW.EagleEye.Api` -2. Go to **Expose an API** → **Add a scope** -3. Accept the default Application ID URI (or customise) → **Save and continue** - ![Expose a scope](/EagleEye/Expose-scope.png) -4. Configure the scope: - * **Scope name:** `access_as_user` - * **Who Can Consent:** *Admins and users* - * **Admin consent display name:** `Access SSW EagleEye as user` - * **Admin consent description:** `Allow the application to access SSW EagleEye on behalf of the signed-in user` -5. Click **Add scope** - ![Add Scope](/EagleEye/Add-scope.png) -6. **Copy the full scope URL** (e.g., `api://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/access_as_user`) - -You will need this during deployment. - -### Portal App - Configure API Permission - -**App:** `SSW.EagleEye.Portal` - -This allows the Portal web app to call the API. - -1. Go to **App registrations** → **All applications** → search for `SSW.EagleEye.Portal` -2. Go to **API permissions** → **Add a permission** -3. Select **APIs my organization uses** → choose **SSW\.EagleEye.Api** - ![Select My APIs](/EagleEye/Api-permission.png) -4. Select **Delegated permissions** → `access_as_user` -5. Click **Add permissions** - ![Add Permissions](/EagleEye/Request-permission.png) -6. Click **Grant admin consent** - ![Grant Admin Consent](/EagleEye/grant-admin-consent.png) - -## Control Who Can Sign In to Your EagleEye Portal - -You can choose exactly which users or groups are allowed to access your EagleEye Portal. -By default, Azure lets *any* user in your tenant sign in - so it’s important to lock this down. - -### Secure the Portal App -1. In the Azure Portal, search for **Enterprise applications** -2. Select your **SSW.EagleEye.Portal** enterprise app -3. In the left menu, go to **Manage → Properties** -4. Set **Assignment required** to **Yes** - - This ensures **only the users or groups you assign** can sign in. - - If this is set to **No**, *any* user in your tenant will be able to access your EagleEye portal. -5. Click **Save** -![Portal Enterprise app](/EagleEye/Portal-enterprise-app.png) - -### Assign Users/Groups to the Portal App -1. In the same **SSW.EagleEye.Portal** enterprise app, go to **Manage → Users and groups** -2. Click **Add user/group** -3. Select the users or groups you want to give access to. -4. Click **Assign** -![Portal assign users](/EagleEye/Portal-assign-users.png) - - -## References - -* [Azure Marketplace overview](https://learn.microsoft.com/en-us/marketplace/azure-marketplace-overview) diff --git a/content/docs/EagleEye/step-1-azure-setup.mdx b/content/docs/EagleEye/step-1-azure-setup.mdx new file mode 100644 index 000000000..639e25250 --- /dev/null +++ b/content/docs/EagleEye/step-1-azure-setup.mdx @@ -0,0 +1,58 @@ +--- +title: Step 1 - Azure Setup +date: '2025-12-29T13:00:00.000Z' +--- + +### Step 1.1 - Register Azure resource providers + + + +> Tip: Jump to 0:50 for Azure Setup + +Before deploying EagleEye, make sure the following Azure resource providers are registered in your subscription: + +* Microsoft.Storage +* Microsoft.ManagedIdentity +* Microsoft.App +* Microsoft.CognitiveServices +* Microsoft.KeyVault +* Microsoft.ContainerRegistry +* Microsoft.Network +* Microsoft.OperationalInsights +* Microsoft.Insights +* Microsoft.Sql +* Microsoft.Authorization +* Microsoft.Web +* Microsoft.ContainerInstance + +To check and register, follow the official Microsoft guide: +[Register resource providers in Azure Portal](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/resource-providers-and-types#azure-portal) + +### Step 1.2 - Get Your Azure Tenant ID + +You will need your Azure Tenant ID for configuration: + +1. Sign in to the [Azure Portal](https://portal.azure.com) +2. In the search bar, type "Microsoft Entra ID" + ![Manage Tenants](/EagleEye/entra.png) +3. Go to **Manage Tenants** and copy the **Tenant ID (Organization ID)** + ![Tenant ID](/EagleEye/manage-tenants.png) + ![Tenant Object ID](/EagleEye/tenant-id.png) + +> **Note:** If you have multiple tenants, ensure you select the correct one for EagleEye deployment. + +### Step 1.3 - Get Your Azure Group Name + +You will need an Azure group for EagleEye to perform email analysis. This can be either an existing Azure group or a new one you create. + +To create a new group or find an existing one: + +1. Sign in to the [Azure Portal](https://portal.azure.com) +2. In the search bar, type "Groups" + ![Search Azure Groups](/EagleEye/search-azure-groups.png) +3. Go to **Groups** → **All groups** +4. Either select an existing group or click **New group** to create one +5. If creating a new group: + * Follow this [guide](https://learn.microsoft.com/en-us/entra/fundamentals/how-to-manage-groups) to create and configure a new group + * Select **Security** as the Group type if you want to add other groups as members (nesting), otherwise select **Microsoft 365** +6. Copy the **Group name** (you will need this for configuration later) diff --git a/content/docs/EagleEye/step-2-app-registrations.mdx b/content/docs/EagleEye/step-2-app-registrations.mdx new file mode 100644 index 000000000..d62ffea99 --- /dev/null +++ b/content/docs/EagleEye/step-2-app-registrations.mdx @@ -0,0 +1,131 @@ +--- +title: Step 2 - App Registrations +date: '2025-12-29T13:00:00.000Z' +--- + + + +> Tip: Jump to 5:00 for App Registrations + + + +You need **3 Azure App Registrations** for EagleEye: + +1. **Engine App** - `SSW.EagleEye.Engine` +2. **API App** - `SSW.EagleEye.Api` +3. **Portal App** - `SSW.EagleEye.Portal` + +> **Tip:** Create one app and its client secret at a time to avoid confusion. \ +> \ +> By the end of this section, you should have 3 client secrets and 1 API scope URL ready for your EagleEye deployment. + +### Step 2.1 - Create Each App Registration + +For each of the 3 apps: + +1. Go to **Azure Portal** → **App registrations** → **New registration** + ![App Registration Search](/EagleEye/App-Registration-Search.png) +2. Enter the app name (e.g., `SSW.EagleEye.Engine`) +3. Set **Supported account types** to: **Accounts in this organizational directory only** +4. Click **Register** + ![Engine App](/EagleEye/Engine-App.png) + +### Step 2.2 - Create a Client Secret + +Repeat these steps for each app: + +1. Go to **Certificates & secrets** +2. Click **New client secret** +3. Add a description (e.g., `Engine Secret`, `API Secret`, `Portal Secret`) +4. Select an expiry period → **Add** + ![Create Client Secret](/EagleEye/Create-Client-Secret.png) +5. **Copy the secret value immediately** (you will need this later; it will never be shown again) + ![Copy Client Secret](/EagleEye/Copy-secret-value.png) + +> **Warning:** After deployment, remove the secret value from any temporary notes (clipboard, notepad, etc.). +> \ +> Do not delete the secret from Azure + +> Remember to repeat **Steps 2.1 & 2.2** for all 3 app registrations + +## Step 2.3 - App-Specific Configuration + +These are the only extra settings required for each app registration. + +### Step 2.3.1 - Engine App - Configure API Permissions + +**App:** `SSW.EagleEye.Engine` + +1. Go to **App registrations** → **All applications** → search for `SSW.EagleEye.Engine` + ![Search Existing App](/EagleEye/Search-existing-app.png) +2. Go to **Manage** → **API permissions** → **Add a permission** +3. Select **Microsoft Graph** → **Application permissions** (Important: select Application permissions - not Delegated). +4. Add: + * `GroupMember.Read.All` + * `Mail.Read` + * `User.Read.All` + * `Domain.Read.All` +5. Click **Add permissions** +6. Click **Grant admin consent** + ![App Api Permissions](/EagleEye/Engine-Api-Permissions.png) + +### Step 2.3.2 - API App - Expose a Scope + +**App:** `SSW.EagleEye.Api` + +This exposes the API so the Portal can call it. + +1. Go to **App registrations** → **All applications** → search for `SSW.EagleEye.Api` +2. Go to **Expose an API** → **Add a scope** +3. Accept the default Application ID URI (or customise) → **Save and continue** + ![Expose a scope](/EagleEye/Expose-scope.png) +4. Configure the scope: + * **Scope name:** `access_as_user` + * **Who Can Consent:** *Admins and users* + * **Admin consent display name:** `Access SSW EagleEye as user` + * **Admin consent description:** `Allow the application to access SSW EagleEye on behalf of the signed-in user` +5. Click **Add scope** + ![Add Scope](/EagleEye/Add-scope.png) +6. **Copy the full scope URL** (e.g., `api://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/access_as_user`) + +You will need this during deployment. + +### Step 2.3.3 - Portal App - Configure API Permission + +**App:** `SSW.EagleEye.Portal` + +This allows the Portal web app to call the API. + +1. Go to **App registrations** → **All applications** → search for `SSW.EagleEye.Portal` +2. Go to **API permissions** → **Add a permission** +3. Select **APIs my organization uses** → choose **SSW\.EagleEye.Api** + ![Select My APIs](/EagleEye/Api-permission.png) +4. Select **Delegated permissions** → `access_as_user` +5. Click **Add permissions** + ![Add Permissions](/EagleEye/Request-permission.png) +6. Click **Grant admin consent** + ![Grant Admin Consent](/EagleEye/grant-admin-consent.png) + +## Control Who Can Sign In to Your EagleEye Portal + +You can choose exactly which users or groups are allowed to access your EagleEye Portal.\ +By default, Azure lets *any* user in your tenant sign in - so it’s important to lock this down. + +### Step 2.4 - Secure the Portal App + +1. In the Azure Portal, search for **Enterprise applications** +2. Select your **SSW\.EagleEye.Portal** enterprise app +3. In the left menu, go to **Manage → Properties** +4. Set **Assignment required** to **Yes** + * This ensures **only the users or groups you assign** can sign in. + * If this is set to **No**, *any* user in your tenant will be able to access your EagleEye portal. +5. Click **Save** + ![Portal Enterprise app](/EagleEye/Portal-enterprise-app.png) + +### Step 2.5 - Assign Users/Groups to the Portal App + +1. In the same **SSW\.EagleEye.Portal** enterprise app, go to **Manage → Users and groups** +2. Click **Add user/group** +3. Select the users or groups you want to give access to. +4. Click **Assign** + ![Portal assign users](/EagleEye/Portal-assign-users.png) diff --git a/content/docs/EagleEye/installation.mdx b/content/docs/EagleEye/step-3-install-from-marketplace.mdx similarity index 73% rename from content/docs/EagleEye/installation.mdx rename to content/docs/EagleEye/step-3-install-from-marketplace.mdx index 6bbbd93e4..c0079626e 100644 --- a/content/docs/EagleEye/installation.mdx +++ b/content/docs/EagleEye/step-3-install-from-marketplace.mdx @@ -1,24 +1,13 @@ --- -seo: - title: Installation - description: Learn how to install EagleEye from Azure Marketplace. -title: Installation -date: '2025-07-15T13:00:00.000Z' +title: Step 3 - Install From Azure Marketplace +date: '2025-12-29T13:00:00.000Z' --- -## Overview + -SSW EagleEye is an AI-powered email management solution that helps organizations categorize and process emails automatically using Azure OpenAI. This guide will walk you through the installation process from Azure Marketplace. +> Tip: Jump to 13:00 for Install from Azure Marketplace -> 🚨 **Note:** Only proceed with the installation after completing all steps in the [Prerequisites](/docs/prerequisites) guide. - -## Installation Process - - - -### Phase 1: Deploy from Azure Marketplace - -#### Step 1: Get SSW EagleEye in Marketplace on Azure Portal +### Step 3.1 - Get SSW EagleEye in Marketplace on Azure Portal 1. Go to your [Azure Portal](https://portal.azure.com) 2. Search for **Marketplace** in the search bar @@ -28,11 +17,11 @@ SSW EagleEye is an AI-powered email management solution that helps organizations 4. Select your subscription and click **Create** ![EagleEye App](/EagleEye/EagleEye-Subscription.png) -#### Step 2: Configure Application Settings +### Step 3.2 - Configure Application Settings Follow the deployment wizard with these configuration steps: -##### 2.1 Basics +#### Step 3.2.1 - Basics * **Resource Group**: Select an existing resource group or create a new one * **Region**: Choose your preferred Azure region @@ -40,21 +29,21 @@ Follow the deployment wizard with these configuration steps: ![Basics](/EagleEye/basics.png) -##### 2.2 Application Configuration +#### Step 3.2.2 - Application Configuration * **Project Name**: Unique prefix for all resources * **Environment**: Select `production` or `staging` ![Application Configuration](/EagleEye/application-configuration.png) -##### 2.3 Azure AD Configuration +#### Step 3.2.3 - Azure AD Configuration * **Azure Tenant ID**: Your Azure AD tenant ID * **Azure Group Name**: Enter the Azure AD group name for email processing ![Azure AD Configuration](/EagleEye/azure-ad-configuration.png) -##### 2.4 App Registration Configuration +#### Step 3.2.4 - App Registration Configuration You need to provide details for the 3 app registrations created in the Prerequisites section: @@ -65,7 +54,7 @@ You need to provide details for the 3 app registrations created in the Prerequis ![App Registration Configuration](/EagleEye/app-registration-configuration.png) -##### 2.5 Database Configuration +#### Step 3.2.5 - Database Configuration * **Database Pricing Tier**: Select appropriate tier (Basic, S0, S1, S2) * **Database Users**: Configure three database users: @@ -75,7 +64,7 @@ You need to provide details for the 3 app registrations created in the Prerequis ![Database Configuration](/EagleEye/database-configuration.png) -##### 2.6 Azure OpenAI Configuration +#### Step 3.2.6 - Azure OpenAI Configuration * **Location**: Select Azure region (currently East US) * **Model**: Choose GPT-4.1 Mini or GPT-4o Mini @@ -83,16 +72,16 @@ You need to provide details for the 3 app registrations created in the Prerequis ![Azure OpenAI Configuration](/EagleEye/azure-openai-configuration.png) -#### Step 3: Review and Deploy +#### Step 3.2.7 - Review and Deploy 1. Review all configuration settings 2. Click **Create** to start deployment 3. Monitor deployment progress in the Azure Portal 4. Deployment typically takes 15-30 minutes -### Phase 2: Post-Deployment Configuration +### Step 3.3 - Post-Deployment Configuration -#### Step 4: Configure Portal Frontend Redirect URL +#### Step 3.3.1 - Configure Portal Frontend Redirect URL After deployment completes, you need to configure the authentication redirect URL: @@ -105,7 +94,7 @@ After deployment completes, you need to configure the authentication redirect UR * Example: `https://ca-nextjs-4d33i5xxemxsu.happyfield-d167da8e.australiaeast.azurecontainerapps.io/api/auth/callback/azure-ad` 7. Click **Save** -#### Step 5: Verify Deployment +#### Step 3.3.2 - Verify Deployment 1. **Access the Portal**: Navigate to the Portal container app URL 2. **Test Authentication**: Sign in with your Azure AD credentials @@ -122,14 +111,3 @@ The deployed solution includes: * **Key Vault**: Secure storage of secrets and configurations * **Application Insights**: Monitoring and telemetry * **Container Registry**: Docker image storage - -## Next Steps - -After successful deployment: - -1. Configure Email Tags -2. [Integrate Power BI report](/docs/integrate-power-bi-report) - -## References - -* [Azure Marketplace overview](https://learn.microsoft.com/en-us/marketplace/azure-marketplace-overview) diff --git a/content/docs/EagleEye/integrate-power-bi-report.mdx b/content/docs/EagleEye/step-4-integrate-power-bi-report.mdx similarity index 67% rename from content/docs/EagleEye/integrate-power-bi-report.mdx rename to content/docs/EagleEye/step-4-integrate-power-bi-report.mdx index ed812c589..f21485c8d 100644 --- a/content/docs/EagleEye/integrate-power-bi-report.mdx +++ b/content/docs/EagleEye/step-4-integrate-power-bi-report.mdx @@ -4,33 +4,36 @@ seo: description: >- Learn how to set up and integrate Power BI reports in your SSW EagleEye portal for enhanced data visualisation and insights. -title: Integrate Power BI report +title: Step 4 - Integrate Power BI report date: '2025-11-26T00:00:00.000Z' --- + + +> Tip: Jump to 23:00 for Power BI Integration + Follow these simple steps to connect your EagleEye database to the Power BI template app and embed the report into your portal. 1. Go to the [SSW EagleEye - Power BI](https://marketplace.microsoft.com/en-us/product/power-bi/ssw1700450141896.ssweagleeye-power-bi) page on the Microsoft Marketplace 2. Click Get it now and make sure you're signed in with the same Microsoft account used to deploy EagleEye on Azure 3. Click Install -![Power BI Install](/EagleEye/eagleeye-power-bi-install.png) + ![Power BI Install](/EagleEye/eagleeye-power-bi-install.png) 4. Open the app → Connect your data -![Power BI Connect Data](/EagleEye/connect-your-data.png) + ![Power BI Connect Data](/EagleEye/connect-your-data.png) 5. Enter your Database details and click Next: * Year (e.g., 2025) * SQL Server URL (e.g., sql-shared-xxx.database.windows.net) * Database Name (e.g., db-shared-xxx) -![Azure Database Details](/EagleEye/azure-database-details.png) ![Power BI Database Details](/EagleEye/power-bi-database-details.png) + ![Azure Database Details](/EagleEye/azure-database-details.png) ![Power BI Database Details](/EagleEye/power-bi-database-details.png) 6. Enter the Database credentials (read-only username and password created during the EagleEye deployment) 7. Click Sign in and connect. Power BI will load your data 8. Go to File → Embed report → Website or portal. -![File Embed Report](/EagleEye/file-embed-report.png) + ![File Embed Report](/EagleEye/file-embed-report.png) 9. Copy embed link -![Copy Embed Link](/EagleEye/copy-embed-link.png) + ![Copy Embed Link](/EagleEye/copy-embed-link.png) 10. Open your EagleEye Portal → Settings, and paste the link into the Power BI report embed URL field. -![Paste Embed Link](/EagleEye/portal-embed-link.png) + ![Paste Embed Link](/EagleEye/portal-embed-link.png) 11. Click Save. - 🎉 Your Power BI report should now be visible inside your EagleEye Portal ![Power BI Report in Portal](/EagleEye/embedded-report.png) diff --git a/content/docsTableOfContents/EagleEye/toc.mdx b/content/docsTableOfContents/EagleEye/toc.mdx index 8fb5e4235..409794ab7 100644 --- a/content/docsTableOfContents/EagleEye/toc.mdx +++ b/content/docsTableOfContents/EagleEye/toc.mdx @@ -9,11 +9,22 @@ parentNavigationGroup: - title: What are Tags? slug: content/docs/EagleEye/tags.mdx _template: item + - title: Installation + items: - title: Prerequisites slug: content/docs/EagleEye/prerequisites.mdx _template: item - - title: Installation - slug: content/docs/EagleEye/installation.mdx + - title: Step 1 - Azure Setup + slug: content/docs/EagleEye/step-1-azure-setup.mdx + _template: item + - title: Step 2 - App Registrations + slug: content/docs/EagleEye/step-2-app-registrations.mdx + _template: item + - title: Step 3 - Install from Azure Marketplace + slug: content/docs/EagleEye/step-3-install-from-marketplace.mdx + _template: item + - title: Step 4 - Power BI Integration + slug: content/docs/EagleEye/step-4-integrate-power-bi-report.mdx _template: item - title: Features items: @@ -34,9 +45,6 @@ parentNavigationGroup: - title: Add a new Tag slug: content/docs/EagleEye/how-to-add-a-new-tag.mdx _template: item - - title: Integrate Power BI report - slug: content/docs/EagleEye/integrate-power-bi-report.mdx - _template: item - title: Set report description slug: content/docs/EagleEye/report-description.mdx _template: item From c579296e405385cd00350a7670bdacff3e3da08d Mon Sep 17 00:00:00 2001 From: 0xharkirat Date: Tue, 30 Dec 2025 16:56:04 +1100 Subject: [PATCH 2/7] Enhance EagleEye documentation: update SEO metadata for Azure setup, app registrations, and installation steps --- content/docs/EagleEye/step-1-azure-setup.mdx | 6 ++++++ content/docs/EagleEye/step-2-app-registrations.mdx | 6 ++++++ content/docs/EagleEye/step-3-install-from-marketplace.mdx | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/content/docs/EagleEye/step-1-azure-setup.mdx b/content/docs/EagleEye/step-1-azure-setup.mdx index 639e25250..258b604f8 100644 --- a/content/docs/EagleEye/step-1-azure-setup.mdx +++ b/content/docs/EagleEye/step-1-azure-setup.mdx @@ -1,4 +1,10 @@ --- +seo: + title: SSW EagleEye - Step 1 Azure Setup + description: >- + Configure your Azure subscription, register required resource providers, + and gather tenant and group details needed before installing SSW EagleEye + from the Azure Marketplace. title: Step 1 - Azure Setup date: '2025-12-29T13:00:00.000Z' --- diff --git a/content/docs/EagleEye/step-2-app-registrations.mdx b/content/docs/EagleEye/step-2-app-registrations.mdx index d62ffea99..d3ad12148 100644 --- a/content/docs/EagleEye/step-2-app-registrations.mdx +++ b/content/docs/EagleEye/step-2-app-registrations.mdx @@ -1,4 +1,10 @@ --- +seo: + title: SSW EagleEye - Step 2 App Registrations + description: >- + Create and configure the three Azure App Registrations required for SSW + EagleEye, including client secrets, Microsoft Graph permissions, API + scopes, and secure portal access control. title: Step 2 - App Registrations date: '2025-12-29T13:00:00.000Z' --- diff --git a/content/docs/EagleEye/step-3-install-from-marketplace.mdx b/content/docs/EagleEye/step-3-install-from-marketplace.mdx index c0079626e..f6dbc473c 100644 --- a/content/docs/EagleEye/step-3-install-from-marketplace.mdx +++ b/content/docs/EagleEye/step-3-install-from-marketplace.mdx @@ -1,4 +1,10 @@ --- +seo: + title: SSW EagleEye - Step 3 Install from Azure Marketplace + description: >- + Install SSW EagleEye from the Azure Marketplace and complete the + deployment wizard, configuring Azure resources, app registrations, + database, and Azure OpenAI settings for your environment. title: Step 3 - Install From Azure Marketplace date: '2025-12-29T13:00:00.000Z' --- From 464c29ee904162671c9eee04a9c0de94f5f2145f Mon Sep 17 00:00:00 2001 From: "Hark Singh [SSW]" <65155920+0xharkirat@users.noreply.github.com> Date: Tue, 30 Dec 2025 17:36:24 +1100 Subject: [PATCH 3/7] Update content/docs/EagleEye/step-2-app-registrations.mdx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- content/docs/EagleEye/step-2-app-registrations.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/docs/EagleEye/step-2-app-registrations.mdx b/content/docs/EagleEye/step-2-app-registrations.mdx index d3ad12148..f1f4ab6d4 100644 --- a/content/docs/EagleEye/step-2-app-registrations.mdx +++ b/content/docs/EagleEye/step-2-app-registrations.mdx @@ -13,8 +13,6 @@ date: '2025-12-29T13:00:00.000Z' > Tip: Jump to 5:00 for App Registrations - - You need **3 Azure App Registrations** for EagleEye: 1. **Engine App** - `SSW.EagleEye.Engine` From 30854d17e30c9d454d5644a63d9b94b077edb977 Mon Sep 17 00:00:00 2001 From: 0xharkirat Date: Tue, 30 Dec 2025 17:38:32 +1100 Subject: [PATCH 4/7] Fix formatting in API permissions section for clarity --- content/docs/EagleEye/step-2-app-registrations.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/EagleEye/step-2-app-registrations.mdx b/content/docs/EagleEye/step-2-app-registrations.mdx index f1f4ab6d4..48b6826b4 100644 --- a/content/docs/EagleEye/step-2-app-registrations.mdx +++ b/content/docs/EagleEye/step-2-app-registrations.mdx @@ -102,7 +102,7 @@ This allows the Portal web app to call the API. 1. Go to **App registrations** → **All applications** → search for `SSW.EagleEye.Portal` 2. Go to **API permissions** → **Add a permission** -3. Select **APIs my organization uses** → choose **SSW\.EagleEye.Api** +3. Select **APIs my organization uses** → choose **SSW.EagleEye.Api** ![Select My APIs](/EagleEye/Api-permission.png) 4. Select **Delegated permissions** → `access_as_user` 5. Click **Add permissions** From 34deb0e349ac86843637c7c1d9c6ca98b15d3ef8 Mon Sep 17 00:00:00 2001 From: "Hark Singh [SSW]" <65155920+0xharkirat@users.noreply.github.com> Date: Wed, 31 Dec 2025 09:32:00 +1100 Subject: [PATCH 5/7] Update content/docs/EagleEye/step-2-app-registrations.mdx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- content/docs/EagleEye/step-2-app-registrations.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/EagleEye/step-2-app-registrations.mdx b/content/docs/EagleEye/step-2-app-registrations.mdx index 48b6826b4..2d2be7d70 100644 --- a/content/docs/EagleEye/step-2-app-registrations.mdx +++ b/content/docs/EagleEye/step-2-app-registrations.mdx @@ -52,7 +52,7 @@ Repeat these steps for each app: > Remember to repeat **Steps 2.1 & 2.2** for all 3 app registrations -## Step 2.3 - App-Specific Configuration +### Step 2.3 - App-Specific Configuration These are the only extra settings required for each app registration. From 8adc7805e2d298620b92c6c85bbdb7fba16c2a2b Mon Sep 17 00:00:00 2001 From: "Hark Singh [SSW]" <65155920+0xharkirat@users.noreply.github.com> Date: Wed, 31 Dec 2025 09:32:25 +1100 Subject: [PATCH 6/7] Update content/docs/EagleEye/step-2-app-registrations.mdx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- content/docs/EagleEye/step-2-app-registrations.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/content/docs/EagleEye/step-2-app-registrations.mdx b/content/docs/EagleEye/step-2-app-registrations.mdx index 2d2be7d70..aa347aa08 100644 --- a/content/docs/EagleEye/step-2-app-registrations.mdx +++ b/content/docs/EagleEye/step-2-app-registrations.mdx @@ -112,6 +112,7 @@ This allows the Portal web app to call the API. ## Control Who Can Sign In to Your EagleEye Portal +**Note:** This is a critical security configuration step that prevents unauthorized users from accessing your EagleEye Portal and should be completed before proceeding to the next step. You can choose exactly which users or groups are allowed to access your EagleEye Portal.\ By default, Azure lets *any* user in your tenant sign in - so it’s important to lock this down. From 81598ff25cc924a49ffc330f2b76b8c2e5593185 Mon Sep 17 00:00:00 2001 From: 0xharkirat Date: Wed, 31 Dec 2025 09:35:50 +1100 Subject: [PATCH 7/7] Clarify security note for EagleEye Portal access configuration --- content/docs/EagleEye/step-2-app-registrations.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/docs/EagleEye/step-2-app-registrations.mdx b/content/docs/EagleEye/step-2-app-registrations.mdx index aa347aa08..17ed94480 100644 --- a/content/docs/EagleEye/step-2-app-registrations.mdx +++ b/content/docs/EagleEye/step-2-app-registrations.mdx @@ -112,8 +112,10 @@ This allows the Portal web app to call the API. ## Control Who Can Sign In to Your EagleEye Portal -**Note:** This is a critical security configuration step that prevents unauthorized users from accessing your EagleEye Portal and should be completed before proceeding to the next step. -You can choose exactly which users or groups are allowed to access your EagleEye Portal.\ +**Note:** This is a critical security configuration step that prevents unauthorized users from accessing your EagleEye Portal. +You can choose exactly which users or groups are allowed to access your EagleEye Portal. + + By default, Azure lets *any* user in your tenant sign in - so it’s important to lock this down. ### Step 2.4 - Secure the Portal App