Azure AI Foundry 포털 플레이그라운드에서 데이터를 안전하게 사용
이 문서를 사용하여 데이터에서 Azure AI Foundry의 플레이그라운드 채팅을 안전하게 사용하는 방법을 알아봅니다. 다음 섹션에서는 Microsoft Entra ID 역할 기반 액세스 제어, 관리형 네트워크 및 프라이빗 엔드포인트를 사용하여 데이터 및 리소스를 보호하는 데 권장되는 구성을 제공합니다. Azure OpenAI 리소스, Azure AI 검색 리소스 및 스토리지 계정에 대한 공용 네트워크 액세스를 사용하지 않도록 설정하는 것이 좋습니다. 서비스의 IP 주소가 동적이므로 선택한 네트워크를 IP 규칙과 함께 사용하는 것은 지원되지 않습니다.
참고 항목
AI Foundry의 관리형 가상 네트워크 설정은 Azure OpenAI 또는 Azure AI Search와 같은 PaaS(Platform as a Service) 서비스가 아닌 AI Foundry의 관리형 컴퓨팅 리소스에만 적용됩니다. PaaS 서비스를 사용하는 경우 서비스가 Microsoft에서 관리되기 때문에 데이터 반출 위험이 없습니다.
다음 표에는 이 문서의 변경 내용이 요약되어 있습니다.
구성 | 기본값 | 보안 | 주의 |
---|---|---|---|
서비스 간에 전송된 데이터 | 공용 네트워크를 통해 전송됨 | 프라이빗 네트워크를 통해 전송됨 | 데이터는 공용 네트워크를 통해서도 HTTPS를 사용하여 암호화되어 전송됩니다. |
서비스 인증 | API 키 | Microsoft Entra ID | API 키를 가진 모든 사용자가 서비스에 인증할 수 있습니다. Microsoft Entra ID는 보다 세분화되고 강력한 인증을 제공합니다. |
서비스 권한 | API 키 | 역할 기반 액세스 제어 | API 키는 서비스에 대한 모든 권한을 제공합니다. 역할 기반 액세스 제어는 서비스에 대한 세부적인 액세스를 제공합니다. |
네트워크 액세스 | 공공 사업 | 프라이빗 | 프라이빗 네트워크를 사용하면 프라이빗 네트워크 외부의 엔터티가 보안 리소스에 액세스하지 못하게 됩니다. |
필수 조건
스토리지 계정에 대한 ID 기반 액세스 설정을 사용하여 AI Foundry 허브가 배포되었는지 확인합니다. 이 구성은 AI Foundry Hub의 올바른 액세스 제어 및 보안에 필요합니다. 다음 방법 중 하나를 사용하여 이 구성을 확인할 수 있습니다.
- Azure Portal에서 허브를 선택한 다음 설정, 속성 및 옵션을 선택합니다. 페이지 맨 아래에서 스토리지 계정 액세스 유형이 ID 기반 액세스로 설정되어 있는지 확인합니다.
- Azure Resource Manager 또는 Bicep 템플릿을 사용하여 배포하는 경우 배포 템플릿에
systemDatastoresAuthMode: 'identity'
속성을 포함합니다. - Microsoft Entra ID 역할 기반 액세스 제어를 사용하여 리소스 및 사용자에게 역할을 할당하는 방법을 잘 알고 있어야 합니다. 자세한 내용은 역할 기반 액세스 제어 문서를 참조하세요.
네트워크 격리 AI Foundry Hub 구성
새 Azure AI Foundry 허브를 만드는 경우 다음 문서 중 하나를 사용하여 네트워크 격리를 사용하여 허브를 만듭니다.
관리되는 네트워크를 사용하도록 구성되지 않은 기존 Azure AI Foundry 허브 가 있는 경우 다음 단계를 사용하여 사용하도록 구성합니다.
Azure Portal에서 허브를 선택한 다음 설정, 네트워킹, 공용 액세스를 선택합니다.
허브에 대한 공용 네트워크 액세스를 사용하지 않도록 설정하려면 공용 네트워크 액세스를 사용 안 함으로 설정합니다. 변경 내용을 적용하려면 저장을 선택합니다.
작업 영역 관리형 아웃바운드 액세스를 선택한 다음, 인터넷 아웃바운드 허용 또는 승인된 아웃바운드만 허용 네트워크 격리 모드를 선택합니다. 변경 내용을 적용하려면 저장을 선택합니다.
Azure AI 서비스 리소스 구성
구성에 따라 Azure OpenAI 또는 독립 실행형 Azure OpenAI 리소스를 포함하는 Azure AI 서비스 리소스를 사용할 수 있습니다. 이 섹션의 단계에서는 AI 서비스 리소스를 구성합니다. Azure OpenAI 리소스에 동일한 단계가 적용되었습니다.
Azure AI Foundry 허브 에 대한 기존 Azure AI 서비스 리소스가 없는 경우 만듭니다.
Azure Portal에서 AI 서비스 리소스를 선택한 다음, __Resource 관리, ID 및 할당된 시스템을 선택합니다.
AI 서비스 리소스에 대한 관리 ID를 만들려면 상태를 켜기로 설정합니다. 변경 내용을 적용하려면 저장을 선택합니다.
공용 네트워크 액세스를 사용하지 않도록 설정하려면 네트워킹, 방화벽 및 가상 네트워크를선택한 다음 액세스 허용을 사용 안 함으로 설정합니다. 예외에서 신뢰할 수 있는 서비스 목록에서 Azure 서비스 허용이 사용하도록 설정되어 있는지 확인합니다. 변경 내용을 적용하려면 저장을 선택합니다.
AI 서비스 리소스에 대한 프라이빗 엔드포인트를 만들려면 네트워킹, 프라이빗 엔드포인트 연결을 선택한 다음 + 프라이빗 엔드포인트를 선택합니다. 이 프라이빗 엔드포인트는 Azure Virtual Network의 클라이언트가 AI 서비스 리소스와 안전하게 통신할 수 있도록 하는 데 사용됩니다. Azure AI 서비스에서 프라이빗 엔드포인트를 사용하는 방법에 대한 자세한 내용은 프라이빗 엔드포인트 사용 문서를 참조하세요.
- 기본 사항 탭에서 프라이빗 엔드포인트, 네트워크 인터페이스의 고유한 이름을 입력하고 프라이빗 엔드포인트를 만들 지역을 선택합니다.
- 리소스 탭에서 계정의 대상 하위 리소스를 수락합니다.
- Virtual Network 탭에서 프라이빗 엔드포인트가 연결하는 Azure Virtual Network를 선택합니다. 이 네트워크는 클라이언트가 연결하는 네트워크와 동일해야 하며 Azure AI Foundry 허브에 프라이빗 엔드포인트 연결이 있어야 합니다.
- DNS 탭에서 DNS 설정의 기본값을 선택합니다.
- 검토 + 만들기 탭으로 계속 진행한 다음 만들기를 선택하여 프라이빗 엔드포인트를 만듭니다.
현재 Azure Portal을 통해 Azure AI 서비스에 대한 로컬(공유 키) 인증을 사용하지 않도록 설정할 수 없습니다. 대신 다음 Azure PowerShell cmdlet을 사용할 수 있습니다.
Set-AzCognitiveServicesAccount -resourceGroupName "resourceGroupName" -name "AIServicesAccountName" -disableLocalAuth $true
자세한 내용은 Azure AI 서비스 문서에서 로컬 인증 사용 안 함 문서를 참조하세요.
Azure AI 검색 구성
다음 중 하나를 원할 때 Azure AI Search 인덱스 사용을 고려할 수 있습니다.
- 인덱스 만들기 프로세스를 사용자 지정합니다.
- 다른 데이터 원본에서 데이터를 수집하여 이전에 만든 인덱스를 다시 사용합니다.
기존 인덱스 사용하려면 검색 가능한 필드가 하나 이상 있어야 합니다. 벡터 검색을 사용할 때 하나 이상의 유효한 벡터 열이 매핑되었는지 확인합니다.
Important
이 섹션의 정보는 Azure AI Foundry에서 사용할 Azure AI Search 리소스를 보호하는 데만 적용됩니다. 다른 용도로 Azure AI 검색을 사용하는 경우 추가 설정을 구성해야 할 수 있습니다. Azure AI 검색 구성에 대한 관련 정보는 다음 문서를 참조하세요.
Azure AI Foundry 허브 에 대한 기존 Azure AI Search 리소스가 없는 경우 만듭니다.
Azure Portal에서 AI 검색 리소스를 선택한 다음, 설정, ID 및 시스템 할당을 선택합니다.
AI 검색 리소스에 대한 관리 ID를 만들려면 상태를 켜기로 설정합니다. 변경 내용을 적용하려면 저장을 선택합니다.
공용 네트워크 액세스를 사용하지 않도록 설정하려면 설정, 네트워킹, 방화벽 및가상 네트워크를 선택합니다. 공용 네트워크 액세스를 사용 안 함으로 설정합니다. 예외에서 신뢰할 수 있는 서비스 목록에서 Azure 서비스 허용이 사용하도록 설정되어 있는지 확인합니다. 변경 내용을 적용하려면 저장을 선택합니다.
AI 검색 리소스에 대한 프라이빗 엔드포인트를 만들려면 네트워킹, 프라이빗 엔드포인트 연결을 선택한 다음 + 프라이빗 엔드포인트 만들기를 선택합니다.
- 기본 사항 탭에서 프라이빗 엔드포인트, 네트워크 인터페이스의 고유한 이름을 입력하고 프라이빗 엔드포인트를 만들 지역을 선택합니다.
- 리소스 탭에서 리소스가 포함된 구독을 선택하고, 리소스 유형을 Microsoft.Search/searchServices로 설정하고, Azure AI 검색 리소스를 선택합니다. 사용 가능한 유일한 하위 리소스는 searchService입니다.
- Virtual Network 탭에서 프라이빗 엔드포인트가 연결하는 Azure Virtual Network를 선택합니다. 이 네트워크는 클라이언트가 연결하는 네트워크와 동일해야 하며 Azure AI Foundry 허브에 프라이빗 엔드포인트 연결이 있어야 합니다.
- DNS 탭에서 DNS 설정의 기본값을 선택합니다.
- 검토 + 만들기 탭으로 계속 진행한 다음 만들기를 선택하여 프라이빗 엔드포인트를 만듭니다.
역할 기반 액세스 제어에 따라 API 액세스를 사용하도록 설정하려면 설정, 키를 선택한 다음 API 액세스 제어를 역할 기반 액세스 제어 또는 둘 다로 설정합니다. _Yes를 선택하여 변경 내용을 적용합니다.
참고 항목
키를 사용하여 Azure AI 검색에 액세스하는 다른 서비스가 있는 경우 둘 다를 선택합니다. 역할 기반 액세스 제어를 선택하여 키 기반 액세스를 사용하지 않도록 설정합니다.
Azure Storage 구성(수집 전용)
Azure AI Foundry 포털 플레이그라운드에서 수집 시나리오에 Azure Storage를 사용하는 경우 Azure Storage 계정을 구성해야 합니다.
스토리지 계정 리소스 만들기
Azure Portal에서 Storage 계정 리소스를 선택한 다음, 보안 + 네트워킹, 네트워킹, 방화벽 및 가상 네트워크를 선택합니다.
공용 네트워크 액세스를 사용하지 않도록 설정하고 신뢰할 수 있는 서비스에서의 액세스를 허용하려면 공용 네트워크 액세스를 선택한 가상 네트워크 및 IP 주소에서 사용으로 설정합니다. 예외에서 신뢰할 수 있는 서비스 목록에서 Azure 서비스 허용이 사용하도록 설정되어 있는지 확인합니다.
공용 네트워크 액세스를 사용 안 함으로 설정한 다음 저장을 선택하여 변경 내용을 적용합니다. 신뢰할 수 있는 서비스의 액세스를 허용하는 구성은 여전히 사용하도록 설정되어 있습니다.
Azure Storage에 대한 프라이빗 엔드포인트를 만들려면 네트워킹, 프라이빗 엔드포인트 연결을 선택한 다음 + 프라이빗 엔드포인트를 선택합니다.
- 기본 사항 탭에서 프라이빗 엔드포인트, 네트워크 인터페이스의 고유한 이름을 입력하고 프라이빗 엔드포인트를 만들 지역을 선택합니다.
- 리소스 탭에서 대상 하위 리소스를 Blob으로 설정합니다.
- Virtual Network 탭에서 프라이빗 엔드포인트가 연결하는 Azure Virtual Network를 선택합니다. 이 네트워크는 클라이언트가 연결하는 네트워크와 동일해야 하며 Azure AI Foundry 허브에 프라이빗 엔드포인트 연결이 있어야 합니다.
- DNS 탭에서 DNS 설정의 기본값을 선택합니다.
- 검토 + 만들기 탭으로 계속 진행한 다음 만들기를 선택하여 프라이빗 엔드포인트를 만듭니다.
이전 단계를 반복하여 프라이빗 엔드포인트를 만들 수 있지만 이번에는 대상 하위 리소스를 파일로 설정합니다. 이전 프라이빗 엔드포인트는 Blob Storage에 대한 보안 통신을 허용하며, 이 프라이빗 엔드포인트는 파일 스토리지에 대한 보안 통신을 허용합니다.
스토리지에 대한 로컬(공유 키) 인증을 사용하지 않도록 설정하려면 설정에서구성을 선택합니다. 스토리지 계정 키 액세스 허용을 사용 안 함으로 설정한 다음 저장을 선택하여 변경 내용을 적용합니다. 자세한 내용은 공유 키를 사용하여 권한 부여 방지 문서를 참조하세요.
Azure Key Vault 구성
Azure AI Foundry는 Azure Key Vault를 사용하여 비밀을 안전하게 저장하고 관리합니다. 신뢰할 수 있는 서비스에서 키 자격 증명 모음에 대한 액세스를 허용하려면 다음 단계를 사용합니다.
참고 항목
이러한 단계에서는 Azure AI Foundry Hub를 만들 때 키 자격 증명 모음이 네트워크 격리를 위해 이미 구성되어 있다고 가정합니다.
- Azure Portal에서 Key Vault 리소스를 선택한 다음, 설정, 네트워킹, 방화벽 및 가상 네트워크를 선택합니다.
- 페이지의 예외 섹션에서 신뢰할 수 있는 Microsoft 서비스가 방화벽을 우회하도록 허용이 사용하도록 설정되어있는지 확인합니다.
Microsoft Entra ID를 사용하도록 연결 구성
Azure AI Foundry에서 Azure AI 서비스 및 Azure AI Search로의 연결은 보안 액세스를 위해 Microsoft Entra ID를 사용해야 합니다. 연결은 Azure Portal 대신 Azure AI Foundry에서 만들어집니다.
Important
Azure AI 검색에서 Microsoft Entra ID를 사용하는 것은 현재 미리 보기 기능입니다. 연결에 대한 자세한 내용은 연결 추가 문서를 참조하세요.
- Azure AI Foundry에서 연결을 선택합니다. 리소스에 대한 기존 연결이 있는 경우 연결을 선택한 다음 액세스 세부 정보 섹션에서 연필 아이콘을 선택하여 연결을 업데이트할 수 있습니다. 인증 필드를 Microsoft Entra ID로 설정한 다음 업데이트를 선택합니다.
- 새 연결을 만들려면 + 새 연결을 선택한 다음 리소스 종류를 선택합니다. 리소스를 찾아보거나 필요한 정보를 입력한 다음 인증을 Microsoft Entra ID로 설정합니다. 연결 추가를 선택하여 연결을 만듭니다.
Microsoft Entra ID를 사용하여 연결하려는 각 리소스에 대해 이러한 단계를 반복합니다.
리소스 및 사용자에게 역할 할당
서비스는 연결된 리소스에 액세스하기 위해 서로 권한을 부여해야 합니다. 구성을 수행하는 관리자는 역할 할당을 추가하기 위해 이러한 리소스에 대한 소유자 역할이 있어야 합니다. 다음 표에는 각 리소스에 필요한 역할 할당이 나열되어 있습니다. 담당자 열은 나열된 리소스의 시스템이 할당한 관리 ID를 참조하세요. 리소스 열은 담당자가 액세스해야 하는 리소스를 참조하세요. 예를 들어 Azure AI 검색에는 Azure Storage 계정에 대한 Storage Blob 데이터 기여자 역할을 할당해야 하는 시스템 할당 관리 ID가 있습니다.
역할 할당에 대한 자세한 내용은 자습서: 리소스에 대한 사용자 액세스 권한 부여를 참조 하세요.
리소스 | 역할 | 담당자 | 설명 |
---|---|---|---|
Azure AI 검색 | 검색 인덱스 데이터 기여자 | Azure AI 서비스/OpenAI | 인덱스의 콘텐츠에 대한 읽기-쓰기 권한입니다. 인덱스의 문서 컬렉션을 가져오거나, 새로 고치거나, 쿼리합니다. 수집 및 유추 시나리오에만 사용됩니다. |
Azure AI 검색 | 검색 인덱스 데이터 읽기 권한자 | Azure AI 서비스/OpenAI | 유추 서비스는 인덱스에서 데이터를 쿼리합니다. 유추 시나리오에만 사용됩니다. |
Azure AI 검색 | Search 서비스 기여자 | Azure AI 서비스/OpenAI | 개체 정의(인덱스, 별칭, 동의어 맵, 인덱서, 데이터 원본 및 기술 세트)에 대한 읽기/쓰기 권한입니다. 유추 서비스는 자동 필드 매핑을 위해 인덱스 스키마를 쿼리합니다. 데이터 수집 서비스는 인덱스, 데이터 원본, 기술 집합, 인덱서를 만들고 인덱서 상태를 쿼리합니다. |
Azure AI 서비스/OpenAI | Cognitive Services 기여자 | Azure AI 검색 | 검색을 통해 AI Services 리소스를 만들고 읽고 업데이트할 수 있습니다. |
Azure AI 서비스/OpenAI | Cognitive Services OpenAI 기여자 | Azure AI 검색 | 텍스트를 미세 조정, 배포 및 생성하는 기능을 검색할 수 있도록 허용 |
Azure Storage Account | Storage Blob 데이터 Contributor | Azure AI 검색 | BLOB을 읽고 지식 저장소를 씁니다. |
Azure Storage Account | Storage Blob 데이터 Contributor | Azure AI 서비스/OpenAI | 입력 컨테이너에서 읽고 전처리 결과를 출력 컨테이너에 씁니다. |
Azure Blob Storage 프라이빗 엔드포인트 | 판독기 | Azure AI Foundry 프로젝트 | 네트워크 제한된 환경에서 Blob Storage에 액세스할 수 있는 관리형 네트워크가 있는 Azure AI Foundry 프로젝트의 경우 |
채팅 모델을 위한 Azure OpenAI 리소스 | Cognitive Services OpenAI 사용자 | 모델 포함을 위한 Azure OpenAI 리소스 | [선택 사항] 두 개의 Azure OpenAI 리소스를 사용하여 통신하는 경우에만 필요합니다. |
참고 항목
Cognitive Services OpenAI 사용자 역할은 두 개의 Azure OpenAI 리소스(하나는 채팅 모델용, 다른 하나는 포함 모델용)를 사용하는 경우에만 필요합니다. 해당 사항이 적용되는 경우 신뢰할 수 있는 서비스를 사용하도록 설정하고 포함 모델 Azure OpenAI 리소스에 대한 연결에서 Entra ID가 사용하도록 설정되어 있는지 확인합니다.
개발자에게 역할 할당
개발자가 이러한 리소스를 사용하여 애플리케이션을 빌드할 수 있도록 하려면 Microsoft Entra ID의 개발자 ID에 다음 역할을 할당합니다. 예를 들어 Azure AI Search 리소스에 대한 개발자의 Microsoft Entra ID에 Search Services 기여자 역할을 할당합니다.
역할 할당에 대한 자세한 내용은 자습서: 리소스에 대한 사용자 액세스 권한 부여를 참조 하세요.
리소스 | 역할 | 담당자 | 설명 |
---|---|---|---|
Azure AI 검색 | Search Services 기여자 | 개발자의 Microsoft Entra ID | Azure OpenAI Studio의 인덱스를 나열하려면 API 키를 나열합니다. |
Azure AI 검색 | 검색 인덱스 데이터 기여자 | 개발자의 Microsoft Entra ID | 인덱싱 시나리오에 필요합니다. |
Azure AI 서비스/OpenAI | Cognitive Services OpenAI 기여자 | 개발자의 Microsoft Entra ID | Azure OpenAI Studio에서 공용 수집 API를 호출합니다. |
Azure AI 서비스/OpenAI | Cognitive Services 기여자 | 개발자의 Microsoft Entra ID | Azure OpenAI Studio의 API 키를 나열합니다. |
Azure AI 서비스/OpenAI | 기여자 | 개발자의 Microsoft Entra ID | 컨트롤 플레인에 대한 호출을 허용합니다. |
Azure Storage Account | 기여자 | 개발자의 Microsoft Entra ID | Azure OpenAI Studio에서 파일을 업로드하려면 계정 SAS를 나열합니다. |
Azure Storage Account | Storage Blob 데이터 Contributor | 개발자의 Microsoft Entra ID | 개발자가 Blob Storage를 읽고 쓰는 데 필요합니다. |
Azure Storage Account | 스토리지 파일 데이터 권한이 있는 기여자 | 개발자의 Microsoft Entra ID | 프롬프트 흐름 데이터를 위해 스토리지의 파일 공유에 액세스하는 데 필요합니다. |
개발자가 웹앱을 배포해야 하는 리소스 그룹 또는 Azure 구독 | 기여자 | 개발자의 Microsoft Entra ID | 개발자의 Azure 구독에 웹앱을 배포합니다. |
AI Foundry 포털에서 데이터 사용
이제 AI Foundry에 추가하는 데이터는 Azure AI Foundry 허브 및 프로젝트에서 제공하는 격리된 네트워크에 보호됩니다. 데이터 사용 예제를 보려면 질문 및 답변 Copilot 작성 자습서를 참조하세요.
웹앱 배포
웹앱 배포 구성에 대한 자세한 내용은 데이터에 대한 Azure OpenAI 사용 문서를 참조하세요.
제한 사항
Azure AI Foundry 포털에서 채팅 플레이그라운드를 사용하는 경우 Studio 내의 다른 탭으로 이동하지 마세요. 다른 탭으로 이동하는 경우 채팅 탭으로 돌아가면 데이터를 제거한 다음 다시 추가해야 합니다.