이 빠른 시작에서는 RBAC(역할 기반 액세스 제어) 및 Microsoft Entra ID를 사용하여 Azure AI Search 서비스에 대한 키 없는 연결을 설정합니다. 그런 다음 Visual Studio Code에서 Python을 사용하여 서비스와 상호 작용합니다.
키 없는 연결은 세분화된 권한 및 ID 기반 인증을 통해 향상된 보안을 제공합니다. 하드 코딩된 API 키는 권장하지 않지만 원하는 경우 키를 사용하여 Azure AI Search에 연결을 참조하세요.
필수 구성 요소
활성 구독이 있는 Azure 계정. 무료로 계정을 만듭니다.
모든 지역 또는 계층의 Azure AI Search 서비스 입니다.
Microsoft Entra ID를 사용한 키 없는 인증을 위한 Azure CLI 입니다.
역할 기반 액세스 구성
이 섹션에서는 Azure AI Search 서비스에서 RBAC를 사용하도록 설정하고 검색 개체를 만들고, 로드하고, 쿼리하는 데 필요한 역할을 할당합니다. 이러한 단계에 대한 자세한 내용은 역할을 사용하여 Azure AI Search에 연결을 참조하세요.
액세스를 구성하려면 다음을 수행합니다.
Azure Portal에 로그인하고 검색 서비스를 선택합니다.
왼쪽 창에서 설정 > 키를 선택합니다.
역할 기반 액세스 제어를 선택하거나 클라이언트를 RBAC로 전환할 시간이 필요한 경우 둘 다 선택합니다.
왼쪽 창에서 액세스 제어(IAM)를 선택합니다.
추가>역할 할당 추가를 선택합니다.
사용자 계정 또는 관리 ID에 Search Service 기여자 역할을 할당합니다.
검색 인덱스 데이터 참가자에 대한 역할 할당을 반복합니다.
서비스 정보 가져오기
이 섹션에서는 Azure AI Search 서비스의 구독 ID 및 엔드포인트를 검색합니다. 구독이 하나만 있는 경우 구독 ID를 건너뛰고 엔드포인트만 검색합니다. 이 빠른 시작의 나머지 섹션에서 이러한 값을 사용합니다.
서비스 정보를 얻으려면 다음을 수행합니다.
Azure Portal에 로그인하고 검색 서비스를 선택합니다.
왼쪽 창에서 개요를 선택합니다.
구독 ID 및 엔드포인트를 기록해 둡니다.
Azure에 로그인
Azure AI Search 서비스에 연결하기 전에 Azure CLI를 사용하여 서비스를 포함하는 구독에 로그인합니다. 이 단계에서는 Microsoft Entra ID 정체성을 설정하고, 다음 섹션에서 요청을 인증하는 데 사용합니다.
로그인 방법:
로컬 시스템에서 명령줄 도구를 엽니다.
Azure에 로그인합니다. 구독이 여러 개 있는 경우 서비스 정보 가져오기에서 가져온 ID를 선택합니다.
az login
Azure AI 검색에 연결
비고
이 섹션에서는 키 없는 연결에 대한 기본 Python 패턴을 보여 줍니다. 포괄적인 지침은 빠른 시작 : Azure AI Search에서 에이전트 검색 실행과 같은 특정 빠른 시작 또는 자습서를 참조하세요.
Visual Studio Code에서 Python Notebook을 사용하여 Azure AI Search 서비스에 요청을 보낼 수 있습니다. 요청 인증의 DefaultAzureCredential
경우 Azure ID 라이브러리의 클래스를 사용합니다.
Python을 사용하여 연결하려면 다음을 수행합니다.
로컬 시스템에서 Visual Studio Code를 엽니다.
.ipynb
파일을 만듭니다.코드 셀을 생성하여
azure-identity
및azure-search-documents
라이브러리를 설치합니다.pip install azure-identity azure-search-documents
다른 코드 셀을 만들어서 검색 서비스를 인증하고 연결합니다.
from azure.identity import DefaultAzureCredential from azure.search.documents.indexes import SearchIndexClient service_endpoint = "PUT-YOUR-SEARCH-SERVICE-ENDPOINT-HERE" credential = DefaultAzureCredential() client = SearchIndexClient(endpoint=service_endpoint, credential=credential) # List existing indexes indexes = client.list_indexes() for index in indexes: index_dict = index.as_dict() print(json.dumps(index_dict, indent=2))
서비스 정보 가져오기에서 얻은 값으로 설정합니다
service_endpoint
.모두 실행을 선택하여 두 코드 셀을 실행합니다.
출력은 검색 서비스의 기존 인덱스(있는 경우)를 나열하여 성공적인 연결을 나타냅니다.
401 오류 문제 해결
401 오류가 발생하는 경우 다음 문제 해결 단계를 수행합니다.
역할 기반 액세스 구성을 다시 검토합니다. 검색 서비스에 역할 기반 액세스 제어 또는 둘 다 사용하도록 설정되어 있어야 합니다. 구독 또는 리소스 그룹 수준의 정책도 역할 할당을 재정의할 수 있습니다.
Azure에 다시 로그인합니다. 검색 서비스를 포함하는 구독에 로그인해야 합니다.
엔드포인트 변수에 주변 따옴표가 있는지 확인합니다.
다른 모든 항목이 실패하면 디바이스를 다시 시작하여 캐시된 토큰을 제거한 다음 , Azure에 로그인하기 시작하여 이 빠른 시작의 단계를 반복합니다.
이 빠른 시작에서는 RBAC(역할 기반 액세스 제어) 및 Microsoft Entra ID를 사용하여 Azure AI Search 서비스에 대한 키 없는 연결을 설정합니다. 그런 다음 Visual Studio Code에서 REST를 사용하여 서비스와 상호 작용합니다.
키 없는 연결은 세분화된 권한 및 ID 기반 인증을 통해 향상된 보안을 제공합니다. 하드 코딩된 API 키는 권장하지 않지만 원하는 경우 키를 사용하여 Azure AI Search에 연결을 참조하세요.
필수 구성 요소
활성 구독이 있는 Azure 계정. 무료로 계정을 만듭니다.
모든 지역 또는 계층의 Azure AI Search 서비스 입니다.
Microsoft Entra ID를 사용한 키 없는 인증을 위한 Azure CLI 입니다.
REST 클라이언트 확장이 있는 Visual Studio Code입니다.
역할 기반 액세스 구성
이 섹션에서는 Azure AI Search 서비스에서 RBAC를 사용하도록 설정하고 검색 개체를 만들고, 로드하고, 쿼리하는 데 필요한 역할을 할당합니다. 이러한 단계에 대한 자세한 내용은 역할을 사용하여 Azure AI Search에 연결을 참조하세요.
액세스를 구성하려면 다음을 수행합니다.
Azure Portal에 로그인하고 검색 서비스를 선택합니다.
왼쪽 창에서 설정 > 키를 선택합니다.
역할 기반 액세스 제어를 선택하거나 클라이언트를 RBAC로 전환할 시간이 필요한 경우 둘 다 선택합니다.
왼쪽 창에서 액세스 제어(IAM)를 선택합니다.
추가>역할 할당 추가를 선택합니다.
사용자 계정 또는 관리 ID에 Search Service 기여자 역할을 할당합니다.
검색 인덱스 데이터 참가자에 대한 역할 할당을 반복합니다.
서비스 정보 가져오기
이 섹션에서는 Azure AI Search 서비스의 구독 ID 및 엔드포인트를 검색합니다. 구독이 하나만 있는 경우 구독 ID를 건너뛰고 엔드포인트만 검색합니다. 이 빠른 시작의 나머지 섹션에서 이러한 값을 사용합니다.
서비스 정보를 얻으려면 다음을 수행합니다.
Azure Portal에 로그인하고 검색 서비스를 선택합니다.
왼쪽 창에서 개요를 선택합니다.
구독 ID 및 엔드포인트를 기록해 둡니다.
토큰 가져오기
Azure AI Search 서비스에 연결하기 전에 Azure CLI를 사용하여 서비스를 포함하는 구독에 로그인하고 Microsoft Entra ID 토큰을 생성합니다. 이 토큰을 사용하여 다음 섹션에서 요청을 인증합니다.
토큰을 가져오려면 다음을 수행합니다.
로컬 시스템에서 명령줄 도구를 엽니다.
Azure에 로그인합니다. 구독이 여러 개 있는 경우 서비스 정보 가져오기에서 가져온 ID를 선택합니다.
az login
액세스 토큰을 생성합니다.
az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
토큰 출력을 기록해 둡다.
Azure AI 검색에 연결
비고
이 섹션에서는 키 없는 연결에 대한 기본 REST 패턴을 보여 줍니다. 포괄적인 지침은 빠른 시작 : Azure AI Search에서 에이전트 검색 실행과 같은 특정 빠른 시작 또는 자습서를 참조하세요.
Visual Studio Code의 REST 클라이언트 확장을 사용하여 Azure AI Search 서비스에 요청을 보낼 수 있습니다. 요청 인증의 경우 이전에 생성한 Authorization
Microsoft Entra ID 토큰이 포함된 헤더를 포함합니다.
REST를 사용하여 연결하려면 다음을 수행합니다.
로컬 시스템에서 Visual Studio Code를 엽니다.
.rest
또는.http
파일을 만드십시오.다음 자리 표시자와 요청을 파일에 붙여 넣으세요.
@baseUrl = PUT-YOUR-SEARCH-SERVICE-ENDPOINT-HERE @token = PUT-YOUR-PERSONAL-IDENTITY-TOKEN-HERE ### List existing indexes GET {{baseUrl}}/indexes?api-version=2024-07-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}}
@baseUrl
를 서비스 정보 가져오기에서 얻은 값으로 바꿉니다.토큰 가져오기에서 얻은 값으로
@token
바꾸십시오.아래에서
### List existing indexes
요청 보내기를 선택합니다.성공적으로 검색 서비스에 연결되었음을 나타내는
HTTP/1.1 200 OK
응답을 받아야 합니다.
401 오류 문제 해결
401 오류가 발생하는 경우 다음 문제 해결 단계를 수행합니다.
역할 기반 액세스 구성을 다시 검토합니다. 검색 서비스에 역할 기반 액세스 제어 또는 둘 다 사용하도록 설정되어 있어야 합니다. 구독 또는 리소스 그룹 수준의 정책도 역할 할당을 재정의할 수 있습니다.
Get token을 다시 확인하세요. 검색 서비스를 포함하는 구독에 로그인해야 합니다.
엔드포인트 및 토큰 변수에 주변 따옴표 또는 추가 공백이 없는지 확인합니다.
토큰에 요청 헤더에 기호가
@
없는지 확인합니다. 예를 들어 변수가@token
있는 경우 요청의 참조는 이어야{{token}}
합니다.다른 모든 항목이 실패하면 디바이스를 다시 시작하여 캐시된 토큰을 제거한 다음 토큰 가져오기부터 시작하여 이 빠른 시작의 단계를 반복합니다.