Rychlý start: Připojení bez klíčů
Nakonfigurujte Azure AI Search tak, aby používalo ověřování Microsoft Entra ID a řízení přístupu na základě role (RBAC), abyste se mohli připojit z místního systému bez klíčů rozhraní API, pomocí poznámkových bloků Jupyter nebo klienta REST pro interakci s vyhledávací službou.
Pokud jste prošli dalšími rychlými starty, které se připojují pomocí klíčů rozhraní API, v tomto rychlém startu se dozvíte, jak přepnout na ověřování na základě identity, abyste se v ukázkového kódu vyhnuli pevně zakódovaným klíčům.
Požadavky
Předplatné Azure. Vytvořte si ho zdarma.
Azure AI Search, libovolná oblast nebo úroveň, ale k konfiguraci spravované identity pro Azure AI Search potřebujete Basic nebo vyšší.
Nástroj příkazového řádku, jako je PowerShell nebo Bash a Azure CLI.
Krok 1: Získání ID předplatného a tenanta Azure
Tento krok potřebujete, pokud máte více než jedno předplatné nebo tenanta.
Získejte předplatné Azure a tenanta pro vaši vyhledávací službu:
Přihlaste se k webu Azure Portal a přejděte do vyhledávací služby.
Všimněte si názvu a ID předplatného v části Přehled>Essentials.
Teď vyberte název předplatného, aby se na další stránce zobrazila nadřazená skupina pro správu (ID tenanta).
Teď už víte, které předplatné a tenant Azure AI Search se nachází. Přepněte na místní zařízení a příkazový řádek a identifikujte aktivní předplatné a tenanta Azure na vašem zařízení:
az account show
Pokud se aktivní předplatné a tenant liší od informací získaných v předchozím kroku, změňte ID předplatného. Pak se přihlaste k Azure pomocí ID tenanta, které jste našli v předchozím kroku:
az account set --subscription <your-subscription-id> az login --tenant <your-tenant-id>
Krok 2: Konfigurace Azure AI Search pro RBAC
Přihlaste se k webu Azure Portal a přejděte k Search Azure AI.
Povolení řízení přístupu na základě role (RBAC):
Přejděte na Klíče nastavení>.
Pokud potřebujete čas převést klienty na řízení přístupu na základě role, zvolte řízení na základě rolí nebo obojí .
Pokud zvolíte řízení na základě role, ujistěte se, že jste přiřadili všechny role pojmenované v další instrukci, nebo nebudete moct provádět úkoly na webu Azure Portal nebo prostřednictvím místního klienta.
Přiřazení rolí na webu Azure Portal:
Přejděte do vyhledávací služby.
V levém navigačním podokně vyberte Řízení přístupu (IAM ).
Vyberte + Přidat>Přidat přiřazení role.
Zvolte roli (Přispěvatel vyhledávací služby, Přispěvatel dat indexu vyhledávání, Čtenář dat indexu vyhledávání) a přiřaďte ji identitě uživatele nebo skupiny Microsoft Entra.
Opakujte pro každou roli.
K vytváření, načítání a dotazování objektů ve službě Azure AI Search potřebujete Přispěvatel dat vyhledávací služby a Přispěvatel dat indexu vyhledávání. Další informace najdete v tématu Připojení pomocí rolí.
Tip
Pokud později dojde k chybám selhání ověřování, znovu zkontrolujte nastavení v této části. Na úrovni předplatného nebo skupiny prostředků můžou existovat zásady, které přepíší všechna zadaná nastavení rozhraní API.
Krok 3: Připojení z místního systému
Pokud jste se ještě nepřihlásili k Azure:
az login
Použití poznámkových bloků Pythonu a Jupyteru
Nainstalujte knihovny Azure Identity a Azure Search:
pip install azure-identity azure-search-documents
Ověřování a připojení ke službě Azure AI Search:
from azure.identity import DefaultAzureCredential from azure.search.documents import SearchClient service_endpoint = "https://<your-search-service-name>.search.windows.net" index_name = "hotels-sample-index" credential = DefaultAzureCredential() client = SearchClient(endpoint=service_endpoint, index_name=index_name, credential=credential) results = client.search("beach access") for result in results: print(result)
Použití klienta REST
Několik rychlých startů a kurzů používá klienta REST, jako je Visual Studio Code s rozšířením REST. Tady je postup, jak se z editoru Visual Studio Code připojit k Azure AI Search.
Měli byste mít soubor .rest
podobný .http
souboru popsanému v rychlém startu: Vektorové vyhledávání.
Vygenerujte přístupový token.
az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
V horní části souboru nastavte proměnné používané pro připojení, vložení celého koncového bodu vyhledávací služby a přístupového tokenu, který jste získali v předchozím kroku. Proměnné by měly vypadat podobně jako v následujícím příkladu. Všimněte si, že hodnoty nejsou uzavřené v uvozovkách.
@baseUrl = https://contoso.search.search.windows.net @token = <a long GUID>
Zadejte autorizační nosný token ve volání REST:
POST https://{{baseUrl}}/indexes/hotels-sample-index/docs/search?api-version=2024-07-01 HTTP/1.1 Content-type: application/json Authorization: Bearer {{token}} { "queryType": "simple", "search": "beach access", "filter": "", "select": "HotelName,Description,Category,Tags", "count": true }
Řešení chyb 401
Zkontrolujte aktivní předplatné a tenanta (
az account show
) a ujistěte se, že je platné pro vaši vyhledávací službu.Na webu Azure Portal zkontrolujte možnosti Klíče nastavení>vyhledávací služby a ověřte, že je služba nakonfigurovaná pro řízení přístupu na základě role nebo obojí.
Pouze pro klienta REST: Zkontrolujte token a koncový bod zadaný v souboru a ujistěte se, že neexistují žádné okolní uvozovky ani nadbytečné mezery.
Pokud všechny ostatní selže, restartujte zařízení, aby se odebraly všechny tokeny uložené v mezipaměti, a pak opakujte kroky v této části počínaje az login
.
Další konfigurace
Konfigurace spravované identity pro odchozí připojení:
Nakonfigurujte spravovanou identitu přiřazenou systémem nebo přiřazenou uživatelem pro vaši vyhledávací službu.
Pomocí přiřazení rolí můžete autorizovat přístup k jiným prostředkům Azure.
Konfigurace přístupu k síti:
- Nastavte příchozí pravidla tak, aby přijímala nebo odmítala požadavky na službu Azure AI Search na základě IP adresy.