You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+30-67Lines changed: 30 additions & 67 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,16 @@
4
4
5
5
## Overview
6
6
7
-
This solution accelerator provides a foundation template for deploying a Project within AI Foundry into a secure, private, isolated environment within Azure. The deployed features follow Microsoft's Well-Architected Framework (WAF) to establish isolated infrastructure for an AI Foundry Project, intended to move from a Proof of Concept state to a production-ready application.
7
+
This is a foundational deployment solution for deploying an AI hub and project into an isolated environment (vNet) within Azure. The deployed features follow Microsoft's Well-Architected Framework [WAF](https://learn.microsoft.com/en-us/azure/well-architected/) to establish an isolated infrastructure for AI Foundry, intended to assist in moving from a Proof of Concept state to a production-ready application.
8
+
9
+
This template leverages Azure Verified Modules (AVM) and the Azure Developer CLI (AZD) to provision a WAF-aligned infrastructure for AI application development. This infrastructure includes AI Foundry elements, a virtual network (VNET), private endpoints, Key Vault, a storage account, and additional, optional WAF-aligned resources (such as Cosmos DB and SQL Server) that can be leveraged with Foundry developed projects.
10
+
11
+
The following deployment automates our recommended configuration to protect your data and resources; using Microsoft Entra ID role-based access control, a managed network, and private endpoints. We recommend disabling public network access for Azure OpenAI resources, Azure AI Search resources, and storage accounts (which will occur when deploying those optional services within this workflow). Using selected networks with IP rules isn't supported because the services' IP addresses are dynamic.
12
+
13
+
AI Foundry has two network isolation aspects, this repository will automate:
14
+
1. Configuring the network isolation of the Azure AI Foundry hub and project managed compute (compute instance, serverless compute, managed online endpoint) [Configure Managed Network](https://learn.microsoft.com/en-us/azure/ai-foundry/how-to/configure-managed-network)
15
+
2. Configuring the virtual network, private end points and private link services to isolate resources to connect to the hub and project in a secure way. [Secure Data Playground](https://learn.microsoft.com/en-us/azure/ai-foundry/how-to/secure-data-playground)
8
16
9
-
This template leverages Azure Verified Modules (AVM) and the Azure Developer CLI (AZD) to provision WAF-aligned infrastructure. This infrastructure includes AI Foundry elements, a virtual network (VNET), private endpoints, Key Vault, a storage account, and optional WAF-aligned resources (such as Cosmos DB and SQL Server) that can be leveraged with AI Foundry–developed projects.
10
17
11
18
## Architecture
12
19
The diagram below illustrates the capabilities included in the template.
@@ -23,26 +30,29 @@ The diagram below illustrates the capabilities included in the template.
23
30
24
31
## Features
25
32
26
-
### What solutions does this enable?
27
-
-Deploy AI Foundry application into a secure environment
33
+
### What solutions does this enable?
34
+
-Deploys AI hub and AI project into a virtual network with all dependent services connected via private end points.
28
35
29
-
-Connect the application to essential Azure services while adhering to the best practices outlined in the Well Architected Framework
36
+
-Configures AI Foundry, adhering to the best practices outlined in the Well Architected Framework.
30
37
31
-
- Provide the ability to select services to deploy that are relevant to the project
38
+
- Provides the ability to add additional Azure services during deployment, configured to connect via isolation, to facilitate your AI project.
1. Azure subscription and Entra ID account with Contributor permissions.
36
-
2. Install the [Azure Developer CLI (AZD)](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd?tabs=winget-windows%2Cbrew-mac%2Cscript-linux&pivots=os-windows)
37
-
3. Validate [Required Roles and Scopes](Required_Roles_and_Scopes.md)
38
-
4. (Optional) [GitHub Codespaces deployment](DeployViaCodeSpaces.md) - requires the user to be on a GitHub Team or Enterprise Cloud plan
43
+
1. Have access to an Azure subscription and Entra ID account with Contributor permissions.
44
+
2. Confirm the subscription you are deploying into has the [Required Roles and Scopes](Required_roles_scopes_resources.md) and
45
+
3. If deploying from your [local environment](local_environment_steps.md) Install the [Azure Developer CLI (AZD)](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd?tabs=winget-windows%2Cbrew-mac%2Cscript-linux&pivots=os-windows)
46
+
4. If deploying via [GitHub Codespaces](github_code_spaces_steps.md) - requires the user to be on a GitHub Team or Enterprise Cloud plan
47
+
5. If leveraging [One-click deployment](#quick-deploy)
48
+
6. If leveraging [GitHub Actions](github_actions_steps.md)
39
49
40
50
For additional documentation of the default enabled services of this solution accelerator, please see:
41
51
42
52
1.[Azure Open AI Service](https://learn.microsoft.com/en-us/azure/ai-services/openai/)
43
53
2.[Azure AI Search](https://learn.microsoft.com/en-us/azure/search/)
44
-
3.[Azure AI Foundry Hub](https://learn.microsoft.com/en-us/azure/ai-foundry/)
45
-
4.[Azure AI Foundry Project](https://learn.microsoft.com/en-us/azure/ai-foundry/)
54
+
3.[Azure AI hub](https://learn.microsoft.com/en-us/azure/ai-foundry/)
55
+
4.[Azure AI project](https://learn.microsoft.com/en-us/azure/ai-foundry/)
This solution uses the [Azure Developer CLI](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/overview) to quickly provision and deploy infrastructure and applications to Azure.
77
-
78
-
To get started, authenticate with an Azure Subscription ([details](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/reference#azd-auth-login)):
79
76
80
-
```powershell
81
-
azd auth login
82
-
```
77
+
## Connect to and validate access to the new environment
78
+
Follow the post deployment steps [Post Deployment Steps](post_deployment_steps.md) to connect to the isolated environment.
83
79
84
-
Establish new environment. Provide a name that represents the application domain:
85
80
86
-
```powershell
87
-
azd env new '<app name>'
88
-
```
81
+
## Deploy your application in the isolated environment
82
+
- Leverage the Microsoft Learn documentation to provision an app service instance within your secure network [Configure Web App](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/on-your-data-configuration#azure-ai-foundry-portal)
83
+
- Follow these instructions to [Add your data and chat with it in the AI Foundry playground](https://learn.microsoft.com/en-us/azure/ai-foundry/tutorials/deploy-chat-web-app#add-your-data-and-try-the-chat-model-again)
89
84
90
-
Optionally set environment variables via the following commands:
91
-
92
-
```powershell
93
-
azd env set 'AZURE_VM_ADMIN_PASSWORD' '<secure password>'
94
-
```
95
-
96
-
## Deploy
97
-
98
-
To provision the necessary Azure resources and deploy the application, run the azd up command:
99
-
```powershell
100
-
azd up
101
-
```
102
-
This will kick off an interactive console to provide required flags and parameters to deploy the infrastructure of a secure, WAF-aligned AI Foundry environment.
103
-
104
-
>- This deployment will take 15-20 minutes to provision the resources in your account. If you get an error or timeout with deployment, changing the location can help, as there may be availability constraints for the resources.
105
-
>- Note the `.env` file created at `/.azure/<app name>`. These are the environment configuration output from running the `azd up` command. These values are names of resources created as part of the baseline infrastructure.
106
-
107
-
## Connect to & Check the New Environment
108
-
1. In [Azure Portal](https://portal.azure.com), follow this Azure Bastion [guide](https://learn.microsoft.com/en-us/azure/bastion/bastion-connect-vm-rdp-windows#rdp) to access the network isolated AI Foundry hub & project.
109
-
2. Confirm private services are accessible from within the secure Virtual Network by following these [test verfiication steps](./Verify_Services_On_Network.md) on the Virtual Machine within the VNET.
110
-
111
-
## Connect Your Model
112
-
<!-- Add latest guidance in customer friendly language -->
113
-
Configure AI model and settings in [AI Foundry Portal](https://ai.azure.com)
114
85
115
86
## Guidance
116
87
@@ -124,7 +95,7 @@ You can estimate the cost of this project's architecture with [Azure's pricing c
124
95
125
96
### Security
126
97
127
-
This template has either [Managed Identity](https://learn.microsoft.com/entra/identity/managed-identities-azure-resources/overview) or Key Vault built in to eliminate the need for developers to manage these credentials. Applications can use managed identities to obtain Microsoft Entra tokens without having to manage any credentials.
98
+
This template has [Managed Identity](https://learn.microsoft.com/entra/identity/managed-identities-azure-resources/overview) built in to eliminate the need for developers to manage these credentials. Applications can use managed identities to obtain Microsoft Entra tokens without having to manage any credentials.
128
99
129
100
<h2>
130
101
Supporting documents
@@ -137,15 +108,7 @@ Supporting documents
137
108
-[Azure OpenAI Service - Documentation, quickstarts, API reference - Azure AI services | Microsoft Learn](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/use-your-data)
138
109
-[Azure AI Content Understanding documentation](https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/)
139
110
140
-
<!-- </br>
141
-
Responsible AI Transparency FAQ
142
-
</h2>
143
-
144
-
Please refer to [Transparency FAQ](./TRANSPARENCY_FAQ.md) for responsible AI transparency details of this solution accelerator. -->
Copy file name to clipboardExpand all lines: Verify_Services_On_Network.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ This guide will walk you through using a secure jump-box virtual machine to inst
4
4
5
5
## Steps
6
6
7
-
### 1. Copy Testing Scipt to Virtual Machine
7
+
### 1. Copy Testing Script to Virtual Machine
8
8
9
9
Copy [TestConnections.ps1](./scripts/TestConnections.ps1) to the Virtual Machine.
10
10
@@ -28,7 +28,7 @@ Follow the instructions to complete the authentication process.
28
28
29
29
### 4. Provide Parameters
30
30
31
-
Gather the necessary parameters for your environment from the provisioned resources in the Resource Group. These values can be retreived from the Azure Portal or in the `.env` file under `/.azure/your-env-name/.env`.
31
+
Gather the necessary parameters for your environment from the provisioned resources in the Resource Group. These values can be retrieved from the Azure Portal or in the `.env` file under `/.azure/your-env-name/.env`.
Copy file name to clipboardExpand all lines: github_code_spaces_steps.md
+1-7Lines changed: 1 addition & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ You can run this solution using GitHub Codespaces. The button will open a web-ba
56
56

57
57
**Be sure to remember the vm password and vm username. This will be used in a later step. Because we are using FDPO subscriptions, we do not have access to Entra to create the SSO to the jump box at this time. You are still required to log into Azure once you connect to the virtual machine.
58
58
59
-
11. After completeing the required paramters that you were prompted for, the provisioning of resources will run and deploy the Network Isolated AI Foundry Hub, Project and dependent resources in about 20 minutes.
59
+
11. After completeing the required paramters that you were prompted for, the provisioning of resources will run and deploy the Network Isolated AI hub, project and dependent resources in about 20 minutes.
60
60
61
61
# Post Deployment Steps:
62
62
These steps will help to check that the isolated environment was set up correctly.
@@ -117,12 +117,6 @@ A more thourough check is to look for the networking settings and checking for p
117
117
118
118

119
119
120
-
121
-
122
-
123
-
124
-
125
-
126
120
## Contributing
127
121
128
122
This project welcomes contributions and suggestions. Most contributions require you to agree to a
0 commit comments