Azure AI Search는 기본적으로 키 기반 인증을 사용하지만 Azure RBAC(역할 기반 액세스 제어)를 통해 모든 컨트롤 플레인 및 데이터 평면 작업에 대한 Microsoft Entra ID 인증 및 권한 부여를 완벽하게 지원합니다.
Azure AI Search에 대한 권한 있는 데이터 평면 액세스에 대한 역할을 할당하려면 먼저 검색 서비스에서 역할 기반 액세스 제어를 사용하도록 설정해야 합니다. 서비스 관리(컨트롤 플레인)에 대한 역할이 기본 제공되며 사용하거나 사용하지 않도록 설정할 수 없습니다.
참고 항목
데이터 평면은 인덱싱 또는 쿼리와 같은 검색 서비스 엔드포인트에 대한 작업 또는 Search Service REST API 또는 동등한 Azure SDK 클라이언트 라이브러리에 지정된 다른 작업을 나타냅니다. 컨트롤 플레 인은 검색 서비스 만들기 또는 구성과 같은 Azure 리소스 관리를 나타냅니다.
요청은 API 키 또는 역할 기반 액세스 제어를 사용하면 유효하지만 동일한 요청에 둘 다 제공하는 경우 API 키가 사용됩니다.
관리자로서 역할 전용 접근 방식을 선택하는 경우 사용자 계정에 데이터 평면 역할을 할당하여 Azure Portal에서 데이터 평면 작업에 대한 전체 관리 액세스를 복원합니다. 역할에는 Search Service 기여자, 검색 인덱스 데이터 기여자 및 검색 인덱스 데이터 읽기 권한자 등이 있습니다. 동등한 액세스 권한을 원하는 경우 처음 두 역할이 필요합니다.
간혹 역할 할당이 적용되는 데 5~10분이 걸릴 수 있습니다. 이 경우 데이터 평면 작업에 사용되는 Azure Portal 페이지에 다음 메시지가 표시됩니다.
역할만 지원하려면 다음 스크립트를 실행합니다.
az search service update `
--name YOUR-SEARCH-SERVICE-NAME `
--resource-group YOUR-RESOURCE-GROUP-NAME `
--disable-local-auth
또는 다음 스크립트를 실행하여 키와 역할을 모두 지원합니다.
az search service update `
--name YOUR-SEARCH-SERVICE-NAME `
--resource-group YOUR-RESOURCE-GROUP-NAME `
--aad-auth-failure-mode http401WithBearerChallenge `
--auth-options aadOrApiKey
키 인증을 다시 사용하도록 설정하려면 “disableLocalAuth”를 false로 설정합니다. Search Service는 요청 시 자동으로 API 키 수락을 다시 시작합니다(지정된 것으로 가정).
역할 기반 액세스 제어의 효과
Azure 역할 기반 액세스 제어를 사용하면 일부 요청의 대기 시간이 증가할 수 있습니다. 서비스 리소스(인덱스, 인덱서, 기술 세트 등)와 서비스 주체의 각 고유한 조합은 권한 부여 검사를 트리거합니다. 이러한 권한 부여 검사는 요청마다 최대 200밀리초의 대기 시간을 추가할 수 있습니다.
요청이 다양한 서비스 주체에서 발생하는 드문 경우이며, 모든 다른 서비스 리소스(인덱스, 인덱서 등)를 대상으로 하므로 권한 부여 검사로 인해 제한이 발생할 수 있습니다. 제한은 검색 서비스 리소스와 서비스 주체의 고유한 조합이 1초 이내에 사용된 경우에만 발생합니다.